ERRO AO SALVAR ALTERACAO FIREBIRD VB6

 Tópico anterior Próximo tópico Novo tópico

ERRO AO SALVAR ALTERACAO FIREBIRD VB6

VB / VBA

 Compartilhe  Compartilhe  Compartilhe
#362098 - 12/01/2011 17:44:04

ADRIANOM
CARATINGA
Cadast. em:Junho/2010


Quando executo a função salvar, dá um erro no comando execute (no fim do codigo).
Alguém sabe me dizer onde está o erro?

Citação:
  
Private Sub Salvar()
    'VERIFICA OS CAMPOS DE PREENCHIMENTO OBRIGATÓRIO
        
    If txtNome.Text = "" Then GoTo erro
    If cmbEndereco.Text = "" Then GoTo erro
    If txtNumero.Text = "" Then GoTo erro
    If cmbBairro.Text = "" Then GoTo erro
    If cmbCidade.Text = "" Then GoTo erro
    If txtUF.Text = "__" Then GoTo erro
    If cmbFuncao.Text = "" Then GoTo erro
    If txtSalario.Text = "" Then GoTo erro

'Salva dados na tabela de Funcionarios!
Ssql = Ssql & ""
Ssql = Ssql & "UPDATE FUNCIONARIOS SET Funcionarios.alteracao='" & Format(txtAlteracao.Text, "yyyy/mm/dd") & "',"
Ssql = Ssql & "Funcionarios.Usuario='" & txtUsuario.Text & "',Funcionarios.Nome='" & txtNome.Text & "',"
Ssql = Ssql & "Funcionarios.Sexo='" & IIf(txtSexo.Text = "_", "Null", "'" & txtSexo.Text & "'") & "',"
Ssql = Ssql & "Funcionarios.Nascimento='" & IIf(txtNasc.Text = "__/__/____", "Null", "'" & Format(txtNasc.Text, "yyyy/mm/dd") & "'") & "',"
Ssql = Ssql & "Funcionarios.RG='" & TXTrg.Text & "',"
Ssql = Ssql & "Funcionarios.CPF='" & IIf(txtCPF.Text = "___.___.___-__", "Null", "'" & txtCPF.Text & "'") & "',"
Ssql = Ssql & "Funcionarios.Endereco='" & cmbEndereco.Text & "',"
Ssql = Ssql & "Funcionarios.Numero='" & txtNumero.Text & "',"
Ssql = Ssql & "Funcionarios.Bairro='" & cmbBairro.Text & "',"
Ssql = Ssql & "Funcionarios.Cidade='" & cmbCidade.Text & "',"
Ssql = Ssql & "Funcionarios.CEP='" & IIf(txtCEP.Text = "_____-___", "Null", "'" & txtCEP.Text & "'") & "',"
Ssql = Ssql & "Funcionarios.UF='" & IIf(txtUF.Text = "__", "Null", "'" & txtUF.Text & "'") & "',"
Ssql = Ssql & "Funcionarios.Tel='" & IIf(txtTel.Text = "(__)____-____", "Null", "'" & txtTel.Text & "'") & "',"
Ssql = Ssql & "Funcionarios.Cel='" & IIf(txtCel.Text = "(__)____-____", "Null", "'" & txtCel.Text & "'") & "',"
Ssql = Ssql & "Funcionarios.Funcao='" & cmbFuncao.Text & "',"
Ssql = Ssql & "Funcionarios.Salario='" & IIf(txtSalario.Text = Empty, "Null", "'" & CCur(txtSalario.Text) & "'") & ","
Ssql = Ssql & "Funcionarios.Comissionado='" & txtCom.Text & "',"
Ssql = Ssql & "Funcionarios.CarTrab='" & txtTrab.Text & "',"
Ssql = Ssql & "Funcionarios.Admissao='" & IIf(txtAdmissao.Text = "__/__/____", "Null", "'" & Format(txtAdmissao.Text, "yyyy/mm/dd") & "'") & ","
Ssql = Ssql & "Funcionarios.Demissao='" & IIf(txtDemissao.Text = "__/__/____", "Null", "'" & Format(txtDemissao.Text, "yyyy/mm/dd") & "'") & ","
Ssql = Ssql & "Funcionarios.Motivo='" & txtMotivo.Text & "',"
Ssql = Ssql & "Funcionarios.Observacao'" & txtOBS.Text & "' WHERE CODIGO='" & txtCodigo.Text & "'"
    With ConConexao
        .ActiveConnection = CONEXAO
        .CommandType = adCmdText
        .CommandText = Ssql
        CNN.BeginTrans
        .Execute
        CNN.CommitTrans
    End With

'Adiciona um novo endereço,BAIRRO, CIDADE, FUNÇÃO, caso ele não exista
    Call AddComboEndereco
    Call AddComboBairro
    Call AddComboCidade
    Call AddComboFuncao
        
    Unload Me
    frmFuncionarios.Show
    
    Exit Sub

erro:
    MsgBox "Favor preencher os campos obrigatórios: Nome, Admissão, Endereço, Número/Complemento, Bairro, Cidade, UF, Função e/ou Salário.", vbCritical, "GWorks Softs"
End Sub


Aguardo a ajuda de todos....

meu msn: Adrianomarquez1@bol.com.br



#362100 - 12/01/2011 17:51:24



Cadast. em:


MANDA UM PRINT DO ERRO !!!!



#362112 - 12/01/2011 18:50:56

MARCELO-TREZE
SAO VICENTE
Cadast. em:Abril/2009


Última edição em 13/01/2011 16:24:28 por MARCELO-TREZE

são varios erros de digitação

tente agora com as alterações

Private Sub Salvar()
    'VERIFICA OS CAMPOS DE PREENCHIMENTO OBRIGATÓRIO
        
    If txtNome.Text = "" Then GoTo erro
    If cmbEndereco.Text = "" Then GoTo erro
    If txtNumero.Text = "" Then GoTo erro
    If cmbBairro.Text = "" Then GoTo erro
    If cmbCidade.Text = "" Then GoTo erro
    If txtUF.Text = "__" Then GoTo erro
    If cmbFuncao.Text = "" Then GoTo erro
    If txtSalario.Text = "" Then GoTo erro

'Salva dados na tabela de Funcionarios!
Ssql = Ssql & ""
Ssql = Ssql & "UPDATE FUNCIONARIOS SET Funcionarios.alteracao='" & Format(txtAlteracao.Text, "yyyy/mm/dd") & "',"
Ssql = Ssql & "Funcionarios.Usuario='" & txtUsuario.Text & "',Funcionarios.Nome='" & txtNome.Text & "',"
Ssql = Ssql & "Funcionarios.Sexo='" & IIf(txtSexo.Text = "_", "Null", "'" & txtSexo.Text & "'") & "',"
Ssql = Ssql & "Funcionarios.Nascimento=" & IIf(txtNasc.Text = "__/__/____", "Null", "'" & Format(txtNasc.Text, "yyyy/mm/dd") & "'") & ","
Ssql = Ssql & "Funcionarios.RG='" & TXTrg.Text & "',"
Ssql = Ssql & "Funcionarios.CPF=" & IIf(txtCPF.Text = "___.___.___-__", "Null", "'" & txtCPF.Text & "'") & ","
Ssql = Ssql & "Funcionarios.Endereco='" & cmbEndereco.Text & "',"
Ssql = Ssql & "Funcionarios.Numero='" & txtNumero.Text & "',"
Ssql = Ssql & "Funcionarios.Bairro='" & cmbBairro.Text & "',"
Ssql = Ssql & "Funcionarios.Cidade='" & cmbCidade.Text & "',"
Ssql = Ssql & "Funcionarios.CEP=" & IIf(txtCEP.Text = "_____-___", "Null", "'" & txtCEP.Text & "'") & ","
Ssql = Ssql & "Funcionarios.UF=" & IIf(txtUF.Text = "__", "Null", "'" & txtUF.Text & "'") & ","
Ssql = Ssql & "Funcionarios.Tel=" & IIf(txtTel.Text = "(__)____-____", "Null", "'" & txtTel.Text & "'") & ","
Ssql = Ssql & "Funcionarios.Cel=" & IIf(txtCel.Text = "(__)____-____", "Null", "'" & txtCel.Text & "'") & ","
Ssql = Ssql & "Funcionarios.Funcao='" & cmbFuncao.Text & "',"
Ssql = Ssql & "Funcionarios.Salario=" & IIf(txtSalario.Text = Empty, "Null", "'" & CCur(txtSalario.Text) & "'") & ","
Ssql = Ssql & "Funcionarios.Comissionado='" & txtCom.Text & "',"
Ssql = Ssql & "Funcionarios.CarTrab='" & txtTrab.Text & "',"
Ssql = Ssql & "Funcionarios.Admissao=" & IIf(txtAdmissao.Text = "__/__/____", "Null", "'" & Format(txtAdmissao.Text, "yyyy/mm/dd") & "'") & ","
Ssql = Ssql & "Funcionarios.Demissao=" & IIf(txtDemissao.Text = "__/__/____", "Null", "'" & Format(txtDemissao.Text, "yyyy/mm/dd") & "'") & ","
Ssql = Ssql & "Funcionarios.Motivo='" & txtMotivo.Text & "',"
Ssql = Ssql & "Funcionarios.Observacao'" & txtOBS.Text & "' WHERE CODIGO='" & txtCodigo.Text & "'"
    With ConConexao
        .ActiveConnection = CONEXAO
        .CommandType = adCmdText
        .CommandText = Ssql
        CNN.BeginTrans
        .Execute
        CNN.CommitTrans
    End With

'Adiciona um novo endereço,BAIRRO, CIDADE, FUNÇÃO, caso ele não exista
    Call AddComboEndereco
    Call AddComboBairro
    Call AddComboCidade
    Call AddComboFuncao
        
    Unload Me
    frmFuncionarios.Show
    
    Exit Sub

erro:
    MsgBox "Favor preencher os campos obrigatórios: Nome, Admissão, Endereço, Número/Complemento, Bairro, Cidade, UF, Função e/ou Salário.", vbCritical, "GWorks Softs"
End Sub



só pra exclarecer

nas linhas IIf esta assim

Ssql = Ssql & "Funcionarios.Sexo='" & IIf(txtSexo.Text = "_", "Null", "'" & txtSexo.Text & "'") & "',"


repare onde estão as setas existe uma aspas simples, elas não devevriam estar ali.

o código que postei acima ja esta corrigido

esta duas

________________________________________________________________________________________
O orgulho cega até os sábios, ao ponto de não percebam que não são tão sábios como pensam.



#362206 - 13/01/2011 18:38:24

ADRIANOM
CARATINGA
Cadast. em:Junho/2010


agora Marcelo-Treze, agradeço a sua ajuda, porém só poderei te dar retorno do código quando estiver em casa.... acho que terça-feira te darei um retorno...

Outra coisa...

Te add no msn, porém tu nãó deu o ar da graça até o presente...



#362469 - 17/01/2011 10:13:09

ADRIANOM
CARATINGA
Cadast. em:Junho/2010


 Anexos estao visíveis somente para usuários registrados

Marcelo-Treze,
Testei o código e não funcionou.. gerou um erro como o disposto na figura...!!!
O que será????



#362486 - 17/01/2011 13:13:28

ADRIANOM
CARATINGA
Cadast. em:Junho/2010


Alguém... pode me ajudar?



#362487 - 17/01/2011 13:33:03

FIANNA18
PORTO ALEGRE - RS
Cadast. em:Julho/2009


A correção do Marcelo está correta... só existem dois erros ainda... na primeira linha que aparece o NULL ele não remover as aspas simples do código Funcionarios.Sexo='" e "',"
outro erro está no ultimo campo antes do whare, faltou o =, ficando "Funcionarios.Observacao = '"


Private Sub Salvar()
    'VERIFICA OS CAMPOS DE PREENCHIMENTO OBRIGATÓRIO
        
    If txtNome.Text = "" Then GoTo erro
    If cmbEndereco.Text = "" Then GoTo erro
    If txtNumero.Text = "" Then GoTo erro
    If cmbBairro.Text = "" Then GoTo erro
    If cmbCidade.Text = "" Then GoTo erro
    If txtUF.Text = "__" Then GoTo erro
    If cmbFuncao.Text = "" Then GoTo erro
    If txtSalario.Text = "" Then GoTo erro

'Salva dados na tabela de Funcionarios!
Ssql = Ssql & ""
Ssql = Ssql & "UPDATE FUNCIONARIOS SET Funcionarios.alteracao = '" & Format(txtAlteracao.Text, "yyyy/mm/dd") & "', "
Ssql = Ssql & "Funcionarios.Usuario = '" & txtUsuario.Text & "', Funcionarios.Nome = '" & txtNome.Text & "', "
Ssql = Ssql & "Funcionarios.Sexo = " & IIf(txtSexo.Text = "_", "Null", "'" & txtSexo.Text & "'") & ", "
Ssql = Ssql & "Funcionarios.Nascimento = " & IIf(txtNasc.Text = "__/__/____", "Null", "'" & Format(txtNasc.Text, "yyyy/mm/dd") & "'") & ", "
Ssql = Ssql & "Funcionarios.RG = '" & TXTrg.Text & "',"
Ssql = Ssql & "Funcionarios.CPF = " & IIf(txtCPF.Text = "___.___.___-__", "Null", "'" & txtCPF.Text & "'") & ", "
Ssql = Ssql & "Funcionarios.Endereco = '" & cmbEndereco.Text & "', "
Ssql = Ssql & "Funcionarios.Numero = '" & txtNumero.Text & "', "
Ssql = Ssql & "Funcionarios.Bairro = '" & cmbBairro.Text & "', "
Ssql = Ssql & "Funcionarios.Cidade = '" & cmbCidade.Text & "', "
Ssql = Ssql & "Funcionarios.CEP = " & IIf(txtCEP.Text = "_____-___", "Null", "'" & txtCEP.Text & "'") & ", "
Ssql = Ssql & "Funcionarios.UF = " & IIf(txtUF.Text = "__", "Null", "'" & txtUF.Text & "'") & ", "
Ssql = Ssql & "Funcionarios.Tel = " & IIf(txtTel.Text = "(__)____-____", "Null", "'" & txtTel.Text & "'") & ", "
Ssql = Ssql & "Funcionarios.Cel = " & IIf(txtCel.Text = "(__)____-____", "Null", "'" & txtCel.Text & "'") & ", "
Ssql = Ssql & "Funcionarios.Funcao = '" & cmbFuncao.Text & "', "
Ssql = Ssql & "Funcionarios.Salario = " & IIf(txtSalario.Text = Empty, "Null", "'" & CCur(txtSalario.Text) & "'") & ", "
Ssql = Ssql & "Funcionarios.Comissionado = '" & txtCom.Text & "', "
Ssql = Ssql & "Funcionarios.CarTrab = '" & txtTrab.Text & "', "
Ssql = Ssql & "Funcionarios.Admissao = " & IIf(txtAdmissao.Text = "__/__/____", "Null", "'" & Format(txtAdmissao.Text, "yyyy/mm/dd") & "'") & ", "
Ssql = Ssql & "Funcionarios.Demissao = " & IIf(txtDemissao.Text = "__/__/____", "Null", "'" & Format(txtDemissao.Text, "yyyy/mm/dd") & "'") & ", "
Ssql = Ssql & "Funcionarios.Motivo = '" & txtMotivo.Text & "', "
Ssql = Ssql & "Funcionarios.Observacao = '" & txtOBS.Text & "' WHERE CODIGO = '" & txtCodigo.Text & "'"
    With ConConexao
        .ActiveConnection = CONEXAO
        .CommandType = adCmdText
        .CommandText = Ssql
        CNN.BeginTrans
        .Execute
        CNN.CommitTrans
    End With

'Adiciona um novo endereço,BAIRRO, CIDADE, FUNÇÃO, caso ele não exista
    Call AddComboEndereco
    Call AddComboBairro
    Call AddComboCidade
    Call AddComboFuncao
        
    Unload Me
    frmFuncionarios.Show
    
    Exit Sub

erro:
    MsgBox "Favor preencher os campos obrigatórios: Nome, Admissão, Endereço, Número/Complemento, Bairro, Cidade, UF, Função e/ou Salário.", vbCritical, "GWorks Softs"
End Sub



#362524 - 17/01/2011 22:41:02

ADRIANOM
CARATINGA
Cadast. em:Junho/2010


 Anexos estao visíveis somente para usuários registrados

Fianna18 e Marcelo-Treze,

Blz, ambos me ajudaram.. só que acontece o seguinte...:

Se eu altero, por exemplo, o campo comissionado (que é um checkbox) para marcado... ele salva... e se no mesmo momento eu abro o mesmo registro para alternar, novamente, o campo comissionado, ao salvar ele gera um erro...: Anexo a imagem...

Agora é o seguinte...
eu uso o seguinte código...:
Citação:

Private Sub chkComissao_Click()
If chkComissao.Value = Checked Then
    txtCom.Text = "1"
Else
    txtCom.Text = "0"
End If
End Sub


e o campo txtCom.Text é que envia os dados para o banco de dados, com o valor 1 para sim e 0 para não....

mas o erro é como disse, está na imagem...!!! E Aê???



#362561 - 18/01/2011 10:05:54

ADRIANOM
CARATINGA
Cadast. em:Junho/2010


O ERRO PERDURA.. GENTE..!!!



#362572 - 18/01/2011 11:11:44

XXXANGELSXXX
BELO HORIZONTE
Cadast. em:Setembro/2008


veja so, voce tem que fazer essa verificacao se ele ta marcado antes de fazer a gravacao dos dados, exemplo.. se vc apenas deixa ele desmarcado, este campo ... txtCom.Text fica com valor nulo ou seja em branco, o erro pode estar ai.. entao antes da rotina de gravacao vc tem que verificar se ele esta como 0 ou 1, pois foi no evento click do combobox que vc fez a verificacao, se o cara nao clica no item do seu combo ele fica com valor nullo, sacou?, faca um teste para vc ver.. vai ver que o problema nao e no componente, mas sim no evento que vc informou, tipo.. coloque la assim.. na sua clausula.

Ssql = Ssql & "Funcionarios.Comissionado = '" & "0"& "', "

so para testar que o valor zero ele vai gravar.. depois faca o teste com o numero 1

Ssql = Ssql & "Funcionarios.Comissionado = '" & "1" & "', "

e vc vai ver que vai gravar tbm,

ai antes de gravar simplesmente verifique se o combo esta marcado, para ele dar o valor de zero ou 1.. sacou???? eu colocaria como padrao no seu textbox o valor de zero (0) colocaria nele no load do form txtCom.Text ="" & "0", assim, se ele nao foi checado ele vai ficar com valor zero, se acaso ele checar ai vai ficar valendo a sua funcao..




Não importa o que é o mundo...O importante são seus sonhos!Não importa o que você é...O importante é o que você quer ser.
Dúvida Sanada, encerre o tópico e pontue quem ajudou!!!


#362573 - 18/01/2011 11:15:24

ADRIANOM
CARATINGA
Cadast. em:Junho/2010


xxxANGELSxxx
Ele não está ficando nulo não.. eu coloquei o textbox visible.. e carrega direitinho!!!
Mas o erro continua..
está dando erro no UPDATE!!!



 Tópico anterior Próximo tópico Novo tópico


Tópico encerrado, respostas não sao permitidas
Encerrado por ADRIANOM em 18/01/2011 13:25:44