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

    [Resolvido]Combo's encadeadas em formulário continuo só apresenta valores quando a primeira combo está selecionada.

    avatar
    okill
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 2
    Registrado : 21/09/2011

    [Resolvido]Combo's encadeadas em formulário continuo só apresenta valores quando a primeira combo está selecionada. Empty Combo's encadeadas em formulário continuo só apresenta valores quando a primeira combo está selecionada.

    Mensagem  okill 22/9/2011, 17:38

    Boas tardes,

    Desde já agradeço pela vossa paciência e humildade que têm com todos os que solicitem a vossa preciosa ajuda, hoje vai calhar a mim solicitar a vossa ajuda, aqui vai:

    Tenho um formulário continuo com duas combo em que a segunda combo (contrato) só apresenta os valores em função do que foi seleccionado pela primeira combo (vinculo),até aqui tudo a bombar, o problema é que quando seleccione um valor na primeira combo e o valor seleccionado não é igual ao já existente na primeira combo que ficou para traz os valores na segunda combo são apagados, só aparecem se a selecção da primeira combo for igual á selecção anterior.
    Os valores ficam gravados mesmo que não estejam a aparecer na segunda combo.


    Desde já agradeço a vosso ajuda/sugestão para resolver este problema.

    Victor
    vieirasoft
    vieirasoft
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7304
    Registrado : 11/05/2010

    [Resolvido]Combo's encadeadas em formulário continuo só apresenta valores quando a primeira combo está selecionada. Empty Re: [Resolvido]Combo's encadeadas em formulário continuo só apresenta valores quando a primeira combo está selecionada.

    Mensagem  vieirasoft 22/9/2011, 17:47

    Isso está para lá de confuso, mas no repositório tem lá exemplos.
    vieirasoft
    vieirasoft
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7304
    Registrado : 11/05/2010

    [Resolvido]Combo's encadeadas em formulário continuo só apresenta valores quando a primeira combo está selecionada. Empty Re: [Resolvido]Combo's encadeadas em formulário continuo só apresenta valores quando a primeira combo está selecionada.

    Mensagem  vieirasoft 22/9/2011, 17:50

    veja este exemplo do nosso Mestre JPaulo

    http://maximoaccess.forumeiros.com/t50-filtragem-em-cascata
    vieirasoft
    vieirasoft
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7304
    Registrado : 11/05/2010

    [Resolvido]Combo's encadeadas em formulário continuo só apresenta valores quando a primeira combo está selecionada. Empty Re: [Resolvido]Combo's encadeadas em formulário continuo só apresenta valores quando a primeira combo está selecionada.

    Mensagem  vieirasoft 22/9/2011, 22:33

    Amigão

    Aqui vai o exemplo que me enviou para colocar aqui e disponibilizar para quem entender de ajudar:

    http://dl.dropbox.com/u/8157744/contrato.zip
    avatar
    Convidado
    Convidado


    [Resolvido]Combo's encadeadas em formulário continuo só apresenta valores quando a primeira combo está selecionada. Empty Re: [Resolvido]Combo's encadeadas em formulário continuo só apresenta valores quando a primeira combo está selecionada.

    Mensagem  Convidado 23/9/2011, 12:30

    Bom dia Okill.. qual o problema?

    Cumprimentos..
    avatar
    Convidado
    Convidado


    [Resolvido]Combo's encadeadas em formulário continuo só apresenta valores quando a primeira combo está selecionada. Empty Re: [Resolvido]Combo's encadeadas em formulário continuo só apresenta valores quando a primeira combo está selecionada.

    Mensagem  Convidado 23/9/2011, 13:59

    Bem Okill.. Vamos la..

    Esta solução não funciona muito bem com formulários continuos veja porque:
    1 - Em formulários continuos o mesmo controle é repetido várias vezes.. e ao clicar em uma linha o comando que limpa o controle para receber nova informação, consequentemente limpará os demais controles repetidos no form..

    Pois bem para isto criei esta solução, Tentarei ser o mais explícito possivel para que entenda.

    Private Sub Cbo_Vinculo_AfterUpdate()
    Dim Db As DAO.Database 'Declaração da variável do Banco de Dados
    Dim Rs As DAO.Recordset 'Declaração da variável do RecordSet
    Dim ws As DAO.Workspace 'Declaração da variável do Workspace
    Dim StrSql As String, StrVinculo As String, StrVinculoNum As Double 'Variáveis que receberão a SQL, o tipo de vinculo e a ID do vínculo
    Dim StrCount As Double 'Variável que receberá a quantidade de registros para um determinado vinculo

    Me.Cbo_Contrato.RowSource = "" 'Transformei a cbo_Contrato em lista de valores limpando ela sempre ao inicio do código
    Set ws = DBEngine.Workspaces(0) 'Seto o Workspace
    Set Db = ws.OpenDatabase(CurrentProject.Path & "\Contrato.accdb", False, False, "MS Access;PWD=senha") 'Seto o BD para abrí-lo


    StrVinculo = Me.Cbo_Vinculo.Column(1) 'Carrego a variável com a ID do vinculo contido na Cbo_Vinculo
    StrVinculoNum = Me.Cbo_Vinculo.Column(0) 'Carrego a variável com o nome do vínculo contido na Cbo_Vinculo
    'Aqui carrego a variável StrCount com a contagem de numero de vinculos contidos na T_Contrato_Vinculo_Contracto, onde o VinculoID Coincida com a variável StrVinculoNum que é a ID do vinculo na Cbo_Vinculo, isto é necessário porque especificará o numero de loops no recordset
    StrCount = DCount("*", "T_CONTRATO_VINCULO_CONTRACTO", "VinculoID=" & StrVinculoNum & "")

    'Carrego a variável com a SQL das duas tabelas visto que são relacionadas, Filtrando pela Variável StrVinculo, assim esta SQL so retornará valores condizentes a escolha na primeira combo
    StrSql = "SELECT T_CONTRATO_VINCULO.VinculoID, T_CONTRATO_VINCULO.VinculoName, T_CONTRATO_VINCULO_CONTRACTO.ContratoName" _
    & " FROM T_CONTRATO_VINCULO LEFT JOIN T_CONTRATO_VINCULO_CONTRACTO ON T_CONTRATO_VINCULO.VinculoID = T_CONTRATO_VINCULO_CONTRACTO.VinculoID" _
    & " WHERE T_CONTRATO_VINCULO.[VinculoName] = '" & StrVinculo & "';"

    Set Rs = Db.OpenRecordset(StrSql) 'Carrego o Recordset com a variável

    For I = 1 To StrCount 'Como a contagem será condizente aos dados da primeira combo, aqui delimito o numero de loops a ser executado de 1 até a quantidade contida na variável StrCount que é carregada no inicio do código, filtrada pelo texto da primeira combo
    Me.Cbo_Contrato.AddItem Rs!ContratoName 'Vou adicionando na segunda combo em sua lista de valores o valor do Campo ContratoName.. no recordset, este valor vai modificado a cada loop posto que em seguida avanço um registro no recordset atraves do comando a seguir
    Rs.MoveNext
    Next I 'Vai para o Proximo registro de loop
    Me.Cbo_Contrato.SetFocus 'Envio o foco para CboContrato
    Me.Cbo_Contrato.Dropdown 'Expando a Cbo_Contrato Automaticamente
    End Sub

    http://dl.dropbox.com/u/26441349/Okill_25_09_11.rar

    Saudações.
    avatar
    okill
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 2
    Registrado : 21/09/2011

    [Resolvido]Combo's encadeadas em formulário continuo só apresenta valores quando a primeira combo está selecionada. Empty Re: [Resolvido]Combo's encadeadas em formulário continuo só apresenta valores quando a primeira combo está selecionada.

    Mensagem  okill 24/9/2011, 09:28

    Olá Harysohn

    Agradeço a tua disponibilidade em elaborares o código para o meu programa era realmente isso que eu estava precisando e a comunidade do Access também está ganhando com este exemplo afinal é uma utilização muito prática das combo dentro de um formulário continuo.

    Mais uma vez muito obrigada, assunto encerrado
    avatar
    Convidado
    Convidado


    [Resolvido]Combo's encadeadas em formulário continuo só apresenta valores quando a primeira combo está selecionada. Empty Re: [Resolvido]Combo's encadeadas em formulário continuo só apresenta valores quando a primeira combo está selecionada.

    Mensagem  Convidado 24/9/2011, 10:16

    O Fórum agradece o retorno.
    avatar
    ezot85
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 1
    Registrado : 10/02/2014

    [Resolvido]Combo's encadeadas em formulário continuo só apresenta valores quando a primeira combo está selecionada. Empty Re: [Resolvido]Combo's encadeadas em formulário continuo só apresenta valores quando a primeira combo está selecionada.

    Mensagem  ezot85 21/6/2018, 19:18

    Boa tarde,
    precisava de um formulario com umas combox conforme solicitado neste tópico.

    será que me podiam enviar um exemplo conforme o descrito.

    obrigado

    Conteúdo patrocinado


    [Resolvido]Combo's encadeadas em formulário continuo só apresenta valores quando a primeira combo está selecionada. Empty Re: [Resolvido]Combo's encadeadas em formulário continuo só apresenta valores quando a primeira combo está selecionada.

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 9/5/2024, 18:29