Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

nereu1301

[Resolvido] inclusao ok mas nao grava na tabela

Recommended Posts

To precisando de mais essa ajuda.

já tentei de dois jeitos e os dois retornam que inclusao ocorreu, mas vou na tabela e os dados nao estao gravados.

Onde estou errando?????

 

Private Sub IncluirDados()
 Dim vInclusao As Boolean
 Dim vConfMsg As Integer
 Dim vErro As Boolean
     'inicializa as variaveis auxiliares'
     vConfMsg = vbExclamation + vbOKOnly + vbSystemModal
     vErro = False
     'verifica os dados digitados'
     If TxtNomeCliente.Text = Empty Then
         MsgBox "O campo Nome não foi preenchido.", vConfMsg, "Erro"
         vErro = True
     End If
     If TxtTel.Text = Empty Then
         MsgBox "O campo Telefone não foi preenchido.", vConfMsg, "Erro"
         vErro = True
     End If
     If TxtCidade.Text = Empty Then
         MsgBox "O campo Cidade não foi preenchido.", vConfMsg, "Erro"
         vErro = True
     End If
     If TxtDataInicioServico.Text = Empty Then
         MsgBox "O campo Data Entrada não foi preenchido.", vConfMsg, "Erro"
         vErro = True
     End If
     If TxtHoraInicioServico.Text = Empty Then
         MsgBox "O campo Hora Entrada não foi preenchido.", vConfMsg, "Erro"
         vErro = True
     End If
     If TxtProduto.Text = Empty Then
         MsgBox "O campo Produto não foi preenchido.", vConfMsg, "Erro"
         vErro = True
     End If
     If TxtMotivo.Text = Empty Then
         MsgBox "O campo Motivo da Chamada não foi preenchido.", vConfMsg, "Erro"
         vErro = True
     End If
     If TxtObs.Text = Empty Then
         MsgBox "O campo Observação não foi preenchido.", vConfMsg, "Erro"
         vErro = True
     End If
     'Se acontece um erro sai da sub sem gravar'
     If vErro Then Exit Sub
     With rsSelecao
         If vInclusao = True Then
             'identifica a operaçao como inclusão'
             TxtNomeCliente.Text = !Nome
             TxtTel.Text = Empty & !Telefone
             TxtCidade.Text = !Cidade
             TxtDataInicioServico.Text = !Data_Inicio_Servico
             TxtHoraInicioServico.Text = !Hora_Inicio_Servico
             TxtProduto.Text = !Produto
             TxtMotivo.Text = Empty & !Motivo_Chamada
             TxtObs.Text = Empty & !Obs
         End If
     End With
     MsgBox "Inclusão ok", vbInformation + vbOKOnly + vbApplicationModal, "OK"
     LimparTela
 errGravacao:
     With Err
         If .Number <> 0 Then
         MsgBox "Houve erro na inclusão dos dados na tabela.", vbExclamation + vbOKOnly + vbApplicationModal, "Erro"
         .Number = 0
         End If
     End With
 End Sub

fico no aguardo

nereu

Compartilhar este post


Link para o post
Compartilhar em outros sites

To precisando de mais essa ajuda.

já tentei de dois jeitos e os dois retornam que inclusao ocorreu, mas vou na tabela e os dados nao estao gravados.

Onde estou errando?????

 

Private Sub IncluirDados()

Dim vInclusao As Boolean

Dim vConfMsg As Integer

Dim vErro As Boolean

'inicializa as variaveis auxiliares

vConfMsg = vbExclamation + vbOKOnly + vbSystemModal

vErro = False

'verifica os dados digitados

If TxtNomeCliente.Text = Empty Then

MsgBox "O campo Nome não foi preenchido.", vConfMsg, "Erro"

vErro = True

End If

If TxtTel.Text = Empty Then

MsgBox "O campo Telefone não foi preenchido.", vConfMsg, "Erro"

vErro = True

End If

If TxtCidade.Text = Empty Then

MsgBox "O campo Cidade não foi preenchido.", vConfMsg, "Erro"

vErro = True

End If

If TxtDataInicioServico.Text = Empty Then

MsgBox "O campo Data Entrada não foi preenchido.", vConfMsg, "Erro"

vErro = True

End If

If TxtHoraInicioServico.Text = Empty Then

MsgBox "O campo Hora Entrada não foi preenchido.", vConfMsg, "Erro"

vErro = True

End If

If TxtProduto.Text = Empty Then

MsgBox "O campo Produto não foi preenchido.", vConfMsg, "Erro"

vErro = True

End If

If TxtMotivo.Text = Empty Then

MsgBox "O campo Motivo da Chamada não foi preenchido.", vConfMsg, "Erro"

vErro = True

End If

If TxtObs.Text = Empty Then

MsgBox "O campo Observação não foi preenchido.", vConfMsg, "Erro"

vErro = True

End If

'Se acontece um erro sai da sub sem gravar

If vErro Then Exit Sub

With rsSelecao

If vInclusao = True Then

'identifica a operaçao como inclusão

TxtNomeCliente.Text = !Nome

TxtTel.Text = Empty & !Telefone

TxtCidade.Text = !Cidade

TxtDataInicioServico.Text = !Data_Inicio_Servico

TxtHoraInicioServico.Text = !Hora_Inicio_Servico

TxtProduto.Text = !Produto

TxtMotivo.Text = Empty & !Motivo_Chamada

TxtObs.Text = Empty & !Obs

End If

End With

MsgBox "Inclusão ok", vbInformation + vbOKOnly + vbApplicationModal, "OK"

LimparTela

errGravacao:

With Err

If .Number <> 0 Then

MsgBox "Houve erro na inclusão dos dados na tabela.", vbExclamation + vbOKOnly + vbApplicationModal, "Erro"

.Number = 0

End If

End With

End Sub

 

fico no aguardo

nereu

 

cara, você tá

 

1) esquecendo de addicionar registro na tabela...., ou seja :

 

 

If vInclusao = True Then    'identifica a operaçao como inclusão
   With rsSelecao
        .addnew  
         !Nome= TxtNomeCliente.Text 
         !Telefone= TxtTel.Text 
         !Cidade= TxtCidade.Text 
         ......
        .update 
   End With
End If

espero que tenha resolvido seu problema...

 

abraços !

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara

fiz as alteraçoes que você me indicou, ele jogou os dados pra tabela mas com um pequeno problema, quando fui reolver deu um tilt e paraou de funcionar novamente.

Vou dar uma conferida.

Obrigado por enquanto

nereu

 

agora me retorna dizendo que que houve inclusao mas nao inclui na tabela, mas se eu incluo na tabela ele aparece no vb como incluido.

Vai saber.

Agora deu um nó nos meus parcos conhecimentos.

se puder dar uma dica. Agradeço.

Nereu

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como está o seu código agora ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia

Parabens pela nova funçao.

Seguinte: meu código tá cada vez mais dez, porem as vezes enrosca em algum galho e fico dois, três dias enrolado no mesmo assunto. Claro que ao mesmo tempo vou melhorando outras coisas nele, mas me da uma boa atrasada.

Como disse ai em cima, emprerrou no incluir e nao tem jeito, se puder dar uma olhada, te agradeço.

A principio, depois da idéia do Carioka, tinha funcionado dando erro no código do contador automatico, ai fui fuçar pra arrumar e parou de funcionar o incluir

 

Aqui não tá atualizando a tabela:

If vInclusao = True Then
        With rsSelecao
        .AddNew
        !Nome = TxtNomeCliente.Text
        !Telefone = TxtTel.Text
        !Cidade = TxtCidade.Text
        !Data_Inicio_Servico = TxtDataInicioServico.Text
        !Hora_InicioServico = TxtHoraInicioServico.Text
        !Produto = TxtProduto.Text
        !Motivo_Chamada = TxtMotivo.Text
        !Obs = TxtObs.Text
        .Update
        End With
    End If

Quando funcionou, deu problema aqui:

 

Private Sub Form_Load()
Dim cod As Long
    rsSelecao.Open "Select * From Clientes", cnnCetecInfServiços, 1
    If rsSelecao.RecordCount = 0 Then
        cod = "00001"
    Else
        rsSelecao.MoveLast
        cod = rsSelecao("Codigo_Cliente") + 1
    End If
    TxtCodCliente.Text = cod
End Sub

Fico no aguardo

Abraço

Nereu

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia

Recebi diversas opinioes mas ainda nao consegui resolver.

Alguem ai pode dar alguma dica??????

Compartilhar este post


Link para o post
Compartilhar em outros sites

naquele momento me retornou erro nessa linha:

 

If rsSelecao.RecordCount = 0 Then

 

e me dizia que não podia ser valor null

 

ai fiz alguma alteraçao que já nao me lembro qual, e nao teve mais jeito de funcionar.

 

se descunfiar de alguma coisa , me informe pra mim tentar aqui.

valeu

obrigado

nereu

Compartilhar este post


Link para o post
Compartilhar em outros sites

:wacko: Não to entendendo mais nada. :wacko:

 

Private Sub Form_Load()
 Dim cod As Long
     rsSelecao.Open "Select * From Clientes", cnnCetecInfServiços, 1
     If rsSelecao.RecordCount = 0 Then
         cod = "00001"
     Else
         rsSelecao.MoveLast
         cod = rsSelecao("Codigo_Cliente") + 1
     End If
     TxtCodCliente.Text = cod 
End Sub
Esse é seu código antigo né? Como está agora? Está dando erro ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Calma, Scorpio

Tenho meu codigo assim:

 

If vInclusao = True Then       
  With rsSelecao        
 .AddNew        
 !Nome = TxtNomeCliente.Text        
 !Telefone = TxtTel.Text        
 !Cidade = TxtCidade.Text        
 !Data_Inicio_Servico = TxtDataInicioServico.Text        
 !Hora_InicioServico = TxtHoraInicioServico.Text        
 !Produto = TxtProduto.Text        
 !Motivo_Chamada = TxtMotivo.Text        
 !Obs = TxtObs.Text        
 .Update        
  End With    
End If

e ele tá dizendo que inclui e nao inclui. É só isso.

Como coloquei anteriormente, fiz a correçao que o carioka opinou, mas nao deu certo.

 

Mas cara , assim, eu to pedindo uma ajuda, mas to me virando. Daqui a pouco eu resolvo e blza.

Valeu??

Sem stress.

t+

Compartilhar este post


Link para o post
Compartilhar em outros sites

lol, não respondi no stress não cara.

 

 

no form load, onde você coloca o open

 

troca por

rsSelecao.Open "Select * From Clientes", cnnCetecInfServiços, 1, 2
Se você não especifica nada, o padrão é read-only

 

 

Se não der certo tenta com SQL.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal

tentei assim e me retorna erro runtime "Instruçao sql invalida; esperado update, incert, delet..)

e sinaliza na linha do .Execute

 

With cnnComando

.ActiveConnection = cnnCetecInfServiços

.CommandType = adCmdText

'cria o modulo sql

.CommandText = "Clientes"

sql = "INCERTO INTO " & _

"(Nome, Telefone, Cidade, Data_Inicio_Servico, Hora_Inicio_Servico, Produto, Motivo_Chamada, Obs) Values( '" & TxtNomeCliente.Text & "', '" & TxtTel.Text & "', '" & TxtCidade.Text & "', '" & TxtDataInicioServico.Text & "', '" & TxtHoraInicioServico.Text & "', '" & TxtProduto.Text & "', '" & TxtMotivo.Text & "', '" & TxtObs.Text & "');"

.Execute

End With

 

 

e se uso msgBox retorna (Nome, telefone, ....) Values (nereu, 555555, sao paulo....)

Compartilhar este post


Link para o post
Compartilhar em outros sites

ta errado o INCERTO

Compartilhar este post


Link para o post
Compartilhar em outros sites

A sintaxe correta do insert é

Insert into TABELA (campo1,campo2) VALUES ('nome',123456)

Compartilhar este post


Link para o post
Compartilhar em outros sites

desculpem

mas a correçao da sintaxe eu já tinha feito, na hora de colocar a mensagem no forum acabei colocando errado.

O problema esta ocorrendo com a sintaxe abaixo já corrigida

With cnnComando
        .ActiveConnection = cnnCetecInfServiços
        .CommandType = adCmdText
        'cria o modulo sql
        .CommandText = "Clientes"
        sql = "INSERT INTO " & _
        "(Nome, Telefone, Cidade, Data_Inicio_Servico, Hora_Inicio_Servico, Produto, Motivo_Chamada, Obs) Values( '" & TxtNomeCliente.Text & "', '" & TxtTel.Text & "', '" & TxtCidade.Text & "', '" & TxtDataInicioServico.Text & "', '" & TxtHoraInicioServico.Text & "', '" & TxtProduto.Text & "', '" & TxtMotivo.Text & "', '" & TxtObs.Text & "');"
        .Execute
    End With

Compartilhar este post


Link para o post
Compartilhar em outros sites

desculpem

mas a correçao da sintaxe eu já tinha feito, na hora de colocar a mensagem no forum acabei colocando errado.

O problema esta ocorrendo com a sintaxe abaixo já corrigida

With cnnComando
        .ActiveConnection = cnnCetecInfServiços
        .CommandType = adCmdText
        'cria o modulo sql
        .CommandText = "Clientes"
        sql = "INSERT INTO " & _
        "(Nome, Telefone, Cidade, Data_Inicio_Servico, Hora_Inicio_Servico, Produto, Motivo_Chamada, Obs) Values( '" & TxtNomeCliente.Text & "', '" & TxtTel.Text & "', '" & TxtCidade.Text & "', '" & TxtDataInicioServico.Text & "', '" & TxtHoraInicioServico.Text & "', '" & TxtProduto.Text & "', '" & TxtMotivo.Text & "', '" & TxtObs.Text & "');"
        .Execute
    End With

Não está corrigida. Onde está o nome da tabela?

INSERT INTO TABELA (C1,C2) VALUES (V1,V2)

 

E está errado o modo que está fazendo. Você precisa colocar no CommandText a instrução SQL. Não "Clientes"(deve ser o nome da tabela, não?).

 

Se preferir, utilize:

cnnCetecInfServiços.Execute "INSERT INTO TABELA (C1,C2) VALUES (V1,V2)"

http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

não vi nenhum erro ai

 

experimente separar o values dos parenteses e testar

Compartilhar este post


Link para o post
Compartilhar em outros sites

não vi nenhum erro ai

 

experimente separar o values dos parenteses e testar

 

O comando SQL que ele está tentando executar é "Clientes".

A instrução SQL ele apenas guarda na variavel sql. E falta o nome da tabela.

 

Troque por isto nereu,

 

With cnnComando
        .ActiveConnection = cnnCetecInfServiços
        .CommandType = adCmdText
        .CommandText = "INSERT INTO Clientes" & _
        "(Nome, Telefone, Cidade, Data_Inicio_Servico, Hora_Inicio_Servico, Produto, Motivo_Chamada, Obs) Values ( '" & TxtNomeCliente.Text & "', '" & TxtTel.Text & "', '" & TxtCidade.Text & "', '" & TxtDataInicioServico.Text & "', '" & TxtHoraInicioServico.Text & "', '" & TxtProduto.Text & "', '" & TxtMotivo.Text & "', '" & TxtObs.Text & "')"
        .Execute
    End With

Veja se funciona.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Meu camarada

depois de tanto fuçar, finalmente mandou os dados pra tabela. Sinceramente eu não consegui identificar onde eu estava errando. Eu repeti tudo muitas vezes e usei todas as dicas de voces, mas tava errando em alguma coisa que provavelmente seja insignificante.

Agradeço a paciencia e espero contar sempre com voces, oque com certeza vai acontecer.

Abraços

nereu

Compartilhar este post


Link para o post
Compartilhar em outros sites

é verdade que vacilo

 

falta o nome da tabela

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.