à algum tempo necessitava utilizar String SQL em arquivos DBase (DBF), abaixo um exemplo:
txSql := "SELECT cod_imovel, cod_locat, Day(baixa_loca) As Dia "
txSql += "FROM rec2310 "
txSql += "HAVING Dia = 0 "
txSql += "GROUP BY cod_imovel, cod_locat, dia "
txSql += "ORDER BY cod_imovel, cod_locat"
***conexão expressa HEHEHEHE
try
oRs := CreateObject("ADODB.RecordSet")
oRs:CursorLocation := adUseClient
oRs:LockType := adLockOptimistic
oRs:CursorType := adOpenDynamic
oRs:ActiveConnection := "Provider=VFPOLEDB.1;Data Source=c:\bazevani\loc.tmp;Mode=Read;Extended Properties=DBASE IV"
catch
If MsgYesno("Erro no acesso ao OLEDB Visual FoxPro, deseja baixa-lo agora? ","Drive VFP")
ShellExecute( 0, "open", "http://www.bazevani.com.br/atualizacao/VFPOLEDBSetup.msi" )
Else
MsgStop("Operação cancelada, necessário a instalação do drive: OLEDB Visual FoxPro","Erro !")
Endif
While(!Juridico->(Registro()))
End // Faca enquanta travado
return(.T.)
end
try
oRs:Source := txSql
oRs:Open()
catch
MsgStop("Operação cancelada, ocorreu alguem problema na leitura do arquivo rec2310.dbf","Erro !")
While(!Juridico->(Registro()))
End // Faca enquanta travado
return(.T.)
end
Observação: para funcionamento perfeito é necessário instalar o aplicativo:
http://fox.wikis.com/wc.dll?Wiki~VFPOleDBProvider
Bom trabalho.