Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Relacionar 3 combobox?!?!?!?!


NFAC

Pergunta

olá,

Há alguma forma de criar tres combo box dependentes, ao seleccionar a primeira, irá condicionar a segunda , e ao seleccionar a segunda, irá condicionar a terceira. é possivel? :blink: podem dar alguma dica? Ps:(tou a trabalhar em access2007, e vba(sendo um mero aprendiz))

exemplo comum:

TipoVEiculo | | Marca | | Modelo

CARRO | | Ford | | Fiesta

CARRO | | Fiat | | UNO

MOTO | | suzuki | | Intruder M1800R

Exemplo concreto do meu objectivo:

Docente | | Ano Lectivo | | Plano de Curso *(pode conter+de que um curso)| | Curso Disciplinas

José Soares| | 2000-2001 | | Curso de InformáticaA (2000-2003)| | Lista de disciplinas Curso de Informática 1

José Soares| | 2001-2002 | | Curso de InformáticaA (2000-2003)| | Lista de disciplinas Curso de Informática 1

José Soares| | 2002-2003 | | Curso de informáticaA (2000-2003)| | Lista de disciplinas Curso de Informática 1

José Soares | 2003-2004 | | Curso de informáticaB (2003-2006) | | Lista de disciplinas Curso de Informática 2

José Soares | 2004-2005 | | Curso de informáticaB (2003-2006) | | Lista de disciplinas Curso de Informática 2

José Soares | 2005-2006 | | Curso de informáticaB (2003-2006) | | Lista de disciplinas Curso de Informática 2

* ano em que decorreu o curso

Cumprimentos:) e Obrigado:)

Editado por NFAC
Link para o comentário
Compartilhar em outros sites

Posts Recomendados

  • 0

Sim é possivel, basta que você faça a consulta da origem da linha da combo utilizando como critério a combo anterior.

Supondo que tenhamos a combo1, combo2 e combo3, a combo 3 tem como critério a combo 2 que por sua vez utiliza a combo 1, assim, quando eu escolher algo na combo1 na propriedade de evento "Após atualizar" dela úse um código assim

me.combo2.requery
E faça o mesmo na combo2 quando atualiza-la
me.combo3.requery

Isso deve resolver, adapte ao seu projeto e nos dE^o retorno.

Link para o comentário
Compartilhar em outros sites

  • 0

olá viva,

obrigado pela sua ajuda, eu já fiz isso para combinar duas combobox , mas tinha sempre um problema , imagina que eu queria inserir varias linhas(formulário folha de dados) , eu ao alterar a segunda linha ele vai me fazer um .requery a todas :S mudando-me a primeira linha não sei se me fiz entender.

Obrigado pela ajuda:)

Cumprimentos

Link para o comentário
Compartilhar em outros sites

  • 0

olá :)

as tabelas serão

Docentes (IDDocente*; Nome)

Ano Lectivo ( IDAno* ; Ano_Lectivo)

PlanoCurso (IDPlano* ; Curso )

Disciplinas (IDDisciplina* ; Disciplinas) -

as que estão a cor serão as que quero relacionar em combo box ...

E criei assim as tabelas, mas não sei se é melhor juntar tudo numa única para criar as procuras SQL necessárias para filtrar os dados , o que acha?!

Aqui mando um exemplo Hierárquico :

Hierarquicamente:

·

Hierarquicamente:

  • · Anos lectivos de 1999 a 2001(combo1)

  • Curso de Informática (1999-2001)
    (combo2)

  • -------§ Informática

  • -------§ Matemática

  • -------§ Programação

  • -------§ Inglês

  • ----o Curso de Gestão (1999-2001)
    (combo2)

-------§ Gestão empresarial

-------§ Gestão no trabalho

-------§ Finanças

· Anos lectivos de 2001 a 2006(combo1)

----o Curso de Informática (2001 a 2006)
(combo2)

-------§ Praticas Informáticas

-------§ Sistemas Computacionais

-------§ Inglês

----o Curso de Gestão (2001 a 2006)
(combo2)

-------§ Matemática

-------§ Gestão I

-------§ Gestão II

-------§ Inglês

o (combo3) serão a disciplinas) .

Será possivel faze-lo com o Vba em conjugação com access, ?

cumprimentos e obrigado:)

Editado por MrMALJ
Quote de resposta desnecessário.
Link para o comentário
Compartilhar em outros sites

  • 0

- 1 ano lectivo pode corresponder a N PlanoCurso ( posso ter no mesmo ano mais que um curso)

*Ao seleccionar o ano, deveria ter a lista de cursos que decorreram nesse ano.

- Cada plano curso tem N disciplinas (cada curso tem várias disciplinas).

*ao selescionar a disciplina, teria o pacote de disciplinas correspondentes ao curso selecionado.

--> O objectivo final é saber o historico de cada professor .

As combbox seriam para introduzir os dados de forma mais eficiente e sem erros num formulário.

na construção das tabelas não sei qual será melhor, se unir o Ano/Curso numa unica tabela assim como o Curso/Disciplina, em vez de terem tabelas separadas.

ontem mandei lhe uma msg pessoal , não sei se recebeu ou se não , contudo disponho aqui as relações que fiz

não sei é se vai dar para o efeito desejado.

.relaoes1.jpg

Cumprimentos NFAC

acha que me pode ajudar com o código?

Link para o comentário
Compartilhar em outros sites

  • 0

Boa noite, NFAC

Recebi a sua mensagem privada só agora, pois só agora me liguei à internet.

As regras do fórum obrigam a tirar as dúvidas no fórum para que todos vejam e aprendam.

Pelo que percebi:

Existem 4 caixas de combinação: CxcDocente, CxcAno, CxcCurso e CxcDisciplina

(A tabela Ano utiliza um nome reservado do Access e devia mudar para, por ex., tblAno)

Todos os campos filtrados nas caixas de combinação são texto, à excepção de AnoLectivo que é número

No acontecimento Ao Entrar da CxcDocente coloque o seguinte código:

CxcDocente.RowSource="SELECT NomeDocente FROM Docentes ORDER BY NomeDocente;"

No acontecimento Ao Entrar da CxcAno coloque o seguinte código:

CxcAno.RowSource="SELECT AnoLectivo FROM Ano LEFT JOIN Docentes ON Ano.ID_Docentes=Docentes.ID_Docentes WHERE NomeDocente='" & CxcDocente & "' ORDER BY AnoLectivo;"

No acontecimento Ao Entrar da CxcCurso coloque o seguinte código:

CxcCurso.RowSource="SELECT Curso FROM (PlanoEstudos LEFT JOIN Ano ON PlanoEstudos.IDAno=Ano.ID) LEFT JOIN Docentes ON Ano.ID_Docentes=Docentes.ID_Docentes WHERE AnoLectivo=" & CxcAno & " and NomeDocente='" & CxcDocente & "' ORDER BY Curso;"

No acontecimento Ao Entrar da CxcDisciplina coloque o seguinte código:

CxcDisciplina.RowSource="SELECT NomeDisciplina FROM ((Disciplinas LEFT JOIN PlanoEstudos ON Disciplinas.IDCurso=PlanoEstudos.ID_Plano) LEFT JOIN Ano ON PlanoEstudos.IDAno=Ano.ID) LEFT JOIN Docentes ON Ano.ID_Docentes=Docentes.ID_Docentes WHERE Curso='" & CxcCurso &"' and AnoLectivo=" & CxcAno & " and NomeDocente='" & CxcDocente & "' ORDER BY NomeDisciplina;"

Boa sorte.

Link para o comentário
Compartilhar em outros sites

  • 0

Olá Caro Alexandre Néves,

Tem toda a razão, o meu objectivo era apenas que você visualiza-se a BD, e penso que recebeu duas msg minhas, mandei a segunda porque na pasta msg enviadas , não tinha lá nada :mellow: , pensei eu que não tinha enviado a primeira, desculpe a situação :wacko: .

Quanto a BD, são 3 combobox combinadas que pretendo relacionar, a tabela docentes será relacionada com o resto da informaçao em formulário.

Envio um print de como gostaria de inserir os dados :

docentes.png

Por cada docente vou inserindo os vários Anos Curso que leccionou e disciplinas durante a sua "vida lectiva":)

Mas penso que o que me mandou , e desde já lhe agradeço muito, me poderá ajudar, desta forma irei tentar faze-lo.

Se tiver alguma observação a fazer-me , faça o favor:)

Mais uma vez obrigado pala sua ajuda.

Cumprimentos NFAC

Link para o comentário
Compartilhar em outros sites

  • 0

Pelo que pude ver pela imagem que postou do seu formulário o código que passei anteriormente não funciona dessa forma que está trabalhando o subformula (está como folha de dados) , mude para formulário continuo caso queira utilizar o que postei antes.

Link para o comentário
Compartilhar em outros sites

  • 0

olá viva Alexandre Neves,

eu tive de alterar as relações, na qual defini desta forma:

rela3.png

e teintei formular o código , baseado no que voce, gentilmente, me disponibilizou no forum, mas não consegui aplica-lo.. pedia-lhe ajuda baseado nestas relações, se não for pedir muito.

As combo box continuam a ser as mesmas ANO ----- PLANO(CURSO) ----- Disciplina.

Obrigado

Cumprimentos. NFAC

Link para o comentário
Compartilhar em outros sites

  • 0

Boa noite, NFAC

Pediu código para 3 caixas de combinação dependentes. Assim sendo, a origem dos dados vinha das tabelas. Pelo que indica agora, é para carregar dados. Se é para carregar dados, os dados ainda não estão carregados e se ainda não estão carregados então não existem na tabela para carregar os controlos.

Reveja o que pretende pois ou estou enganado ou está no caminho errado.

Link para o comentário
Compartilhar em outros sites

  • 0

Realemnte tem razão, de andar a dar tanta volta a isto , já me confundi todo....

o que quero é que as combos já esteja pré preenchidas, e que no formulário de docentes , quando for seleccionar os anos/plano/disciplinas, estes já estejam definidos para seleccioar.

Xiça, não estou a atinar com isto , acho que estou a complicar o fácil:s ...

se voce tivesse um problema assim como o resolveria,isto é... seria mais facil criar um botão no formulario docentes e depis seleccionar os anos , ou da maneira que eu mostrei na imagem em cima?

Relamente estou mesmo perdido... :blink: :blink:

Cumprimentos e obrigado :)

Link para o comentário
Compartilhar em outros sites

  • 0

Viva Alexandre Neves,

Tenho lhe a agradecer muito pela sua ajuda e tempo que perdeu, funcionou 5 estrelas :D , muito obrigado, não sei como lhe agradecer... já adaptei a base final e está a funcionar bem até ver.. so me falta ajustar umas coisas , mas isto era o que me preocupava mais , já andava praí a um mes a tentar faze lo.... por isso tenho de lhe agradecer.

Diga-me só mais uma coisa..(se não for pedir muito) depois de introduzir os dados, quando salto de registo em registo, só me aparecem os dados do ano(visiveis) os outros dados não se vêem.. mas se clicar no campo vesse o que foi seleccionado, não há forma de se ver o que foi seleccionado, em vez de aparecer o campo em branco?!

Cumprimentos e Obrigado Pela super ajuda que me deu :)

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...