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


    Dlookup: Tabela buscando em Tabela

    Marcos Forum
    Marcos Forum
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 14
    Registrado : 09/06/2013

    Dlookup: Tabela buscando em Tabela Empty Dlookup: Tabela buscando em Tabela

    Mensagem  Marcos Forum 22/7/2015, 18:31

    Boa Tarde!

    Pessoal,

    Tenho um BD, onde preciso que uma das tabelas armazene os dados com referência a valores que a mesma possui. Exemplo, tbl_OnTime (tabela armazenadora) possui os dados de CD e UF que será concatenado (em VBA) para extrair valores na tbl_LeadTime que possui uma coluna chamada Concatenar que já tem esses valores prontos. A idéia é do PROCV do excel.

    Andei observando que o Dlookup efetua este tipo de trabalho, porém não consigo acertar. Eu entendo que preciso até enxugar mais, porém como estou aprendendo, me perco na lógica da coisa.

    Sub ComandoLoop()

    Dim Db As DAO.Database
    Dim Rstbl_OnTime As DAO.Recordset
    Dim Rstbl_LeadTime As DAO.Recordset
    Dim Rstbl_BD2 As DAO.Recordset
    Dim varCDLoja As Variant
    Dim varCDUF As Variant
    Dim varLeadTime As Variant
    Dim lngContador As Long
    Dim lngContaOProgresso As Long
    Dim varDataHoraInicial As Variant
    Dim varDataHoraFinal As Variant

    Set Db = OpenDatabase(CurrentProject.Path & "\On Time_be.accdb")
    Set Rstbl_OnTime = Db.OpenRecordset("tbl_OnTime")
    Set Rstbl_LeadTime = Db.OpenRecordset("tbl_LeadTime")
    Set Rstbl_BD2 = Db.OpenRecordset("tbl_BD2")

    Rstbl_OnTime.MoveLast
    lngContador = Rstbl_OnTime.RecordCount
    Rstbl_OnTime.MoveFirst
    SysCmd acSysCmdInitMeter, "Realizando as alterações, aguarde...", lngContador

    For lngContaOProgresso = 1 To lngContador

    SysCmd acSysCmdUpdateMeter, lngContaOProgresso

    varCDLoja = DLookup("[CD]&[Loja]", "tbl_OnTime", "LeadTime='" & LeadTime & "'")

    varCDUF = DLookup("[CD]&[UF]", "tbl_OnTime")

    varLeadTime = DLookup("[CD]&[UF]", "tbl_OnTime")

    varDataHoraInicial = CStr(Rstbl_OnTime(7) + Rstbl_OnTime(Cool + Rstbl_OnTime(13))
    varDataHoraFinal = CStr(Rstbl_OnTime(7) + Rstbl_OnTime(9) + Rstbl_OnTime(13))
    Rstbl_OnTime.Edit
    Rstbl_OnTime(10) = varDataHoraInicial
    Rstbl_OnTime(11) = varDataHoraFinal
    Rstbl_OnTime(12) = varCDLoja
    Rstbl_OnTime(13) = varLeadTime
    Rstbl_OnTime.Update
    Rstbl_OnTime.MoveNext

    Next lngContaOProgresso
    Rstbl_OnTime.Close
    Db.Close
    SysCmd acSysCmdRemoveMeter
    MsgBox "OK, Total de: " & lngContador & " registros", vbInformation, "Concluído"

    affraid affraid affraid affraid affraid affraid affraid



    .................................................................................
    A mente que se abre a uma ideia, jamais voltará a seu tamanho original.

      Data/hora atual: 22/11/2024, 08:30