a string pra ADS local, compatÃvel com SIXCDX (fonte VB6):
Case "ADSLOCAL"
cString = "Provider=Advantage.OLEDB.1;" & _
"Mode=Share Deny None;" & _
"Show Deleted Records in DBF Tables with Advantage=False;" & _
"Data Source=" & Sistema.PathDefault & ";Advantage Server Type=ADS_Local_Server;" & _
"TableType=ADS_CDX;Security Mode=ADS_IGNORERIGHTS;" & _
"Lock Mode=Compatible;" & _
"Use NULL values in DBF Tables with Advantage=True;" & _
"Exclusive=No;Deleted=No;"
demorar tudo isso, talvez neste comando que eu usava no aplicativo de transportes.
Totais de tudo, vindos de DBFs diferentes, contendo movimentação de vários anos.
( Fonte VB6 mas não muito diferente do Harbour).
cSql = "select " & _
"cnDatEmi DtEmissao, " & _
"count(*) CtrcQtd, " & _
"Sum(cnPeso) CtrcPeso, " & vbCrLf & _
"Sum(cnValor) CtrcValor, " & _
"Sum(cnVlMerc) ValorMerc, " & _
"0 CFQtd, " & vbCrLf & _
"0 CFValor, " & _
"0 ColetaQtd, " & _
"0 ColetaVlr, " & vbCrLf & _
"0 ColVlMerc " & vbCrLf & _
"into lixo " & _
"From gtconhe group by DtEmissao "
cSql = cSql & _
"union all " & vbCrLf & _
"select cfDatEmi DtEmissao, " & _
"0 CtrcQtd, " & _
"0 CtrcPeso, " & vbCrLf & _
"0 CtrcValor, " & _
"0 ValorMerc, " & _
"count(*) CFQtd, " & vbCrLf & _
"Sum(CFValor) CfValor, " & _
"0 ColetaQtd, " & _
"0 ColetaVlr, " & vbCrLf & _
"0 ColVlMerc " & vbCrLf & _
"From gtcontr group by DtEmissao "
cSql = cSql & vbCrLf & _
"union all " & _
"Select " & _
"ceDatEmi DtEmissao, " & _
"0 CtrcQtd, " & vbCrLf & _
"0 CtrcPeso, " & _
"0 CtrcValor, " & _
"0 ValorMerc, " & vbCrLf & _
"0 CFQtd, " & _
"0 CFValor, " & _
"Count(*) ColetaQtd, " & vbCrLf & _
"Sum(ceValFat) ColetaVlr, " & _
"Sum(jpnftr1.ntValor) ColVlMerc " & vbCrLf & _
"from jpordem " & _
"left join jpnftr1 on jpordem.ceNumLan = jpnftr1.ntColeta " & _
"group by DtEmissao " & vbCrLf
SET Rs = cnMySql.Execute( cSql )