ONDE ESTOU ERRANDO? FIREBIRD

ADRIANOM 03/01/2011 11:29:22
#360938
Tenho duas tabelas no banco de dados firebird - Login e Seq

Na tabela Login tem todos os dados do usuário cadastrado
e na tabela Seq tenho várias colunas que armazena o último código cadastrado de cada módulo

O que quero é que, ao adicionar um novo registro no form de cadastro de usuário ele salve normalmente os dados de usuários na tabela Login e altere o código na tabela SEQ, coluna SEQLOGIN, com o valor do último codigo cadastrado presente no txtcódigo.

Salvar os dados na tabela login, estou conseguindo plenamente... do jeito que quero.. o que não estou conseguindo é alterar o valor... posto os código.

Para gerar o novo código:
Citação:


Private Sub AutoNumerar()
Set CNN = New ADODB.Connection
CNN.Open CONEXAO
CNN.CursorLocation = adUseClient

Set RSSEQ = New ADODB.Recordset
RSSEQ.Open [Ô]SELECT * FROM SEQ[Ô], CNN, adOpenStatic, adLockOptimistic
txtSeq.Text = RSSEQ!SEQLOGIN

If RSSEQ.RecordCount = 0 Then
txtSeq.Text = Format$(txtSeq, [Ô]000000[Ô])
txtCodigo.Text = txtSeq.Text
Else
RSSEQ.MoveLast
txtSeq.Text = Val(RSSEQ!SEQLOGIN) + 1
txtSeq.Text = Format$(txtSeq, [Ô]000000[Ô])
txtCodigo.Text = txtSeq.Text
End If
End Sub



Código para salvar (lembrando que a parte que salva os dados do usuário novo, está funcionando direitinho...Veja a seta onde quero alterar!!!!

Citação:


Sub Salvar()
If txtCodFun.Text = [Ô][Ô] Then GoTo erro
If txtFuncionario.Text = [Ô][Ô] Then GoTo erro
If txtCodigo.Text = [Ô][Ô] Then GoTo erro
If txtSenha.Text = [Ô][Ô] Then GoTo erro
If txtUsuario.Text = [Ô][Ô] Then GoTo erro

[ô]Altera o código na tabela SEQ, no campo SEQLogin
RSSEQ!SEQLOGIN = txtCodigo.Text

[ô]Salva os dados digitados
With ConConexao
.ActiveConnection = CONEXAO
.CommandType = adCmdText
.CommandText = [Ô]INSERT INTO LOGIN (CODIGO,USUARIO,SENHA,CODFUNC,FUNCIONARIO)values([ô][Ô] + txtCodigo.Text + [Ô][ô],[ô][Ô] + txtUsuario.Text + [Ô][ô],[ô][Ô] + txtSenha.Text + [Ô][ô],[ô][Ô] + txtCodFun + [Ô][ô],[ô][Ô] + txtFuncionario + [Ô][ô])[Ô]
.Execute
End With
[ô]Salva os dados da treeview
For F = 1 To trvUsuarios.Nodes.Count
SQL = [Ô]UPDATE LOGIN SET [Ô] & trvUsuarios.Nodes(F).Key & [Ô] = [Ô] & IIf(trvUsuarios.Nodes(F).Checked, 1, 0) _
& [Ô] WHERE CODIGO=[Ô] & txtCodigo.Text
CNN.Execute SQL
Next
Unload Me
frmAcesso.Show
Exit Sub
erro:
MsgBox [Ô]Todos os campos devem ser preenchidos corretamente.[Ô], vbCritical, [Ô]GWorks Softs[Ô]

End Sub



E aê? Onde estou errando??? Me ajudem?????
ADRIANOM 03/01/2011 12:26:40
#360943
Viva o Macoratti.net

O link que deu a idéia certa é esse: http://www.macoratti.net/vb_fireb.htm na parte da edição com o código certo!

Posto o código para quem passa pelo mesmo dilema...

Citação:


Private Sub AutoNumerar()
Set CNN = New ADODB.Connection
CNN.Open CONEXAO
CNN.CursorLocation = adUseClient

Set RSSEQ = New ADODB.Recordset
RSSEQ.Open [Ô]SELECT * FROM SEQ[Ô], CNN, adOpenStatic, adLockOptimistic
txtSeq.Text = RSSEQ!SEQLOGIN

If RSSEQ.RecordCount = 0 Then
txtSeq.Text = Format$(txtSeq, [Ô]000000[Ô])
txtCodigo.Text = txtSeq.Text
Else
RSSEQ.MoveLast
txtSeq.Text = Val(RSSEQ!SEQLOGIN) + 1
txtSeq.Text = Format$(txtSeq, [Ô]000000[Ô])
txtCodigo.Text = txtSeq.Text
End If
[ô]Fecha form atual e abre o form para add o registro
RSSEQ.Close
End Sub

Sub Salvar()
If txtCodFun.Text = [Ô][Ô] Then GoTo erro
If txtFuncionario.Text = [Ô][Ô] Then GoTo erro
If txtCodigo.Text = [Ô][Ô] Then GoTo erro
If txtSenha.Text = [Ô][Ô] Then GoTo erro
If txtUsuario.Text = [Ô][Ô] Then GoTo erro

[ô]Salva os dados digitados

With ConConexao
.ActiveConnection = CONEXAO
.CommandType = adCmdText
.CommandText = [Ô]INSERT INTO LOGIN (CODIGO,USUARIO,SENHA,CODFUNC,FUNCIONARIO)values([ô][Ô] + txtCodigo.Text + [Ô][ô],[ô][Ô] + txtUsuario.Text + [Ô][ô],[ô][Ô] + txtSenha.Text + [Ô][ô],[ô][Ô] + txtCodFun + [Ô][ô],[ô][Ô] + txtFuncionario + [Ô][ô])[Ô]
.Execute
End With
[ô]Salva os dados da treeview
For F = 1 To trvUsuarios.Nodes.Count
SQL = [Ô]UPDATE LOGIN SET [Ô] & trvUsuarios.Nodes(F).Key & [Ô] = [Ô] & IIf(trvUsuarios.Nodes(F).Checked, 1, 0) _
& [Ô] WHERE CODIGO=[Ô] & txtCodigo.Text
CNN.Execute SQL
Next

[ô]Altera o campo seqlogin
Set RSSEQ = New ADODB.Recordset
RSSEQ.Open [Ô]SELECT * FROM SEQ[Ô], CNN, adOpenStatic, adLockOptimistic
SQL = [Ô]UPDATE SEQ Set SEQLOGIN=[ô][Ô] & txtCodigo & [Ô][ô][Ô]
CNN.Execute SQL

Unload Me
frmAcesso.Show
Exit Sub
erro:
MsgBox [Ô]Todos os campos devem ser preenchidos corretamente.[Ô], vbCritical, [Ô]GWorks Softs[Ô]

End Sub



Valeu quem ao menos tentou ler meu tópico.. Obrigados e espero ter ajudado alguém com isso..
Tópico encerrado , respostas não são mais permitidas