GRAVAR DADOS VB6 FIREBIRD
Já fiz esta pergunta à 48 meses atrás, porém tentando estudar não consegui corrigir.
Assim, onde estou errando? Era para salvar o registro mas não salva... onde está o erro?
Citação:
Sub Salvar()
Dim dAdmissao As String
Dim dDemissao As String
Dim dTel As String
Dim dCel As String
If txtNome.Text = [Ô][Ô] Then
MsgBox [Ô]Favor preencher o campo [ô]NOME[ô] deste módulo.[Ô], vbCritical, [Ô]GWorks Softs[Ô]
txtNome.SetFocus
Exit Sub
Else
If txtAdmissao.Text = [Ô]__/__/____[Ô] Then
dAdmissao = [Ô][Ô]
End If
If txtDemissao.Text = [Ô]__/__/____[Ô] Then
dDemissao = [Ô][Ô]
End If
If txtTel.Text = [Ô](__)____-____[Ô] Then
dTel = [Ô][Ô]
End If
If txtCel.Text = [Ô](__)____-____[Ô] Then
dCel = [Ô][Ô]
End If
[ô]Salva os dados
sSQL = sSQL & [Ô][Ô]
sSQL = sSQL & [Ô]INSERT INTO FUNCIONARIOS([Ô]
sSQL = sSQL & [Ô]CODIGO,NOME,[Ô]
sSQL = sSQL & [Ô]ENDERECO,[Ô]
sSQL = sSQL & [Ô]NUMERO,BAIRRO,CIDADE,[Ô]
sSQL = sSQL & [Ô]TELEFONE,CELULAR,[Ô]
sSQL = sSQL & [Ô]ADIMISSAO,DEMISSAO,ATIVO,OBSERVACAO)[Ô]
sSQL = sSQL & [Ô]VALUES([Ô]
sSQL = sSQL & [Ô][Ô] & txtCodigo.Text & [Ô],[Ô]
sSQL = sSQL & [Ô][ô][Ô] & txtNome.Text & [Ô][ô],[Ô]
sSQL = sSQL & [Ô][ô][Ô] & cboEndereco.Text & [Ô][ô],[Ô]
sSQL = sSQL & [Ô][ô][Ô] & txtNumero.Text & [Ô][ô],[Ô]
sSQL = sSQL & [Ô][ô][Ô] & cboBairro.Text & [Ô][ô],[Ô]
sSQL = sSQL & [Ô][ô][Ô] & cboCidade.Text & [Ô][ô],[Ô]
sSQL = sSQL & [Ô][ô][Ô] & dTel & [Ô][ô],[Ô]
sSQL = sSQL & [Ô][ô][Ô] & dCel & [Ô][ô],[Ô]
sSQL = sSQL & [Ô][ô][Ô] & dAdmissao & [Ô][ô],[Ô]
sSQL = sSQL & [Ô][ô][Ô] & dDemissao & [Ô][ô],[Ô]
sSQL = sSQL & [Ô][ô][Ô] & IIf(chkFuncionario.Value = vbChecked, 1, 0) & [Ô],[Ô]
sSQL = sSQL & [Ô][ô][Ô] & txtObservacao.Text & [Ô][ô])[Ô]
With ConConexao
.ActiveConnection = CONEXAO
.CommandType = adCmdText
.CommandText = sSQL
.Execute
End With
[ô]Altera o campo seqlogin
Set RSSEQ = New ADODB.Recordset
RSSEQ.Open [Ô]SELECT * FROM SEQ[Ô], CNN, adOpenStatic, adLockOptimistic
SQL = [Ô]UPDATE SEQ Set SEQFUNCIONARIOS=[ô][Ô] & txtCodigo & [Ô][ô][Ô]
CNN.BeginTrans
CNN.Execute SQL
CNN.CommitTrans
frmFuncionarios.LoadEntries
Unload Me
End If
End Sub
Alterei em 07/01/2014 mas o erro continua.
Citação::
Use parametrização, não concatenação.
Não entendi!
Bom, com relação ao erro, eu apostaria nas suas condições [Ô]VBA.IIf[Ô] vi o código rapidamente, e creio que tem um erro na concatenação, mais é fácil de resolver, faz um breakpoint na linha .CommandText = sSQL e veja o conteúdo da variável sSQL. Se não encontrar o erro, pegue o conteúdo da variável e tente executar a sql no iBexpert ou no seu gerenciador do firebird que utiliza, que provavelmente lá ele ira citar aonde esta o erro.
boa sorte e ate mais
sSQL = sSQL & [Ô][ô][Ô] & IIf(chkFuncionario.Value = vbChecked, 1, 0) & [Ô],[Ô]
Repare que não fechou a aspas simples
corrija isso e veja se funciona!
Quanto Windows 7 64 eu utilizo aqui com vb6 32 e firebird 64 e ibExpert 32 e funciona normalmente
Creio que o Driver ODBC esteja instalado corretamente para a versão 64 bits do windows
Espero ter ajudado, mas caso não resolva poste a estrutua de sua tabela