COMO FA?O ESSE UPDATE COM INNER JOIN
como vou fazer esse Update?
[Ô]UPDATE PEDIDOS SET PEDIDOS.ENTRADA = parcelas.pagamento FROM cliente INNER JOIN pedidos ON cliente.codigo = pedidos.cod_cliente INNER JOIN parcelas ON parcelas.cod_pedido = pedidos.cod_pedido WHERE (pedidos.tipo_pagamento = [ô]à prazo[ô]) AND (pedidos.data_compra = parcelas.pagamento) AND (parcelas.numero = 1)[Ô]
WEBIER,
Não entendi... você quer disparar o UPDATE no VB6 ou tem algum problema no UPDATE?
Se for para disparar dentro do VB6, basta usar um [Ô]Command[Ô]:
[][ô]s,
Tunusat.
Não entendi... você quer disparar o UPDATE no VB6 ou tem algum problema no UPDATE?
Se for para disparar dentro do VB6, basta usar um [Ô]Command[Ô]:
Option Explicit
Dim conConexao As ADODB.Connection
Dim rstBancoDados As ADODB.Recordset
Dim comCommand As ADODB.Command
Public Sub CommandText(strTexto As String)
[ô]rotina que seta os parâmetros do objeto command. Ela recebe o texto do command e o executa
Set comCommand = New Command
With comCommand
.ActiveConnection = SUA_CONEXAO
.CommandType = adCmdText
.CommandText = strTexto
.Execute
End With
Set comCommand = Nothing
End Sub
[][ô]s,
Tunusat.
A parte de conexão está funcionando perfeitamente....
A questão é fazer o UPDADE com essas INNER JOIN e essas WHERE....
Queria saber o que fiz de errado, pois dar uma msg de erro na linha da consulta...
A questão é fazer o UPDADE com essas INNER JOIN e essas WHERE....
Queria saber o que fiz de errado, pois dar uma msg de erro na linha da consulta...
Tenta assim:
[Ô]UPDATE PEDIDOS SET PEDIDOS.ENTRADA = parcelas.pagamento FROM (cliente INNER JOIN pedidos ON cliente.codigo = pedidos.cod_cliente (INNER JOIN parcelas ON parcelas.cod_pedido = pedidos.cod_pedido)) WHERE (pedidos.tipo_pagamento = [ô]à prazo[ô]) AND (pedidos.data_compra = parcelas.pagamento) AND (parcelas.numero = 1)[Ô]
Deu o mesmo erro!
Qual o erro que está sendo retornado?
Cara Primeiro vem o comando UPDATE e logo em seguida o INNER JOIN. Vc está já setando o valor para um campo antes de informar o JOIN.
Corretamente seria algo como....
UPDATE tabela1 INNER JOIN tabela2 on tabela1.campochave = tabela2.campochave set tabela1.campoa = [Ô]b[Ô], tabela2.campoa=[Ô]c[Ô]
WHERE tabela1.campoxxxxx=[Ô]xxxxxxxxxxx[Ô];
Corretamente seria algo como....
UPDATE tabela1 INNER JOIN tabela2 on tabela1.campochave = tabela2.campochave set tabela1.campoa = [Ô]b[Ô], tabela2.campoa=[Ô]c[Ô]
WHERE tabela1.campoxxxxx=[Ô]xxxxxxxxxxx[Ô];
Veja ae como ficaria o seu update.
UPDATE PEDIDOS
INNER JOIN CLIENTE ON CLIENTE.CODIGO = PEDIDOS.COD_CLIENTE
INNER JOIN PARCELAS ON PARCELAS.COD_PEDIDO = PEDIDOS.COD_PEDIDO
SET PEDIDOS.ENTRADA = parcelas.pagamento
WHERE PEDIDOS.TIPO_PAGAEMNTO = [ô]À PRAZO[ô]
AND PEDIDOS.DATA_COMPRA = PARCELAS.PAGAMENTO
AND PARCELAS.NUMERO = 1;
Ajusta ai que funciona.
UPDATE PEDIDOS
INNER JOIN CLIENTE ON CLIENTE.CODIGO = PEDIDOS.COD_CLIENTE
INNER JOIN PARCELAS ON PARCELAS.COD_PEDIDO = PEDIDOS.COD_PEDIDO
SET PEDIDOS.ENTRADA = parcelas.pagamento
WHERE PEDIDOS.TIPO_PAGAEMNTO = [ô]À PRAZO[ô]
AND PEDIDOS.DATA_COMPRA = PARCELAS.PAGAMENTO
AND PARCELAS.NUMERO = 1;
Ajusta ai que funciona.
Deu o mesmo erro!
Incorrect syntax near the keyword [ô]INNER[ô]
Ai para facilitar ainda mais, tirei a tabela CLIENTE da SQL, ficando assim
Verifiquei os nomes das tabelas e os nomes dos campos... estão corretos!
Deu o mesmo erro!
Incorrect syntax near the keyword [ô]INNER[ô]
Ai para facilitar ainda mais, tirei a tabela CLIENTE da SQL, ficando assim
UPDATE PEDIDOS INNER JOIN PARCELAS ON PEDIDOS.COD_PEDIDO = PARCELAS.COD_PEDIDO SET PEDIDOS.ENTRADA = parcelas.pagamento WHERE PEDIDOS.TIPO_PAGAEMNTO = [ô]À PRAZO[ô] AND PEDIDOS.DATA_COMPRA = PARCELAS.PAGAMENTO AND PARCELAS.NUMERO = 1
Verifiquei os nomes das tabelas e os nomes dos campos... estão corretos!
Deu o mesmo erro!
Que banco que é ?
Se for MySQL é da forma anterior mesmo.
Se for SQL SERVER tenta assim.
UPDATE PEDIDOS
SET PEDIDOS.ENTRADA = PARCELAS.PAGAMENTO
FROM PEDIDOS
INNER JOIN PARCELAS
ON PEDIDOS.COD_PEDIDO = PARCELAS.COD_PEDIDO
WHERE
PEDIDOS.TIPO_PAGAMENTO = [ô]À PRAZO[ô] AND PEDIDOS.DATA_COMPRA = PARCELAS.PAGAMENTO AND PARCELAS.NUMERO = 1
Tópico encerrado , respostas não são mais permitidas