COMO EU FACO ESSE UPDATE
só que para saber se a compra foi feita em CARTAO, preciso unir as tabelas PARCELAS com a tabela PEDIDOS...
fiz assim:
Dim sSQL As String
sSQL = [Ô]UPDATE parcelas INNER JOIN pedidos ON parcelas.cod_pedido = pedidos.cod_pedido SET PAGAMENTO = DATA, STATUS = 1 WHERE PEDIDOS.PAGAMENTO = CARTAO[Ô]
dbData.Execute sSQL
só que na hora q executo dae erro no INNER... como se ele nao aceitasse unir para atualizar... como faço isso?
2. Mesmo sem saber a resposta do item 1, experimente substituir a TABELA (no comando [txt-color=#0000f0]UPDATE tabela...[/txt-color]) por uma SUB-CONSULTA que faça uma junção com a tabela de PEDIDOS.
Exemplo:
[txt-color=#e80000]UPDATE
(SELECT PAGAMENTO, STATUS
FROM parcelas
INNER JOIN pedidos
ON parcelas.cod_pedido = pedidos.cod_pedido
WHERE pedidos.pagamento = [ô]CARTAO[ô]) tabela
SET pagamento = [ô]valor[ô], STATUS = [ô]valor[ô][/txt-color]
Veja se funciona e retorne o resultado.
[Ô]Update (SELECT PAGAMENTO, STATUS From Parcelas INNER JOIN pedidos ON parcelas.cod_pedido = pedidos.cod_pedido WHERE pedidos.pagamento = [ô]CARTAO[ô]) parcelas SET pagamento = data, STATUS = 1[Ô]
deu o erro:
-2147217900 Line 1: Incorrect syntax near [ô]([ô].
update parcelas
set
pagamento = data,
status = 1
where
(select pedidos.pagamento where pedidos.cod_pedido = parcelas.cod_pedido) = [ô]CARTAO[ô]
sSql = [Ô]UPDATE Parcelas INNER JOIN Pedidos ON Parcelas.cod_pedido=Pedidos.cod_pedido SET Parcelas.PAGAMENTO = #12/12/2020#, Parcelas.STATUS = [ô]4[ô], Pedidos.PAGAMENTO = [ô][Ô] & [Ô]CARTÂO[Ô] & [Ô][ô] Where parcelas.cod=2;[Ô]
sSql = [Ô]UPDATE Pedidos INNER JOIN Parcelas ON Pedidos.cod_pedido = Parcelas.cod_pedido SET Parcelas.PAGAMENTO = #8/8/2023#, Parcelas.STATUS = [ô]7[ô], Pedidos.PAGAMENTO = [ô][Ô] & [Ô]CARTÂO[Ô] & [Ô][ô] Where Pedidos.PAGAMENTO = [ô][Ô] & [Ô]CARTÂO[Ô] & [Ô][ô];[Ô]
Esta segunda é bom pensar antes de executar.
Grande dor de CABEÇA virá.
sSQL = [Ô]UPDATE parcelas SET PAGAMENTO = DATA, STATUS = 1 FROM parcelas INNER JOIN pedidos ON parcelas.cod_pedido = pedidos.cod_pedido WHERE PEDIDOS.PAGAMENTO = [ô]CARTAO[ô][Ô]
Citação::
Assim, pode ser que dê certo:
update parcelas
set
pagamento = data,
status = 1
where
(select pedidos.pagamento where pedidos.cod_pedido = parcelas.cod_pedido) = [ô]CARTAO[ô]
deu o erro:
-2147217900 The column prefix [ô]pedidos[ô] does not match with a table name or alias name used in the query.
Citação::
Tentei isto nas tabelas com os mesmos campos porém alterado o Cod tabela parcelas.
sSql = [Ô]UPDATE Parcelas INNER JOIN Pedidos ON Parcelas.cod_pedido=Pedidos.cod_pedido SET Parcelas.PAGAMENTO = #12/12/2020#, Parcelas.STATUS = [ô]4[ô], Pedidos.PAGAMENTO = [ô][Ô] & [Ô]CARTÂO[Ô] & [Ô][ô] Where parcelas.cod=2;[Ô]
sSql = [Ô]UPDATE Pedidos INNER JOIN Parcelas ON Pedidos.cod_pedido = Parcelas.cod_pedido SET Parcelas.PAGAMENTO = #8/8/2023#, Parcelas.STATUS = [ô]7[ô], Pedidos.PAGAMENTO = [ô][Ô] & [Ô]CARTÂO[Ô] & [Ô][ô] Where Pedidos.PAGAMENTO = [ô][Ô] & [Ô]CARTÂO[Ô] & [Ô][ô];[Ô]
Esta segunda é bom pensar antes de executar.
Grande dor de CABEÇA virá.
Eu não conseguir entendeu sua ideia....
Citação::
:
Assim, pode ser que dê certo:
update parcelas
set
pagamento = data,
status = 1
where
(select pedidos.pagamento where pedidos.cod_pedido = parcelas.cod_pedido) = [ô]CARTAO[ô]
deu o erro:
-2147217900 The column prefix [ô]pedidos[ô] does not match with a table name or alias name used in the query.
Por acaso você simplesmente copiou e colou?
Tente assim então:
update parcelas
set
pagamento = data,
status = 1
where
(select pedidos.pagamento from pedidos where pedidos.cod_pedido = parcelas.cod_pedido) = [ô]CARTAO[ô]
sSQL = [Ô]UPDATE parcelas SET PAGAMENTO = DATA, STATUS = 1 FROM parcelas INNER JOIN pedidos ON parcelas.cod_pedido = pedidos.cod_pedido WHERE PEDIDOS.PAGAMENTO = [ô]CARTAO[ô][Ô]