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


    [Resolvido] Filtragem em Cascata para formulários continuos

    avatar
    nucosta
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 31
    Registrado : 24/07/2012

    [Resolvido] Filtragem em Cascata para formulários continuos Empty Filtragem em Cascata para formulários continuos

    Mensagem  nucosta 24/7/2012, 16:04

    Segue exemplo:

    Documentos de compra de artigos com Tipo de documento (Factura, guia remessa, transporte, etc), Numero do documento e fornecedor - Respeita tabela documentos.
    Linhas documentos em sub formulário para colocar artigos comprados com
    Artigo
    Embalagem
    Qtd
    Valor unitário
    Iva
    Valor iva
    Valor total

    Os 4 primeiros entram directamente na tabela linhas documentos associada aos documentos.
    Os artigos são escolhidos de uma combo - tabela artigos

    Tudo funciona bem.

    Agora como cada artigo tem 1 ou duas embalagens possiveis queria que a embalagem viesse também de uma combo ligada a outra tabela embalagens_artigos dependendo do valor escolhido.
    Tudo bem em formulários simples mas neste caso o formulário é e tem de ser continuo.

    Alguma hipótese?

    Obrigado

    Cumprimentos
    avatar
    Convidado
    Convidado


    [Resolvido] Filtragem em Cascata para formulários continuos Empty Re: [Resolvido] Filtragem em Cascata para formulários continuos

    Mensagem  Convidado 29/7/2012, 17:09

    Boas NuCosta, se possível disponibilize o BD para que possamos ver e encontrar uma solução para ti.

    Cumprimentos.
    avatar
    nucosta
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 31
    Registrado : 24/07/2012

    [Resolvido] Filtragem em Cascata para formulários continuos Empty Re: [Resolvido] Filtragem em Cascata para formulários continuos

    Mensagem  nucosta 30/7/2012, 10:45

    Boas,

    Obrigado pela resposta.

    A BD está demasiado grande mas fiz uma limpeza chamei-lhe exemplo só com o importante.

    Reparem que quando insiro um novo documento tenho um formulário com um sub-formulário continuo.

    A filtragem em cascata funciona na primeira linha mas não nas outras, já fiz de várias maneiras mas não consigo.

    Obrigado pela atenção.

    Cumprimentos,

    NC
    Anexos
    [Resolvido] Filtragem em Cascata para formulários continuos Attachmentexemplo.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (135 Kb) Baixado 49 vez(es)
    avatar
    Convidado
    Convidado


    [Resolvido] Filtragem em Cascata para formulários continuos Empty Re: [Resolvido] Filtragem em Cascata para formulários continuos

    Mensagem  Convidado 30/7/2012, 17:57

    Qual o form?

    Cumprimentos.
    avatar
    nucosta
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 31
    Registrado : 24/07/2012

    [Resolvido] Filtragem em Cascata para formulários continuos Empty Re: [Resolvido] Filtragem em Cascata para formulários continuos

    Mensagem  nucosta 31/7/2012, 08:53

    Documentos

    Quando faço inserir um novo documento, ele abre o form em adição.
    O relacionamento que quero é entre artigo e embalagem (associação feita em artigos_embalagens).

    Cumprimentos

    NC
    avatar
    Convidado
    Convidado


    [Resolvido] Filtragem em Cascata para formulários continuos Empty Re: [Resolvido] Filtragem em Cascata para formulários continuos

    Mensagem  Convidado 1/8/2012, 21:18

    Vejamos se entendi....

    Cada artigo pode ter mais de uma embalagem...

    Os artigos ficam na tabela Artigos.

    Ex.:
    Grampo - Embalagem 1
    Grampo - Embalagem 2


    é isso?

    Caso positivo o que deve ter e uma tabela para artigos e outra apenas para embalagem, sendo ambas relacionadas...
    Ao esolher o tipo de embalagem em uma combo baseada na tabela embalagens, grava o ID da mesma em um campo na tabela artigos.. permanecendo assim o relacionamento.



    avatar
    Convidado
    Convidado


    [Resolvido] Filtragem em Cascata para formulários continuos Empty Re: [Resolvido] Filtragem em Cascata para formulários continuos

    Mensagem  Convidado 1/8/2012, 22:33

    Boas NuCosta..

    Vamos ao que fiz aqui.

    1 - Renommei nome de duas tabelas e nome dos campos para uma melhor compreensão.
    tblArtigos e tblEmbalagens

    2 - Criei um campo de nome: ID_Embalagem na tblArtigos, este campo comportará as ID_Embalagens da tblEmbalagens quanto cadastradas.

    Por exemplo:

    Grampo No campo ID_Embalagem: 1,2

    significando que o grampo tem as embalagens de ID 1 e 2

    3 - Criei um form para que cadastre as embalagens por artigo.
    Neste form o seguinte código:

    Código:

    Private Sub btnSeleciona_Click()
         
        Dim ctl As Control, frm As Form, lngContador As Long
        Dim StrSQL As String

        Set frm = Forms!frmPesQEmbalagem
        Set ctl = frm!LstMens
       
        StrWhere = ""
        For lngContador = 0 To ctl.ListCount - 1
            If ctl.Selected(lngContador) Then
                StrWhere = StrWhere & "," & ctl.Column(0, lngContador)
            End If
        Next
        StrWhere = Mid(StrWhere, 2)
       
        If ctl.ItemsSelected.Count = 0 Then
            MsgBox "Selecione as Menssagens", vbCritical, "ATENÇÃO"
            Exit Sub
        End If
        MsgBox StrWhere
    CurrentDb.Execute "UPDATE tblArtigos SET ID_Embalagem = StrWhere Where ID_Artigos = " & Me.cboArtigo.Column(0) & ";"
    MsgBox "Embalagem cadastrada", vbInformation, "Atenção"

    A lógica é uma listBox de multipla escolha que lança na variável StrWhere as ID's das embalagens selecionadas e grava no campo da tabela do Artigo selecionado na combo.


    No form Documentos.

    Apos atualizar da cboArtigo, carrego o RowSource da cboEmbalagens, filtrando pelo campo ID_Embalagem na tblArtigos.

    Código:
    Código:
    Private Sub cboArtigo_AfterUpdate()
    Dim StrSQL
        StrSQL = "SELECT * FROM tblEmbalagens WHERE ID_Embalagem In (" & Me.cboArtigo.Column(2) & ")"
    Me.cboEmb.RowSource = StrSQL
    Me.cboEmb.SetFocus
    Me.cboEmb.Dropdown
    End Sub

    Assim após escolher o artigo na cboArtigo, abre automaticamente a cboEmb, filtrando pela coluna 2 da cboArtigo que é o Campo ID_EMbalagem


    https://dl.dropbox.com/u/26441349/NuCosta.rar


    Cumprimentos.
    avatar
    nucosta
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 31
    Registrado : 24/07/2012

    [Resolvido] Filtragem em Cascata para formulários continuos Empty Re: [Resolvido] Filtragem em Cascata para formulários continuos

    Mensagem  nucosta 2/8/2012, 22:26

    Parece-me que isso pode resolver o meu problema.
    Ainda não tinha pensado nessa disposição.

    De qualquer forma neste momento estou de férias, mas na próxima semana estarei de regresso e vou verificar.

    Muito obrigado

    Depois confirmarei.

    Um abraço a todos.
    avatar
    Convidado
    Convidado


    [Resolvido] Filtragem em Cascata para formulários continuos Empty Re: [Resolvido] Filtragem em Cascata para formulários continuos

    Mensagem  Convidado 3/8/2012, 00:32

    Boas Férias!
    avatar
    nucosta
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 31
    Registrado : 24/07/2012

    [Resolvido] Filtragem em Cascata para formulários continuos Empty Re: [Resolvido] Filtragem em Cascata para formulários continuos

    Mensagem  nucosta 13/8/2012, 12:02

    Boas,

    OK, embora de maneira diferente do que tinha pensado, mas funciona.

    Muito obrigado.

    Vou considerar resolvido, mas se alguém ler esta mensagem e se sabe pode dizer-me se é possível apresentar os valores anteriores por defeito.

    Muito Obrigado.

    Um abraço

    Nuno Costa
    avatar
    Convidado
    Convidado


    [Resolvido] Filtragem em Cascata para formulários continuos Empty Re: [Resolvido] Filtragem em Cascata para formulários continuos

    Mensagem  Convidado 13/8/2012, 15:07

    Não compreendi esta tua última duvida. Se puder esclarecer...

    Cumprimentos
    avatar
    nucosta
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 31
    Registrado : 24/07/2012

    [Resolvido] Filtragem em Cascata para formulários continuos Empty Re: [Resolvido] Filtragem em Cascata para formulários continuos

    Mensagem  nucosta 13/8/2012, 15:18

    OK

    No form que desenvolves-te (frmPesqEmbalagem), quando eu escolho o artigo ele selecciona automaticamente os valores já existentes in tblArtigos.ID_embalagem

    Isto não é essencial mas mais por curiosidade e aprendizagem.

    Obrigado

    Nuno Costa


    avatar
    Convidado
    Convidado


    [Resolvido] Filtragem em Cascata para formulários continuos Empty Re: [Resolvido] Filtragem em Cascata para formulários continuos

    Mensagem  Convidado 13/8/2012, 16:07

    Folgo por saber que estas interessado em saber como funciona... isso quase sempre não ocorre... A maioria apenas quer a solução e não preocupa-se em saber o porque e como foi feita..

    Pois bem.. o que deseja saber em específico?
    avatar
    Convidado
    Convidado


    [Resolvido] Filtragem em Cascata para formulários continuos Empty Re: [Resolvido] Filtragem em Cascata para formulários continuos

    Mensagem  Convidado 13/8/2012, 16:22

    No form frmPesqEmbalagem substitua o codigo respectivo por este.. e uma correção que fiz..

    Private Sub btnSeleciona_Click()
    Dim StrWhere As String

    Dim ctl As Control, frm As Form, lngContador As Long
    Dim StrSQL As String

    Set frm = Forms!frmPesQEmbalagem
    Set ctl = frm!LstMens

    StrWhere = ""
    For lngContador = 0 To ctl.ListCount - 1
    If ctl.Selected(lngContador) Then
    StrWhere = StrWhere & "," & ctl.Column(0, lngContador)
    End If
    Next
    StrWhere = Mid(StrWhere, 2)

    If ctl.ItemsSelected.Count = 0 Then
    MsgBox "Selecione as Menssagens", vbCritical, "ATENÇÃO"
    Exit Sub
    End If
    CurrentDb.Execute "UPDATE tblArtigos SET ID_Embalagem = '" & StrWhere & "' Where ID_Artigos = " & Me.cboArtigo.Column(0) & ";"
    MsgBox "Embalagem cadastrada", vbInformation, "Atenção"
    End Sub



    Bem... ao selecionar o produto eu apenas utilizo a ID do mesmo contida na combo para especificar qual o artigo desejo atualizar as embalagens..

    Então se para:

    Grampo - ID_Embalagem = 1,2,3

    se escolho na lista a embalagem 1, e executo o codigo..

    ele substitui o 1,2,3 por 1....

    Ele atualiza o Campo ID_Embalagem apenas.

    Cumprimentos.

    Conteúdo patrocinado


    [Resolvido] Filtragem em Cascata para formulários continuos Empty Re: [Resolvido] Filtragem em Cascata para formulários continuos

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 28/4/2024, 07:21