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

    [Resolvido]Auxilio em módulo

    avatar
    Carlao2
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 264
    Registrado : 19/10/2016

    [Resolvido]Auxilio em módulo Empty [Resolvido]Auxilio em módulo

    Mensagem  Carlao2 14/10/2019, 16:47

    Senhores do conselho. Boa tarde!
    Estou precisando de uma ajuda simples

    O código abaixo funciona perfeitamente, o que preciso é colocar uma condição para que ele rode somente nos itens cuja coluna "Marca" estiver preenchida com "SIM". Como e em que parte devo colocar essa condição?

    Código:
    Sub AlterarTabelas()
       Dim rst1 As DAO.Recordset
       Dim rst2 As DAO.Recordset
       Dim db As DAO.Database
       Dim nIndiceI2 As Long, nIndiceI3 As Long
      Dim PTALT As String
       Set db = CurrentDb
       
       Set rst1 = db.OpenRecordset("SELECT * FROM CONTABILPARACONCILIACAO ORDER BY PATRIMALT, DTAQUI")
       rst1.MoveFirst
       nIndiceI2 = 0
       nIndiceI3 = 0
       Do While Not rst1.EOF
           PTALT = rst1("PATRIMALT")
           Do While (PTALT = rst1("PATRIMALT"))
           
                   rst1.Edit
                   Select Case rst1("IDOPER")
                       Case "M1"
                           rst1("TESTE") = rst1("TESTE") & "-00000"
                       '   nIndiceI2 = 0
                       Case "I2"
                           nIndiceI2 = nIndiceI2 + 1
                           rst1("TESTE") = rst1("TESTE") & "-" & Format(nIndiceI2, "00000")
                       Case "I3"
                           nIndiceI2 = nIndiceI2 + 1
                           rst1("TESTE") = rst1("TESTE") & "-" & Format(nIndiceI2, "00000")
                   End Select
                   rst1.Update
                   rst1.MoveNext
                   If rst1.EOF Then
                       Exit Do
                   End If
           Loop
           Set rst2 = db.OpenRecordset("SELECT * FROM FISICOTOT WHERE PATRIM ='" & PTALT & "' ORDER BY PATRIM")
           rst2.MoveFirst
           Do While Not rst2.EOF
           rst2.Edit
           Select Case rst2("IDOPER")
               Case "M1"
                   rst2("TESTE") = rst2("TESTE") & "-00000"
          '         nIndiceI2 = 0
               Case "I2"
                   nIndiceI2 = nIndiceI2 + 1
                   rst2("TESTE") = rst2("TESTE") & "-" & Format(nIndiceI2, "00000")
               Case "I3"
                   nIndiceI2 = nIndiceI2 + 1
                   rst2("TESTE") = rst2("TESTE") & "-" & Format(nIndiceI2, "00000")
           End Select
           rst2.Update
           rst2.MoveNext
           Loop
               nIndiceI2 = 0
       nIndiceI3 = 0
           
       Loop
           


       MsgBox "Fim", vbInformation
    End Sub

    Desde já agradeço a habitual ajuda dos senhores
    avatar
    Carlao2
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 264
    Registrado : 19/10/2016

    [Resolvido]Auxilio em módulo Empty Re: [Resolvido]Auxilio em módulo

    Mensagem  Carlao2 16/10/2019, 14:21

    Senhores. Bom dia!

    Alguma ideia de como faço isso?

    Só complementando as informações

    A coluna marca existe nas duas tabelas e ambas devem estar preenchida com "SIM"

    Desde já agradeço a atenção
    Alvaro Teixeira
    Alvaro Teixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7996
    Registrado : 15/03/2013

    [Resolvido]Auxilio em módulo Empty Re: [Resolvido]Auxilio em módulo

    Mensagem  Alvaro Teixeira 16/10/2019, 14:39

    Olá Carlos,

    Tente assim, onde tem:
    Código:
    Set rst1 = db.OpenRecordset("SELECT * FROM CONTABILPARACONCILIACAO ORDER BY PATRIMALT, DTAQUI")

    altere por:
    Código:
    Set rst1 = db.OpenRecordset("SELECT * FROM CONTABILPARACONCILIACAO WHERE [Marca] = 'Sim' ORDER BY PATRIMALT, DTAQUI")

    Se o campo for do tipo boleano (true/false), assim:
    Código:
    Set rst1 = db.OpenRecordset("SELECT * FROM CONTABILPARACONCILIACAO WHERE [Marca] = true ORDER BY PATRIMALT, DTAQUI")

    Se tiver dúvidas, mais informação desde 2010 na mensagem nº 1 do tópico abaixo:
    https://www.maximoaccess.com/t991-tutorial-sql-para-ms-access

    Abraço


    Última edição por ahteixeira em 18/10/2019, 12:23, editado 1 vez(es) (Motivo da edição : Retificação código)
    avatar
    Carlao2
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 264
    Registrado : 19/10/2016

    [Resolvido]Auxilio em módulo Empty Re: [Resolvido]Auxilio em módulo

    Mensagem  Carlao2 16/10/2019, 16:46

    Teixeira. Boa tarde e muito obrigado pela pronta ajuda, porém agora está me dando o seguinte erro:

    Erro em tempo de execução "3075"

    Erro de sintaxe (operador faltando) na expressão de consulta DTAQUI WHERE [Marca] = 'Sim'"

    Poderia por favor me ajudar

    Grato
    Alvaro Teixeira
    Alvaro Teixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7996
    Registrado : 15/03/2013

    [Resolvido]Auxilio em módulo Empty Re: [Resolvido]Auxilio em módulo

    Mensagem  Alvaro Teixeira 16/10/2019, 17:48

    Olá Carlos, estou no celular

    Tente assim:

    Código:
    Set rst1 = db.OpenRecordset("SELECT * FROM CONTABILPARACONCILIACAO WHERE [Marca] = 'Sim' ORDER BY PATRIMALT, DTAQUI ")

    Não foi ver o manual

    Abraço
    avatar
    Carlao2
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 264
    Registrado : 19/10/2016

    [Resolvido]Auxilio em módulo Empty Re: [Resolvido]Auxilio em módulo

    Mensagem  Carlao2 18/10/2019, 12:08

    Bom dia à todos.

    Teixeira.
    Muito obrigado, o módulo agora está perfeito.
    Alvaro Teixeira
    Alvaro Teixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7996
    Registrado : 15/03/2013

    [Resolvido]Auxilio em módulo Empty Re: [Resolvido]Auxilio em módulo

    Mensagem  Alvaro Teixeira 18/10/2019, 12:17

    Olá Carlos,

    Obrigado pelo retorno, fico feliz por ter ajudado.

    Na mensagem nº 3 estava com erro não tinha prestado a devida atenção e já retifiquei.

    Não se esqueça:
    https://www.maximoaccess.com/t991-tutorial-sql-para-ms-access

    Abraço
    avatar
    Carlao2
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 264
    Registrado : 19/10/2016

    [Resolvido]Auxilio em módulo Empty Re: [Resolvido]Auxilio em módulo

    Mensagem  Carlao2 18/10/2019, 12:27

    Valeu.

    Obrigado

    Conteúdo patrocinado


    [Resolvido]Auxilio em módulo Empty Re: [Resolvido]Auxilio em módulo

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 21/11/2024, 19:16