ERRO OVERFLOW 6 UPDATE FIREBIRD

ADRIANOM 17/01/2014 13:57:47
#433222
FILMAN....

Segui todas as suas instruções, com o BreakPoint na linha admissão, e fiz o debug no Immediate e a mensagem de Overflow apareceu...

e agora????
FILMAN 17/01/2014 14:07:41
#433223
como esta sendo preenchido o txtAdmissao?

é um TextBox ou um MaskEdit?

Se for um TextoBox faça assim
IIf(Trim(txtAdmissao.Text) = [Ô][Ô], [Ô]Null[Ô], Format(txtAdmissao.Text, [Ô]yyyy/MM/dd[Ô]))

Se for um maskEdit faça assim
IIf(txtAdmissao.ClipText = [Ô][Ô], [Ô]Null[Ô], Format(txtAdmissao.Text, [Ô]yyyy/MM/dd[Ô]))

ou tente assim
IIf(not isDate(trim(txtAdmissao.Text), [Ô]Null[Ô], Format(txtAdmissao.Text, [Ô]yyyy/MM/dd[Ô]))



ADRIANOM 17/01/2014 14:59:53
#433229
Amigão,

Para esta função em MaskEditBox o PrompInclue tem que estar false (não é?)
Se eu altero para True, carrega os dados, o erro do txtAdmissão some e ele ele gera um novo erro no [ô]WHERE[ô]... mesmo dando o espaço que você disse que deveria haver....
Atualmente o promptinclue está false ( se eu o colocar true, também dá erro na função add que está funcionando 100%)

Confira o código...:


Citação:





[ô]função para salvar a edição
[ô]Salva os dados digitados
sSQL = [Ô][Ô]
sSQL = sSQL & [Ô]UPDATE FUNCIONARIOS SET NOME = [ô][Ô] & txtNome.Text & [Ô][ô],[Ô]
sSQL = sSQL & [Ô]ENDERECO = [ô][Ô] & cboEndereco.Text & [Ô][ô],[Ô]
sSQL = sSQL & [Ô]NUMERO = [ô][Ô] & txtNumero.Text & [Ô][ô],[Ô]
sSQL = sSQL & [Ô]BAIRRO = [ô][Ô] & cboBairro.Text & [Ô][ô],[Ô]
sSQL = sSQL & [Ô]CIDADE = [ô][Ô] & cboCidade.Text & [Ô][ô],[Ô]
sSQL = sSQL & [Ô]TELEFONE = [ô][Ô] & IIf(txtTel.ClipText = [Ô][Ô], Empty, Format(txtTel.Text, [Ô](##)####-####[Ô])) & [Ô][ô],[Ô]
sSQL = sSQL & [Ô]CELULAR = [ô][Ô] & IIf(txtCel.ClipText = [Ô][Ô], Empty, Format(txtCel.Text, [Ô](##)####-#####[Ô])) & [Ô][ô],[Ô]
sSQL = sSQL & [Ô]ADMISSAO = [ô][Ô] & IIf(txtAdmissao.ClipText = [Ô][Ô], Empty, Format(txtAdmissao.Text, [Ô]yyyy/mm/dd[Ô])) & [Ô][ô],[Ô]
sSQL = sSQL & [Ô]DEMISSAO = [ô][Ô] & IIf(txtDemissao.ClipText = [Ô][Ô], Empty, Format(txtDemissao.Text, [Ô]yyyy/mm/dd[Ô])) & [Ô][ô],[Ô]
sSQL = sSQL & [Ô]ATIVO = [ô][Ô] & IIf(chkFuncionario.Value = vbChecked, 1, 0) & [Ô][ô],[Ô]
sSQL = sSQL & [Ô]OBSERVACAO = [ô][Ô] & txtObservacao.Text & [Ô][ô],[Ô]
sSQL = sSQL & [Ô] WHERE CODIGO = [ô][Ô] & txtCodigo.Text & [Ô][ô][Ô]
With ConConexao
.ActiveConnection = CONEXAO
.CommandType = adCmdText
.CommandText = sSQL
CNN.BeginTrans
.Execute
CNN.CommitTrans
End With

FILMAN 17/01/2014 21:39:34
#433245
sSQL = sSQL & [Ô]OBSERVACAO = [ô][Ô] & txtObservacao.Text & [Ô][ô],[Ô]

não deve haver virgula no ultimo campo que antecede o WHERE

não sei também se o FIREBIRD converte VARCHAR para INTEGER. Se o seu campo CODIGO for do tipo numérico não use o apóstrofo deixe sem dessa maneira

sSQL = sSQL & [Ô] WHERE CODIGO = [Ô] & txtCodigo.Text


Vja se resolve o seu problema
ADRIANOM 20/01/2014 22:39:14
#433303
Filman...

Overflow passou do Admissão para o Demissão...rs.
Dá para dormir com um barulho desse?
FILMAN 21/01/2014 13:47:52
#433333
você mudou alguma coisa?
mudou o Format() com os [Ô]MM[Ô]?
Tirou a virgula de onde falei?

poste como esta a query agora.
ADRIANOM 23/01/2014 08:40:23
#433433
Filman...


Citação:



[ô]função para salvar a edição
[ô]Salva os dados digitados
sSQL = [Ô][Ô]
sSQL = sSQL & [Ô]UPDATE FUNCIONARIOS SET NOME = [ô][Ô] & txtNome.Text & [Ô][ô],[Ô]
sSQL = sSQL & [Ô]ENDERECO = [ô][Ô] & cboEndereco.Text & [Ô][ô],[Ô]
sSQL = sSQL & [Ô]NUMERO = [ô][Ô] & txtNumero.Text & [Ô][ô],[Ô]
sSQL = sSQL & [Ô]BAIRRO = [ô][Ô] & cboBairro.Text & [Ô][ô],[Ô]
sSQL = sSQL & [Ô]CIDADE = [ô][Ô] & cboCidade.Text & [Ô][ô],[Ô]
sSQL = sSQL & [Ô]TELEFONE = [ô][Ô] & IIf(txtTel.ClipText = [Ô][Ô], Empty, Format(txtTel.Text, [Ô](##)####-####[Ô])) & [Ô][ô],[Ô]
sSQL = sSQL & [Ô]CELULAR = [ô][Ô] & IIf(txtCel.ClipText = [Ô][Ô], Empty, Format(txtCel.Text, [Ô](##)####-#####[Ô])) & [Ô][ô],[Ô]
sSQL = sSQL & [Ô]ADMISSAO = [ô][Ô] & IIf(txtAdmissao.ClipText = [Ô][Ô], Empty, Format(txtAdmissao.Text, [Ô]yyyy/mm/dd[Ô])) & [Ô][ô],[Ô]
sSQL = sSQL & [Ô]DEMISSAO = [ô][Ô] & IIf(txtDemissao.ClipText = [Ô][Ô], Empty, Format(txtDemissao.Text, [Ô]yyyy/mm/dd[Ô])) & [Ô][ô],[Ô]
sSQL = sSQL & [Ô]ATIVO = [ô][Ô] & IIf(chkFuncionario.Value = vbChecked, 1, 0) & [Ô][ô],[Ô]
sSQL = sSQL & [Ô]OBSERVACAO = [ô][Ô] & txtObservacao.Text & [Ô][ô][Ô]
sSQL = sSQL & [Ô] WHERE CODIGO = [Ô] & txtCodigo.Text
With ConConexao
.ActiveConnection = CONEXAO
.CommandType = adCmdText
.CommandText = sSQL
CNN.BeginTrans
.Execute
CNN.CommitTrans
End With


FILMAN 23/01/2014 12:14:30
#433447
Cara somente consegui simular o erro da seguinte forma.

Criei um Form e coloquei um MaskEdit/Botão/Label
Na MaskEdit mudei a propriedade FORMAT para dd/mm/yyyy e nenhuma mascara (Essa propriedade não é reconhecida pelo objeto)

Dentro do Botão coloquei a expressão
Label1.Caption = [Ô][ô][Ô] & IIf(MaskEdBox1.ClipText = [Ô][Ô], Empty, Format(MaskEdBox1.Text, [Ô]yyyy/MM/dd[Ô])) & [Ô][ô][Ô]

Porém o erro só aconteceu quando eu digitei uma data sem separador, exemplos abaixo:

23/01/2014 = Funcionou
01/23/2014 = Funcionou
2014/23/01 = Funcionou
2014/01/23 = Funcionou

23-01-2014 = Funcionou
01-23-2014 = Funcionou
2014-23-01 = Funcionou
2014-01-23 = Funcionou

23012014 = Não Funcionou, pois não é uma data valida mesmo que a propriedade FORMAT esteja como dd/mm/yyyy.

Verifique como esta sendo digitado no campo, pois a não achei inconsistência na instrução SQL.

Caso queira poste um print da tela preenchida ou até mesmo um FORM com as mesmas configurações do seu sistema e os dados para preenchimento.
ADRIANOM 23/01/2014 15:50:58
#433459
FILMAN

Muitíssimo obrigado pela presteza, ajuda e disponibilidades.... mas... fui vencido pelo maskEdBox.

Parti para as adaptações com Textbox que tanto tenho desgosto... mas fazer..

...agora está funciona direitinho.
Baixei umas validações de telefone e data e atribui ao textbox.

Mais uma vez um abraço!
Página 2 de 2 [19 registro(s)]
Tópico encerrado , respostas não são mais permitidas