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


3 participantes

    Popular Matriz Direto da Tabela

    fernando rodrigo zanchini
    fernando rodrigo zanchini
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 198
    Registrado : 18/04/2018

    Popular Matriz Direto da Tabela Empty Popular Matriz Direto da Tabela

    Mensagem  fernando rodrigo zanchini 27/9/2022, 16:05

    Bom dia pessoal
    Estou tentando Popular uma matriz diretamente da tabela Tbl_VendaSub para a matriz
    Vi vários tutoriais no fórum mais não consegui fazer.
    Estava Populando a matriz do ListBox
    Anexos
    Popular Matriz Direto da Tabela AttachmentCarregarMatriz.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (31 Kb) Baixado 15 vez(es)
    crysostomo
    crysostomo
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2752
    Registrado : 23/01/2018

    Popular Matriz Direto da Tabela Empty Re: Popular Matriz Direto da Tabela

    Mensagem  crysostomo 27/9/2022, 21:59

    Irmão, boa noite. Detalhe para gente aí.Desculpe, mas o que é popular um matriz?
    Nos seus anexos está tudo perfeito.


    .................................................................................
    Obs.: Coloque somente as partes defeituosas para que possamos encontrar e entender  o problema mais rápido para lhe ajudar. Disponho.
    Uma mão ajuda a outra.
    Feliz aquele que transfere o que sabe e aprende o que ensina.
    fernando rodrigo zanchini
    fernando rodrigo zanchini
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 198
    Registrado : 18/04/2018

    Popular Matriz Direto da Tabela Empty Re: Popular Matriz Direto da Tabela

    Mensagem  fernando rodrigo zanchini 27/9/2022, 22:10

    Desculpe não sei se o termo popular está correto.
    No caso quis dizer preencher a matriz.
     
    Nesse anexo eu estava tentando fazer, só consegui preencher usando Listbox “ListBuscaSub” e não gostaria de usar.
    E gostaria de preencher a matriz direto da Tbl_VendaSub.
     
    Tentei usar o DLookup ao invés do ListBuscaSub, e não deu certo.
    crysostomo
    crysostomo
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2752
    Registrado : 23/01/2018

    Popular Matriz Direto da Tabela Empty Re: Popular Matriz Direto da Tabela

    Mensagem  crysostomo 28/9/2022, 21:57

    Boa tarde colega.
    Bom, eu não entendi muito bem olhando o seu projeto, mas usa esse:
    Código:
    Set rs = Me.Recordset.Clone
             rs.FindFirst "[campo sa sua tabela] = " & Me.campo do formulario que ira filtar.Value & ""
             Me.Bookmark = rs.Bookmark
          Set rs = Nothing

    Ou seja, o campo do formulario compara com o campo da tabela, se for igual ele traz toda as informações.
    Não testei em lista porque não estou entendendo, mas usa esse.


    .................................................................................
    Obs.: Coloque somente as partes defeituosas para que possamos encontrar e entender  o problema mais rápido para lhe ajudar. Disponho.
    Uma mão ajuda a outra.
    Feliz aquele que transfere o que sabe e aprende o que ensina.
    fernando rodrigo zanchini
    fernando rodrigo zanchini
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 198
    Registrado : 18/04/2018

    Popular Matriz Direto da Tabela Empty Re: Popular Matriz Direto da Tabela

    Mensagem  fernando rodrigo zanchini 29/9/2022, 12:21

    Popular Matriz Direto da Tabela Img10

    Ao clicar no ListBusca ele carrega os dados da Tbl_VendaSub no Listbox “ListBuscaSub”, e preencher essa a matriz pegando os dados desse “listBuscaSub” .
    Gostaria de eliminar esse Listbox “listBuscaSub” e ao clicar no ListBusca carregasse os dados da Tbl_VendaSub diretamente na matriz.
    crysostomo
    crysostomo
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2752
    Registrado : 23/01/2018

    Popular Matriz Direto da Tabela Empty Re: Popular Matriz Direto da Tabela

    Mensagem  crysostomo 29/9/2022, 14:30

    Bom dia amigo.
    Meus testes não deram certos, mas da uma olha nesse link abaixo que acho que vai te ajudar
    https://www.maximoaccess.com/t7244-resolvidocarregar-os-campos-da-tabela-em-variaveis-via-sql


    .................................................................................
    Obs.: Coloque somente as partes defeituosas para que possamos encontrar e entender  o problema mais rápido para lhe ajudar. Disponho.
    Uma mão ajuda a outra.
    Feliz aquele que transfere o que sabe e aprende o que ensina.
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3501
    Registrado : 13/12/2016

    Popular Matriz Direto da Tabela Empty Re: Popular Matriz Direto da Tabela

    Mensagem  Alexandre Fim 29/9/2022, 16:26

    Olá Fernando,

    Não há necessidade de criar uma matriz (array) para carregar a listbox.
    Você pode carregar sua listbox usando recordset apenas.
    Substitua a função por esta:
    Código:


    Function PreencheMatrizProduto(nCodVenda As Integer)
    'MsgBox "Carregar os dados da tabela Tbl_VendaSub direto na matriz  *strSubVenda()*  Sem Usar o ListBox."
    'Dim Y As Integer
    'Dim I As Integer
    'Dim X As Integer
    'Y = ListBuscaSub.ListCount - 1
    'X = 0
    'ReDim strSubVenda(0 To Y, 6)
    'For I = 0 To UBound(strSubVenda)
    '
    'strSubVenda(X, 0) = Me.ListBuscaSub.Column(0, I)
    'strSubVenda(X, 1) = Me.ListBuscaSub.Column(1, I)
    'strSubVenda(X, 2) = Me.ListBuscaSub.Column(2, I)
    'strSubVenda(X, 3) = Me.ListBuscaSub.Column(3, I)
    'strSubVenda(X, 4) = Me.ListBuscaSub.Column(4, I)
    'strSubVenda(X, 5) = Me.ListBuscaSub.Column(5, I)
    'strSubVenda(X, 6) = Format(Me.ListBuscaSub.Column(6, I), "currency")
    '
    '
    'X = X + 1
    'Next I

    Dim sSQL                As String
    Dim rs                  As DAO.Recordset
    Dim I                  As Integer
    Dim strDados            As String

        With Me.ListBuscaSub
            .RowSource = Empty
            .ColumnCount = 6
            .ColumnWidths = "0cm;0cm;5cm;1,3cm;1,3cm;2cm;2cm"
            .ColumnHeads = False
            .RowSourceType = "Value List"
            .Requery
        End With

        sSQL = Empty
        sSQL = sSQL & " SELECT "
        sSQL = sSQL & " Tbl_VendaSub.IdSubVenda, "
        sSQL = sSQL & " Tbl_VendaSub.CodVenda, "
        sSQL = sSQL & " Tbl_Produto.Produto, "
        sSQL = sSQL & " Tbl_Unidade.Descricao, "
        sSQL = sSQL & " Tbl_VendaSub.Qtd, "
        sSQL = sSQL & " Tbl_VendaSub.ValorUnit, "
        sSQL = sSQL & " Tbl_VendaSub.ValorTotal "
        sSQL = sSQL & " FROM Tbl_Produto "
        sSQL = sSQL & " INNER JOIN (Tbl_Unidade INNER JOIN Tbl_VendaSub ON Tbl_Unidade.IdUnidade = Tbl_VendaSub.Unidade) "
        sSQL = sSQL & " ON Tbl_Produto.IdProduto = Tbl_VendaSub.Produto "
        sSQL = sSQL & " WHERE (((Tbl_VendaSub.CodVenda)=" & nCodVenda & "));"

        Set rs = CurrentDb.OpenRecordset(sSQL, dbOpenSnapshot)

        If Not rs.EOF Then
            Do While Not rs.EOF
                strDados = Empty
                With ListBuscaSub
                    For I = 0 To .ColumnCount - 1
                        strDados = strDados & IIf(IsNumeric(rs(I).Value), Format(rs(I), "#,##0.#0"), rs(I)) & ";"
                    Next I
                    .AddItem Mid(strDados, 1, Len(strDados) - 1)
                End With
                rs.MoveNext
            Loop
        End If

        rs.Close
        Set rs = Nothing

        Exit Function

    trata_erro:
        MsgBox "Erro ocorrido: " & Err.Number & " - " & Err.Description & "", vbCritical, "Erro"
        Exit Function
    End Function


    E na sub "ListBusca_DblClick", mude a chamada para função, conforme abaixo:

    Código:

    Call PreencheMatrizProduto(Me.ListBusca.Column(0))

    É isso

    Espero ter ajudado

    Att,

    FIM




    .................................................................................
    Arrow  Marcar tópico como Resolvido: clique aqui
    Arrow  Postar anexos no fórum: clique aqui

    Popular Matriz Direto da Tabela Setinf11
    Sistemas e Tecnologia Ltda

    Conteúdo patrocinado


    Popular Matriz Direto da Tabela Empty Re: Popular Matriz Direto da Tabela

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 7/12/2024, 15:25