Fórum Select Simples com Problemas #243991
22/07/2004
0
MDT_TurNumero Mod_Turma
1 4
3 1
3 2
3 3
Faço uma consulta para pequisar quais os módulos de uma turma passando como parâmetro o número da turma.
//Passagem do Parâmetro - A passagem vem do resultado de uma outra consulta!!
data.IBQModTur.Close;
data.IBQModTur.ParamByName(´turma´).value:=data.IBQTurDTTUR_NUMERO.Value;
data.IBQModTur.Open;
//A consulta no IBQModTur
select * from MODTURMA where MDT_TURNUMERO=:turma
O que está acontecendo: Quando o parâmetro passado é a turma número 3 ele só seleciona a primeira linha, visto que na tabela tem 3 ocorrências com essa turma.
Alguém sabe porque isso?
Valeu a força!!
JR.
Jrjoliv2003
Curtir tópico
+ 0Posts
22/07/2004
Josemars
Gostei + 0
22/07/2004
Jrjoliv2003
São 2 colunas. Vou colocar na horizontal.
Turma(1,3,3,3)
Modul (4,1,2,3)
Se consulto com o número da turma 3, a consulta só me retorna o módulo 1 e deveria me retornar os módulos 1,2,3.
Valeu!!
JR.
Gostei + 0
22/07/2004
Emerson Nascimento
onde essas informações estão sendo exibidas? numa grade? num componente data-ware? há filtros na sua query?
acho que a instrução está correta.
Gostei + 0
22/07/2004
Jrjoliv2003
Depois eu vinculei com uma DBGrid.
A mesma coisa!!!
JR.
Gostei + 0
22/07/2004
Paulo_amorim
na passagem de parâmetros, vc tentou colocar ´3´ o invés do campo?
Se com uma constante ele funcionar, o problema não eh na query, e sim no componente dataaware aí...
Até+
Gostei + 0
22/07/2004
Jrjoliv2003
Mais tarde te retorno!
Muito Obrigado.
José Roberto.
Gostei + 0
22/07/2004
Jrjoliv2003
Já fiz um monte de trocas:
data.IBQTurDTTUR_NUMERO.Value para data.IBQTurDTTUR_NUMERO.AsInteger
Já tirei o DataSource (de repente!!!)
Já usei data.IBQModTur.Params.ParamByName(´turma´).value:=data.IBQTurDTTUR_NUMERO.Value;
Já coloquei número (no caso 3).
Nada não sei mais o q faço!!
E preciso disso para pode terminar a tela.
JR.
:arrow: [color=red:5838d4d532]Mensagem alterada pelo Moderador oTTo. Evite o uso de palavrões.[/color:5838d4d532]
Gostei + 0
22/07/2004
Otto
esse campo MDT_TURNUMERO é string ou inteiro?? :?
se for inteiro faça:
with query do begin if active then close; sql.text := ´select * from MODTURMA where MDT_TURNUMERO=´+Edit1.text; Open; end;//with
se for string faça:
with query do begin if active then close; sql.text := ´select * from MODTURMA where MDT_TURNUMERO= ´+QuotedStr(edit1.text); Open; end;//with
ver se pega... :wink:
Gostei + 0
22/07/2004
Jrjoliv2003
eu fiz, para testar, uma query só com esse código:
select * from ModTurma
quando faço ModTurma.RecordCount e exibo, me retorna apenas 1.
Coloquei no grid e só aparece a 1º linha da tabela consultada.
OBS: Isso q estou fazendo é parte integrante do meu Porjeto Final de curso. Tô na última tela das 23. Tava tudo dando certo. Tô desde Segunda-Feira nessa luta!!! C+&¬$#@
Tá falendo muito a ajuda.
JR.
Gostei + 0
22/07/2004
Persist
eu fiz, para testar, uma query só com esse código: select * from ModTurma quando faço ModTurma.RecordCount e exibo, me retorna apenas 1. Coloquei no grid e só aparece a 1º linha da tabela consultada.
Então a tabela só tem um registro.
Gostei + 0
22/07/2004
Jrjoliv2003
Tem 4 registros: 1 para uma turma 2 e 3 para turma 4. Quando consulto só aparece a primeira linha.
JR.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)