UPDATE COM MAX

LORDAUTUNM 05/05/2011 09:18:21
#373255
Bom dia estou tentando execultar a seguinte instrucao:

[Ô]UPDATE Produto inner join Baixa On Baixa.campo1=produto.campo0 SET produto.campo12 = max(baixa.campo6)[Ô]

Porem retora o seguinte erro:

Você tentou executar uma consulta que não inclui a expressão [ô]campo12[ô] especificada como parte de uma função agregada.

Alguem sabe onde esta o erro?
JSFF77 05/05/2011 09:34:36
#373257
Bom dia.

Tente o seguinte código:

UPDATE Produto 
INNER JOIN Baixa ON Produto.campo0 = Baixa.campo1
SET Produto.campo12 = (SELECT MAX(Baixa.campo6) FROM Produto INNER JOIN Baixa ON Produto.campo0 = Baixa.campo1)


ou adapte-o de acordo com a necessidade.

Até mais.


JSFF77
ROBIU 05/05/2011 09:40:31
#373258
Tenta assim:
[Ô]UPDATE Produto inner join Baixa On Baixa.campo1=produto.campo0 SET produto.campo12 = (Select max(campo6) From baixa)[Ô]
LORDAUTUNM 05/05/2011 09:50:34
#373259
Robiu sua instrucao Select max nao tem relacionamento com a tabela produto!

Já a instrucao do JSF possui o relacionamento, porem ja a tinha testado, e retorna o seguinte erro:

A operação deve usar uma consulta atualizável.

Mais alguma dica?
JSFF77 05/05/2011 10:55:08
#373265
Tente assim:

UPDATE Produto
SET Produto.campo12 = (SELECT MAX(Baixa.campo6) FROM Produto INNER JOIN Baixa ON Produto.campo0 = Baixa.campo1)
FROM Produto INNER JOIN Baixa ON Produto.campo0 = Baixa.campo1

Até breve.


JSFF77
ROBIU 05/05/2011 11:02:54
#373266
Faz um select antes

rs.Open [Ô]Select...


Testa se o Rs retorna o valor desejado:

MsgBox Rs(0)


Você pode colocar o valor em uma variável.

Pronto. Agora é só atualizar:
Se Campo12 for numérico:
[Ô]UPDATE Produto inner join Baixa On Baixa.campo1=produto.campo0 SET produto.campo12 =[Ô] & rs(0) & [Ô])[Ô] 

ou
Se Campo12 for String
[Ô]UPDATE Produto inner join Baixa On Baixa.campo1=produto.campo0 SET produto.campo12 =[ô][Ô] & MyVariavel & [Ô][ô])[Ô] [ô]Se passar o valor para uma variável


MARCELO.TREZE 05/05/2011 11:06:26
#373267
tenta assim

[Ô]UPDATE Produto SET campo0 = Baixa.Campo1 FROM Produto INNER JOIN Baixa On produto.campo12 = max(baixa.campo6)[Ô]
LORDAUTUNM 05/05/2011 11:54:16
#373271
Na da Funcionou!!!!!!!!!
MARCELO.TREZE 05/05/2011 12:57:37
#373274
apresentou algum erro? salvou de forma errada? o que aconteceu?
LORDAUTUNM 09/05/2011 10:38:40
#373498
MARCELO-TREZE sua instrução esta incorreta, seria:
UPDATE Produto SET produto.campo12 = max(baixa.campo6) FROM Produto INNER JOIN Baixa On produto.campo0 = baixa.campo1

retorna o seguinte erro: Erro de sintaxe (operador faltando) na expressão de consulta [ô]max(baixa.campo6) FROM Produto INNER JOIN Baixa On produto.campo0 = baixa.campo1

O SB é o acess.
Obrigado pela atenção
Tópico encerrado , respostas não são mais permitidas