Ir para conteúdo
Fórum Script Brasil
  • 0

RecordSet_Conflito ?


George Ferraz

Pergunta

Dia rapaziada, estou há alguns dias com esse problema, seguinte: estou alterando alguns registros em uma tabela até aí tudo bem, agora quando eu altero mais de um, os registros se atrapalham, nossa, não consigo vê onde estou errando, alguém pode me dizer onde ?

Form 1 os primeiros dados básicos são gravados nesse form, nome, endereço etc...:

Private Sub Form_Load()
Set db = Workspaces(0).OpenDatabase(App.Path & "\BdSys\Estoque.mdb")
Set rs = db.OpenRecordset("TbClt", dbOpenDynaset)

With FrmGridClt.MsFlexGridClt
rs.FindFirst "CodClt like'" & CodClt & "'"
Do While rs.NoMatch = False
FrmCadClt.TxtCodClt = rs("CodClt")
FrmCadClt.TxtNClt = rs("NClt")
FrmCadClt.TxtEnd = rs("End")
FrmCadClt.TxtBr = rs("Br")
FrmCadClt.TxtCid = rs("Cid")
FrmCadClt.TxtCep = rs("Cep")
FrmCadClt.TxtTel = rs("Tel")
FrmCadClt.MkCPF = rs("CPF")
FrmCadClt.TxtLmt = rs("Lmt")
FrmCadClt.TxtDtClt = rs("DtClt")
FrmCadClt.TxtSld = IIf(IsNull(rs!Sld), "", rs!Sld)
FrmCadClt.TxtUltCmpr = IIf(IsNull(rs!UltCmpr), "", rs!UltCmpr)
FrmCadClt.TxtObs = rs("Obs")
FrmCadClt.TxtCodClt = Format(FrmCadClt.TxtCodClt, "00000")
rs.FindNext "CodClt like'" & CodClt & "'"
Loop

End With

End Sub
Form 1 Inclusão dos primeiros dados, nome, endereço, etc...:
Private Sub lvBIncl_Click()

rs.AddNew

rs!CodClt = TxtCodClt
rs!NClt = TxtNClt
rs!End = TxtEnd
rs!Br = TxtBr
rs!Cid = TxtCid
rs!Cep = TxtCep
rs!Tel = TxtTel
rs!CPF = MkCPF
rs!Lmt = TxtLmt
rs!DtClt = TxtDtClt
rs!Sld = TxtSld
rs!UltCmpr = TxtUltCmpr
rs!Obs = TxtObs
TxtCodClt = Format(TxtCodClt, "00000")

rs.Update
End Sub
Form 2 aqui nesse form quando altero outros dados como, limite, saldo para compra e data da compra, ele confunde os registros:
Private Sub Form_Load()
Set db = Workspaces(0).OpenDatabase(App.Path & "\BdSys\Estoque.mdb")
Set rs = db.OpenRecordset("TbClt", dbOpenDynaset)

'Não consigo vê o erro, o que está errado ?

With FrmGridClt.MsFlexGridClt
rs.FindFirst "CodClt like'" & CodClt & "'"
Do While rs.NoMatch = False
FrmCadClt.TxtCodClt = rs("CodClt")
FrmCadClt.TxtNClt = rs("NClt")
FrmCadClt.TxtEnd = rs("End")
FrmCadClt.TxtBr = rs("Br")
FrmCadClt.TxtCid = rs("Cid")
FrmCadClt.TxtCep = rs("Cep")
FrmCadClt.TxtTel = rs("Tel")
FrmCadClt.MkCPF = rs("CPF")
FrmCadClt.TxtLmt = rs("Lmt")
FrmCadClt.TxtDtClt = rs("DtClt")
TxtSld = IIf(IsNull(rs!Sld), "", rs!Sld)
TxtUltDt = IIf(IsNull(rs!UltCmpr), "", rs!UltCmpr)
FrmCadClt.TxtObs = rs("Obs")
FrmCadClt.TxtCodClt = Format(FrmCadClt.TxtCodClt, "00000")
rs.FindNext "CodClt like'" & CodClt & "'"
Loop

End With

End Sub
Form 2 tento fazer alterações em alguns campos, confunde os registros ?
Private Sub lvBConf_Click()

'Faço as alterações e troca os registros quanto altera
'Mais de um registro

rs.Edit
        
        
rs!NClt = rs!NClt
rs!End = rs!End
rs!Br = rs!Br
rs!Cid = rs!Cid
rs!Cep = rs!Cep
rs!Tel = rs!Tel
rs!CPF = rs!CPF
rs!Lmt = rs!Lmt
rs!DtClt = rs!DtClt
rs!Sld = TxtSld
rs!UltCmpr = TxtUltDt
rs!Obs = rs!Obs
TxtCodClt = Format(TxtCodClt, "00000")
              
rs.Update

'Aqui eu igualo o grid com as alterações efetuadas
'Mais altera errado, digo troca registros

With FrmGridClt.MsFlexGridClt

.Row = .Row - 1
.TextMatrix(.Row + 1, 0) = TxtCodClt.Text
.TextMatrix(.Row + 1, 1) = TxtNClt.Text
.TextMatrix(.Row + 1, 2) = FrmCadClt.TxtEnd
.TextMatrix(.Row + 1, 5) = FrmCadClt.TxtCep
.TextMatrix(.Row + 1, 6) = FrmCadClt.TxtTel
.TextMatrix(.Row + 1, 7) = FrmCadClt.MkCPF.Text
.TextMatrix(.Row + 1, 8) = FrmCadClt.TxtLmt.Text
.TextMatrix(.Row + 1, 9) = TxtSld.Text
.TextMatrix(.Row + 1, 10) = TxtUltDt.Text
.TextMatrix(.Row + 1, 11) = FrmCadClt.TxtDtClt.Text
.TextMatrix(.Row + 1, 12) = FrmCadClt.TxtObs.Text
End With

End Sub

Valeu a força de todos do ScriptBrasil.

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Tarde Kuroi, olha na verdade, eu tenho um Form onde eu gravo os de cadastro como, nome, endereço e tenho alguns campos que eu vou fazer alterações depois da movimentação do cliente em outro Form, vou alterar os campos de limite de crédito, saldo e última compra. O problema é qual eu vou fazer essas alterações o RecordSet fica louco, tipo: ele pega os dados que acabei de alterar e joga no em outro registro, assim registro (2) do RecordSet vou alterar daí ele joga no registro (1) do RecordSet. Não conseguir fazer funcionar isso ainda já criei uma Variável tipo Integer "CodClt" mais não deu certo.

Valeu a força meu amigo.

Link para o comentário
Compartilhar em outros sites

  • 0

então, não sei se ta gravando errado mesmo, talvez teja só mostrando errado. você já conferiu direto no banco pra ver se ta gravando errado mesmo??

acho q talvez o erro esteja aqui na hora de mostrar.

'Aqui eu igualo o grid com as alterações efetuadas
'Mais altera errado, digo troca registros

With FrmGridClt.MsFlexGridClt

.Row = .Row - 1
.TextMatrix(.Row + 1, 0) = TxtCodClt.Text
.TextMatrix(.Row + 1, 1) = TxtNClt.Text
.TextMatrix(.Row + 1, 2) = FrmCadClt.TxtEnd
.TextMatrix(.Row + 1, 5) = FrmCadClt.TxtCep
.TextMatrix(.Row + 1, 6) = FrmCadClt.TxtTel
.TextMatrix(.Row + 1, 7) = FrmCadClt.MkCPF.Text
.TextMatrix(.Row + 1, 8) = FrmCadClt.TxtLmt.Text
.TextMatrix(.Row + 1, 9) = TxtSld.Text
.TextMatrix(.Row + 1, 10) = TxtUltDt.Text
.TextMatrix(.Row + 1, 11) = FrmCadClt.TxtDtClt.Text
.TextMatrix(.Row + 1, 12) = FrmCadClt.TxtObs.Text
End With[/code]

mas então, não entendi direito o codigo porque não sei qual form é qual. você fala form 1 e form 2 mas ai você passa os nomes FrmGridClt e FrmCadClt e ai não sei qual é qual, fica dificil de entender.

Link para o comentário
Compartilhar em outros sites

  • 0

Kuroi dia, é assim: Form 1 = "FrmClt" (Faço uma consulta nos registro através de um MsFlexGrid no "FrmGridClt") Form 2 = "FrmVdaCred" (aqui eu queria fazer outras alterações no RecordSet, que é o mesmo do "FrmClt" e que eu consulto no "FrmGridClt" através de um MsFlexGrid ). Não conseguir fazer dessa forma, daí eu mundei por não conseguir resolver da forma acima. Fiz assim: Eu faço a consulta no MsFlexGrid no "FrmGridClt" o usuário escolhei o cliente que está fazendo a venda e grava em outro RecordSet que eu chamo no "FrmVdaCred", que é o form que originalmente recebi os dados da venda a crédito. Ficou legal dessa forma, mais foi uma luta resolver isso, mais sou iniciante e isso é normal nossa que cabra cabeça.

Valeu sua força meu amigo e a de todos do ScriptBrasil.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...