MaximoAccess

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

Obrigado

Administração do MaximoAccess

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


    [Resolvido]Auxilio em módulo

    avatar
    Carlao2
    Avançado
    Avançado

    Respeito às Regras 100%

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

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

    Mensagem  Carlao2 em 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 100%

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

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

    Mensagem  Carlao2 em 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
    ahteixeira
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

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

    Mensagem  ahteixeira em 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:
    http://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) (Razão : Retificação código)
    avatar
    Carlao2
    Avançado
    Avançado

    Respeito às Regras 100%

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

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

    Mensagem  Carlao2 em 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
    ahteixeira
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

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

    Mensagem  ahteixeira em 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 100%

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

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

    Mensagem  Carlao2 em 18/10/2019, 12:08

    Bom dia à todos.

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

    Respeito às Regras 100%

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

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

    Mensagem  ahteixeira em 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:
    http://www.maximoaccess.com/t991-tutorial-sql-para-ms-access

    Abraço
    avatar
    Carlao2
    Avançado
    Avançado

    Respeito às Regras 100%

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

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

    Mensagem  Carlao2 em 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: 15/11/2019, 01:14