ERRO: MULTIPLE-STEP OLE DB OPERATION GENERATED

FAUZE 31/08/2012 14:54:12
#409024
Olá pessoal,
Estou com esse erro quando faço um update:
Erro: Multiple-step OLE DB operation generated errors. Check each OLE DB status value, if available. No work was done.

Essa consulta não permite atualizações?
        Sql = [Ô]SELECT NF_EItens.id_nf_e, NF_EItens.no_item, NF_EItens.cod_bar, NF_EItens.qde, NF_EItens.p_venda, NF_EItens.p_custo, NF_EItens.ncm, NF_EItens.cfop, NF_EItens.ipi, NF_EItens.icms, NF_EItens.est_anterior, NF_EItens.est_atual, [Ô]
Sql = Sql & [Ô]Produtos.cod_bar, Produtos.descricao, Produtos.unidade, Produtos.p_custo as p_custo_Produtos, Produtos.p_fab, Produtos.p_venda as p_venda_produtos, Produtos.est_atual as est_atual_produtos, Produtos.qde_compra, Produtos.dta_compra, Produtos.ncm as ncm_produto, Produtos.fornecedor, [Ô]
Sql = Sql & [Ô]NF_E.id_nf_e [Ô]
Sql = Sql & [Ô]FROM NF_EItens, NF_E, Produtos [Ô]
Sql = Sql & [Ô]WHERE NF_EItens.id_nf_e = NF_E.id_nf_e and NF_EItens.cod_bar = Produtos.cod_bar and NF_E.id_nf_e = [Ô] & vid_nf_e

.Open Sql, cnn, adOpenKeyset, adLockOptimistic
MARCELO.TREZE 31/08/2012 15:18:10
#409026
fauze se vc não usar um Join nesta query não vai funcionar.

exemplo


Sql = [Ô]SELECT NF_EItens.id_nf_e, NF_EItens.no_item, NF_EItens.cod_bar, NF_EItens.qde, NF_EItens.p_venda, NF_EItens.p_custo, NF_EItens.ncm, NF_EItens.cfop, NF_EItens.ipi, NF_EItens.icms, NF_EItens.est_anterior, NF_EItens.est_atual, [Ô]
Sql = Sql & [Ô]Produtos.cod_bar, Produtos.descricao, Produtos.unidade, Produtos.p_custo as p_custo_Produtos, Produtos.p_fab, Produtos.p_venda as p_venda_produtos, Produtos.est_atual as est_atual_produtos, Produtos.qde_compra, Produtos.dta_compra, Produtos.ncm as ncm_produto, Produtos.fornecedor, [Ô]
Sql = Sql & [Ô]NF_E.id_nf_e [Ô]
Sql = Sql & [Ô]FROM NF_EItens INNER JOIN NF_E( INNER JOIN Produtos ON NF_EItens.id_nf_e = NF_E.id_nf_e ) ON[Ô]
Sql = Sql & [Ô]NF_EItens.cod_bar = Produtos.cod_bar WHERE NF_E.id_nf_e = [Ô] & vid_nf_e

.Open Sql, cnn, adOpenKeyset, adLockOptimistic


tenta ai

FAUZE 31/08/2012 16:52:03
#409028
Marcelo,
Deu erro de sintaxe na cláusula FROM, vou postar o código completo, preciso atualizar as tabelas Produtos e NF_eitens:
     With rstProdutos
Sql = [Ô]SELECT NF_EItens.id_nf_e, NF_EItens.no_item, NF_EItens.cod_bar, NF_EItens.qde, NF_EItens.p_venda, NF_EItens.p_custo, NF_EItens.ncm, NF_EItens.cfop, NF_EItens.ipi, NF_EItens.icms, NF_EItens.est_anterior, NF_EItens.est_atual, [Ô]
Sql = Sql & [Ô]Produtos.cod_bar, Produtos.descricao, Produtos.unidade, Produtos.p_custo as p_custo_Produtos, Produtos.p_fab, Produtos.p_venda as p_venda_produtos, Produtos.est_atual as est_atual_produtos, Produtos.qde_compra, Produtos.dta_compra, Produtos.ncm as ncm_produto, Produtos.fornecedor [Ô]
Sql = Sql & [Ô]FROM NF_EItens, Produtos [Ô]
Sql = Sql & [Ô]WHERE NF_EItens.id_nf_e = vid_nf_e and NF_EItens.cod_bar = Produtos.cod_bar[Ô]

.Open Sql, cnn, adOpenKeyset, adLockOptimistic

nConta = 0
Do Until .EOF
nConta = nConta + 1
[ô] Atualiza os itens da nota
rstProdutos!no_item = nConta
rstProdutos!est_anterior = rstProdutos!est_atual
rstProdutos!est_atual = rstProdutos!est_atual_produtos + rstProdutos!qde
[ô] Atualiza o estoque
If rstProdutos!ncm_produto = [Ô][Ô] Then
rstProdutos!ncm_produto = rstProdutos!ncm

End If
rstProdutos!fornecedor = vId_Cliente
rstProdutos!est_atual_produtos = rstProdutos!est_atual_produtos + rstProdutos!qde
rstProdutos!p_custo_Produtos = rstProdutos!p_custo
rstProdutos!p_venda_produtos = rstProdutos!p_venda
rstProdutos!p_fab = rstProdutos!p_custo
rstProdutos!qde_compra = rstProdutos!qde
rstProdutos!dta_compra = dData

.Update

.MoveNext

Loop

.Close
Set rstProdutos = Nothing

End With
Tópico encerrado , respostas não são mais permitidas