ERRO NA GRAVACAO

ADHEL 27/10/2009 15:40:35
#326371
Pessoal boa tarde

Estou aprendendo vb 6
Muitas vezes sou repetetivo,pq tenho dificuldades em entender logo de cara.

Há alguns dias postei como inserir mais dados do mesmo produto no bd.O pessoal me ajudou bastante.
Agora gostaria que o botão gravar soubesse qdo o produto já estava gravado e qdo fosse a primeira vez que o produto é gravado

Sempre que clico no botão gravar aparece essa msg


NUMERO DE VALORES DA CONSULTA E CAMPOS DE DESTINO NÃO COINCIDEM

Então lendo nos livros e apostila q tenho escrevi esses códigos

Declarei vInclusao as Boolean no General

Private Sub txtCódigo_LostFocus()
Dim cnnComando As New ADODB.Command
Dim rs As New ADODB.Recordset



With cnnComando
.ActiveConnection = cnn
.CommandType = adCmdText
.CommandText = [Ô] SELECT * FROM Produtos WHERE Código =[Ô] & txtCódigo.Text & [Ô];[Ô]
Set rs = .Execute
End With

With rs
If .EOF And .BOF Then
LimparDados
[ô]Identifica a operacao como Inclusão:
vInclusao = True

Else
txtNome.Text = !Nome
txtFabricante.Text = !Fabricante
txtQuantidade.Text = !Quantidade
txtPreçoCompra.Text = !PreçoCompra
txtPorcentagem.Text = !porcentagem
txtPreçoVenda.Text = !PreçoVenda
txtObservação.Text = !Observação
vInclusao = False
End If
End With
txtCódigo.Enabled = False

End Sub


Private Sub cmdGravar_Click()
Dim cnnComando As New ADODB.Command

With cnnComando
.ActiveConnection = cnn
.CommandType = adCmdText
If vInclusao Then
.CommandText = [Ô]INSERT INTO Produtos[Ô] & _
[Ô](Código,Nome,Fabicante,PreçoCompra,Porcentagem,PreçoVenda,Quantidade,Observação)[Ô] & _
[Ô] Values(txtCódigo),(txtNome),(txtFabricante),(txtPreçoCompra),(txtPorcentagem),(txtPreçoVenda),(txtquantidade),(txtObservação);[Ô]
Else
.CommandText = [Ô]Update Produtos set[Ô] & _
[Ô]Nome=[ô][Ô] & txtNome.Text & [Ô][ô],[Ô] & _
[Ô]Fabricante=[ô][Ô] & txtFabricante.Text & [Ô][ô],[Ô] & _
[Ô]PreçoCompra=[ô][Ô] & txtPreçoCompra.Text & [Ô][ô],[Ô] & _
[Ô]Porcentagem=[ô][Ô] & txtPorcentagem.Text & [Ô][ô],[Ô] & _
[Ô]PreçoVenda=[ô][Ô] & txtPreçoVenda.Text & [Ô][ô],[Ô] & _
[Ô]Quantidade=[ô][Ô] & txtQuantidade.Text & [Ô][ô],[Ô] & _
[Ô]WHERE Código=[Ô] & txtCódigo.Text & [Ô];[Ô]

End If
.Execute
End With
End Sub

Desde já agradeço a todos
DAVID.SP 27/10/2009 20:38:13
#326389
Caro,

Em que linha ocorre erro?
ADHEL 28/10/2009 07:55:22
#326405
Bom dia David
Quando mando gravar e da o erro
aparece nessa linha .Na palavra .EXECUTE fica uma lista amarela
já no final do código do botão gravar


End If
.Execute
End With
End Sub


EDERMIR 28/10/2009 09:03:46
#326414
Resposta escolhida
[Ô] Values(txtCódigo),(txtNome),(txtFabricante),(txtPreçoCompra),(txtPorcentagem),(txtPreçoVenda),(txtquantidade),(txtObservação);[Ô]

Esta linha está errada.
Após o VALUES você deve colocar entre parênteses TODOS os valores:

[Ô] Values([ô][Ô] & txtCódigo & [Ô][ô],[ô][Ô] & txtNome & [Ô][ô],[ô][Ô] & txtFabricante & [Ô][ô],[ô][Ô] & txtPreçoCompra & [Ô][ô],[ô][Ô] & txtPorcentagem & [Ô][ô],[ô][Ô] & txtPreçoVenda & [Ô][ô],[ô][Ô] & txtquantidade & [Ô][ô],[ô][Ô] & txtObservação & [Ô][ô]);[Ô]

ADHEL 28/10/2009 12:45:44
#326440
Citação:



Eder Mir vc tinha razão.Só que agora surgiu outro erro
Qdo manda gravar um produto já cadastrado ele da esse erro
ERRO DE SINTAXE NA INSTRUÇÃO UPDATE
MARCELO.TREZE 28/10/2009 12:58:46
#326442
posta a sql de update colega
EDERMIR 28/10/2009 13:01:28
#326444
Note que o comando está errado:
.CommandText = [Ô]Update Produtos set[Ô] & _
[Ô]Nome=[ô][Ô] & txtNome.Text & [Ô][ô],[Ô] & _
[Ô]Fabricante=[ô][Ô] & txtFabricante.Text & [Ô][ô],[Ô] & _
[Ô]PreçoCompra=[ô][Ô] & txtPreçoCompra.Text & [Ô][ô],[Ô] & _
[Ô]Porcentagem=[ô][Ô] & txtPorcentagem.Text & [Ô][ô],[Ô] & _
[Ô]PreçoVenda=[ô][Ô] & txtPreçoVenda.Text & [Ô][ô],[Ô] & _
[Ô]Quantidade=[ô][Ô] & txtQuantidade.Text & [Ô][ô],[Ô] & _
[Ô]WHERE Código=[Ô] & txtCódigo.Text & [Ô];[Ô]


Coloque espaços ao final de cada linha separando a palavra seguinte da anterior e ANTES do WERE deve-se remover a vírgula:
.CommandText = [Ô]Update Produtos set [Ô] & _
[Ô]Nome=[ô][Ô] & txtNome.Text & [Ô][ô], [Ô] & _
[Ô]Fabricante=[ô][Ô] & txtFabricante.Text & [Ô][ô], [Ô] & _
[Ô]PreçoCompra=[ô][Ô] & txtPreçoCompra.Text & [Ô][ô], [Ô] & _
[Ô]Porcentagem=[ô][Ô] & txtPorcentagem.Text & [Ô][ô], [Ô] & _
[Ô]PreçoVenda=[ô][Ô] & txtPreçoVenda.Text & [Ô][ô], [Ô] & _
[Ô]Quantidade=[ô][Ô] & txtQuantidade.Text & _
[Ô]WHERE Código=[Ô] & txtCódigo.Text & [Ô];[Ô]

ADHEL 28/10/2009 13:19:06
#326445
EDER MIR

O Procedimento que vc passou deu CERTO.
Muito obrigado
Valeu
Tópico encerrado , respostas não são mais permitidas