AONDE ESTA O ERRO?

RICATOM 11/04/2007 12:48:18
#211228
Colega mas voce nao esta colocando rst.AddNew e nem rst.Update por isso nao salva

DREAMSOFT 11/04/2007 12:50:55
#211230
até então eu havia esquecido de colocar, mas me disseram isso em um post anterior e eu coloquei! Atualmente meu código está assim:

 Public Sub Saida()
Dim sql47 As String
Conexao
ReabreRst Rst
sql47 = "SELECT * FROM TabVisitantes ORDER BY DataCont, NumeCont desc"
Rst.Open sql47, Cnn, adOpenKeyset, adLockOptimistic

Do While Not Rst.EOF
If Rst!cracha = MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 0) And MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 0) <> "" Then
Rst.AddNew
Rst!sdata = Format(Date, "dd-mm-yy")
Rst!shora = Format(time, "hh:mm:ss")
Rst.Update
Exit Sub
Else
Rst.MoveNext
End If
Loop
End Sub

USUARIO.EXCLUIDOS 11/04/2007 12:52:10
#211232
Corrigindo - sorry

experimenta assim:

Rst!sdata = Format(Date, "dd-mm-yy")
Rst!shora = Format(time, "hh:mm:ss")
[txt-color=#ff0000]Rst.Update [/txt-color]
exit sub
DREAMSOFT 11/04/2007 12:56:27
#211235
Meu sistema usa o BD pra tudo, não sei porque agora não está dando certo!
Muito estranho isso... [S61]
RICATOM 11/04/2007 13:13:14
#211241
Troque entao o adOpenKeyset pelo adOpenDynamic

Rst.Open sql47, Cnn, adOpenDynamic, adLockOptimistic
USUARIO.EXCLUIDOS 11/04/2007 13:19:38
#211242
Primeiro, acho que você não quer criar um registro novo, você quer alterar o registro achado, certo? então um "update" seria o bastante, se o tipo do campo estivesse errado, teria que dar um erro, então o que eu tentaria era antes do EXIT SUB fechar as tabelas e bancos abertos nesta rotina.
Caso não de certo, e se você puder, mande para mim o fonte para eu analisar.
abraços

DREAMSOFT 11/04/2007 14:08:58
#211255
CHESKYS você tem razão!
Apenas o Rst.Update é suficiente. Valeu por todos, de coração fico agradecido
Página 2 de 2 [17 registro(s)]
Tópico encerrado , respostas não são mais permitidas