SOMAR VALORES/SUBTRAIR VALORES

XXXANGELSXXX 09/12/2009 19:36:03
#329429
Citação:

RCMRO escreveu:
Então faz tudo via VB mesmo...

Dim dtTemp as String
dtTemp = format(Now,[Ô]yyyymmddhhmmssms[Ô]
cn.execute [Ô]CREATE TABLE Tmp[Ô] & dtTemp & [Ô](CliCodigo TEXT(10), Valor CURRENCY)
cn.execute [Ô]INSERT INTO Tmp[Ô] & dtTemp & [Ô] (CliCodigo, Valor) SELECT CODCLIENTE, SUM(VALORMANUT) FROM AUXCLIENTES GROUP BY CODCLIENTE)[Ô]
cn.execute [Ô]UPDATE CLI SET CLICADVALOR = ACU.VALOR FROM CADCLIENTES CLI INNER JOIN Tmp[Ô] & dtTemp & [Ô] ACU ON ACU.CliCodigo = CLI.CliCodigo[Ô]
cn.execute [Ô]DROP TABLE Tmp[Ô] & dtTemp

Amigo, adaptando para meu codigo aqui.. ficou mais ou menos o seguinte..

Dim dtTemp As String
Dim db As Database
caminho = ReadINI([Ô]Geral[Ô], [Ô]Caminho[Ô], App.Path & [Ô]\Config.ini[Ô])
Set db = DBEngine(0).OpenDatabase(caminho)

dtTemp = Format(Now, [Ô]yyyymmddhhmmssms[Ô])
db.Execute [Ô]CREATE TABLE Tmp[Ô] & dtTemp & [Ô](CliCodigo TEXT(10), Valor CURRENCY)[Ô]
db.Execute [Ô]INSERT INTO Tmp[Ô] & dtTemp & [Ô] (CliCodigo, Valor) SELECT CODCLIENTE, SUM(VALORMANUT)FROM AUXCLIENTES GROUP BY CODCLIENTE[Ô]
db.Execute [Ô]UPDATE CLI SET CLICADVALOR = ACU.VALOR FROM CADCLIENTES CLI INNER JOIN Tmp[Ô] & dtTemp & [Ô] ACU ON ACU.CliCodigo = CLI.CliCodigo[Ô]
db.Execute [Ô]DROP TABLE Tmp[Ô] & dtTemp

Aqui, esta dando o erro da 3075(Operador faltando) na seguinte linha

db.Execute [Ô]UPDATE CLI SET CLICADVALOR = ACU.VALOR FROM CADCLIENTES CLI INNER JOIN Tmp[Ô] & dtTemp & [Ô] ACU ON ACU.CliCodigo = CLI.CliCodigo [Ô]

mandei um print ai..
RCMRO 10/12/2009 16:12:27
#329478
Desculpa, o ACCESS tem uma sintax meia estranha. Ai vai...


db.Execute [Ô]UPDATE CADCLIENTES AS CLI INNER JOIN Tmp[Ô] & dtTemp & [Ô] AS ACU ON CLI.CLICODIGO = ACU.CliCodigo SET CLI.CLICADVALOR = ACU.valor
Página 2 de 2 [12 registro(s)]
Tópico encerrado , respostas não são mais permitidas