MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access


2 participantes

    alterar nas duas tabelas ao mesmo tempo sem duplicar os lançamentos

    avatar
    Dina.azevedo
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 23
    Registrado : 05/08/2016

    alterar nas duas tabelas ao mesmo tempo sem duplicar os lançamentos Empty alterar nas duas tabelas ao mesmo tempo sem duplicar os lançamentos

    Mensagem  Dina.azevedo 12/4/2017, 21:35

    Boa tarde,


    Preciso Alterar nas duas tabelas no qual salvei o lançamento.

    se usar o código abaixo, ele somente altera a primeira tabela fonte e me diz que irá duplicar o lançamento.

    Private Sub Btn_Alterar_Click()

    Data_Pagamento.enabled = True
    Data_Pagamento.SetFocus

    NOVO.enabled = False
    Btn_Alterar.enabled = False
    Primeiro.enabled = False
    anterior.enabled = False
    proximo.enabled = False
    Ultimo.enabled = False
    Btn_Excluir.enabled = False
    Btn_Salvar.enabled = True

    End Sub
    CassioFabre
    CassioFabre
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 731
    Registrado : 18/01/2013

    alterar nas duas tabelas ao mesmo tempo sem duplicar os lançamentos Empty Re: alterar nas duas tabelas ao mesmo tempo sem duplicar os lançamentos

    Mensagem  CassioFabre 13/4/2017, 11:53

    Bom dia,

    Supondo que você tenha um campo de diferenciação entre os registros (geralmente um campo código ou algo assim), use o recordset para alterar as duas tabelas.

    Código:
    Dim db as Database
    Dim rs as Recordset

    Set db = currentDb
    set rs = db.openrecordset("SELECT campos FROM tabela1 WHERE codigo = " & txtCodigo & "")

    rs.edit
        rs("campo1") = txtCampo1
        rs("campo2") = txtCampo2
        rs("campo3") = txtCampo3
        rs("campoN") = txtCampoN
    rs.update
    rs.close

    set rs = db.openrecordset("SELECT campos FROM tabela2 WHERE codigo = " & txtCodigo & "")

    rs.edit
        rs("campo1") = txtCampo1
        rs("campo2") = txtCampo2
        rs("campo3") = txtCampo3
        rs("campoN") = txtCampoN
    rs.update
    rs.close

    db.close

    Abraço.
    avatar
    Dina.azevedo
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 23
    Registrado : 05/08/2016

    alterar nas duas tabelas ao mesmo tempo sem duplicar os lançamentos Empty Re: alterar nas duas tabelas ao mesmo tempo sem duplicar os lançamentos

    Mensagem  Dina.azevedo 13/4/2017, 14:41

    Bom dia Cassio,

    Inclui, mas acho que falta algo, ele dá a mensagem de A Variável do objeto ou a variável do bloco With não foi definida

    obrigada.

    Private Sub Btn_Alterar_Click()

    Dim db As Database
    Dim rs As Recordset

    Set db = CurrentDb
    Set rs = db.OpenRecordset("SELECT campos fROM Tb_Movimento_Caixa WHERE IDCaixa = " & IDCaixa & "")

    rs.Edit

    rs("Empresa") = Me.txtempresa
    rs("Histórico") = Me.txthistórico
    rs("Data_Pagamento") = Me.txtData_pagto
    rs("ClassifcDebito") = Me.txtClassifcDebito
    rs("Crédito") = Me.txtcredito
    rs("IDCaixa") = Me.IDCaixa


    rs.Update
    rs.Close

    Set rs = db.OpenRecordset("SELECT campos FROM Tb_Conta_Corrente WHERE IDCaixa = " & IDCaixa & "")

    rs.Edit

    rs("Empresa") = Me.txtempresa
    rs("Histórico") = Me.txthistórico
    rs("Data_Pagamento") = Me.txtData_pagto
    rs("ClassifcDebito") = Me.txtClassifcDebito
    rs("Crédito") = Me.txtcredito
    rs("IDCaixa") = Me.IDCaixa


    rs.Update
    rs.Close

    db.Close

    End Sub
    CassioFabre
    CassioFabre
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 731
    Registrado : 18/01/2013

    alterar nas duas tabelas ao mesmo tempo sem duplicar os lançamentos Empty Re: alterar nas duas tabelas ao mesmo tempo sem duplicar os lançamentos

    Mensagem  CassioFabre 13/4/2017, 17:11

    Boa tarde,

    O erro acontece porque voce usou no rs("campoN") nome de campo que não delimitou na lista do select.

    No trecho destacado Set rs = db.OpenRecordset("SELECT campos fROM Tb_Movimento_Caixa WHERE IDCaixa = " & IDCaixa & ""), onde está "campos", voce deveria colocar o nome dos campos da tabela que deseja alterar.

    Se forem TODOS os campos, voce pode usar um * (asterisco) para representá-los:
    Código:
    Set rs = db.OpenRecordset("SELECT * fROM Tb_Movimento_Caixa WHERE IDCaixa = " & IDCaixa & "")

    Se não forem todos os campos da tabela, indetifique um a um os campos que deseja, por exemplo:
    Código:
    Set rs = db.OpenRecordset("SELECT IDCaixa, Empresa, Histórico, Data_Pagamento fROM Tb_Movimento_Caixa WHERE IDCaixa = " & IDCaixa & "")
    Ai, neste caso, apenas os campos que voce delimitou ali poderão ser alterados, se no rs("campoN") escrever alguma campo que não esteja na lista, dará o mesmo erro.

    Leia este tópico do JPaulo: https://www.maximoaccess.com/t1594-instrucoes-sql-como-utilizar

    Abraço.
    avatar
    Dina.azevedo
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 23
    Registrado : 05/08/2016

    alterar nas duas tabelas ao mesmo tempo sem duplicar os lançamentos Empty Re: alterar nas duas tabelas ao mesmo tempo sem duplicar os lançamentos

    Mensagem  Dina.azevedo 20/5/2017, 15:59

    Cassio,

    Obrigada!

    Conteúdo patrocinado


    alterar nas duas tabelas ao mesmo tempo sem duplicar os lançamentos Empty Re: alterar nas duas tabelas ao mesmo tempo sem duplicar os lançamentos

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 19/4/2024, 18:12