![]() |
|
Access 2007 - Versão de Impressão +- Forum Pplware (http://forum.pplware.com) +-- Fórum: Mais Tech (/forumdisplay.php?fid=11) +--- Fórum: Programação e Web (/forumdisplay.php?fid=16) +--- Tópico: Access 2007 (/showthread.php?tid=12056) |
RE: Access 2007 - progster - 25-07-2012 13:50 Apresenta o código. RE: Access 2007 - Dnaboy - 25-07-2012 15:21 Não estou a fazer por código, estou a usar o construtor de consultas.. resumindo é assim: tenho 1 cadeira 15 alunos 1 professor. Tinha esta consulta a dar a lista de formandos por cadeira. Aparecem os 15 sem problemas. Quis passar a mostrar o nome do professor, então adicionei a tabela do professor à consulta e o campo professor.nome para o nome aparecer. Se tiver apenas 1 professor associado à cadeira, tudo ok, aparece tudo certo. O problema é se tiver 2 ou mais professores.. A lista aparece com os alunos duplicados, 1 vez por cada professor. É isto que quero tentar resolver RE: Access 2007 - nioxys - 25-07-2012 16:18 Olá ![]() Clica com o botão direito do rato no separador da consulta e depois em Vista de SQL, desta forma consegues ver a consulta no "formato" SQL. Depois para resolveres o teu problema acho que basta adicionares a opção GROUP BY Podes ver aqui um exemplo da utilização desta opção. RE: Access 2007 - progster - 25-07-2012 16:38 Penso que o @nioxys já respondeu à tua questão, em todo o caso para se ter a certeza mostra o código para ver se é mesmo isso que falta. RE: Access 2007 - Dnaboy - 25-07-2012 16:41 Ora bem, se eu meter o group by nos critérios, não dá? Se for pelo SQL, aquilo tem o SELECT -- FROM -- WHERE, meto o GROUP BY antes ou depois do WHERE? RE: Access 2007 - progster - 25-07-2012 16:43 Mostra o código. RE: Access 2007 - Dnaboy - 25-07-2012 16:47 (25-07-2012 16:38)Progster Escreveu: Penso que o @nioxys já respondeu à tua questão, em todo o caso para se ter a certeza mostra o código para ver se é mesmo isso que falta. O código é um pouco mais complicado que isso, tem mais campos associados para além desses, se calhar o problema pode ser pelo SELECT FROM estar mal construído. Mas tb acho que o problema pode ser por afinal não ser uma consulta de referência cruzada, mas sim consulta de seleccionar. Já não me lembro se o group by dá neste tipo de consulta. Se calhar nem dá para fazer aquilo que quero. RE: Access 2007 - progster - 25-07-2012 16:51 (25-07-2012 16:47)Dnaboy Escreveu: O código é um pouco mais complicado que isso, tem mais campos associados para além desses, se calhar o problema pode ser pelo SELECT FROM estar mal construído. ...Tu é que pediste ajuda. RE: Access 2007 - Dnaboy - 25-07-2012 16:53 Citar:SELECT DISTINCTROW Cadeira.Codigo_da_Cadeira, Cadeira.Designacao_da_disciplina, [Local de Realizacao].[Local de realizacao], [Localidade de realização das Cadeiras].nome_local, Cadeira.Data_de_Inicio, Cadeira.Data_de_Fim, Aluno.nome, [Escola].nome, Categoria.descricao, Cadeira_aluno.Aluno, Cadeira_aluno.Cadeira, Cadeira_aluno.situacao_inscricao, Pagamento.situacao, [Natureza Vinculativa].tipo, Cadeira.Duracao_da_Cadeira, [Cadeira-Professor].professor, Professor.Nome Eu disse que era meio confuso em sql
RE: Access 2007 - progster - 25-07-2012 17:22 Ok. A consulta está um pouco confusa, ajudava ter a BD para fazer testes, ou então o modelo entidade relação. Se assim como está te retorna a informação que queres, desde que tenha só um professor associado à cadeira, então experimenta adicionar algo deste género Código: GROUP By Professor.ID,Professor.Nome;EDIT: A seguir ao WHERE. EDIT1:Recomendo que faças uma cópia desse código para um .doc à parte, pois vale mais prevenir do que remediar. |