Boa noite Pessoal,
Já pesquisei aqui no forum e não encontrei solução para minha dúvida. Caso alguém saiba, favor indicar.
Estou desenvolvendo uma aplicação para controlar jogos de barragem de tênis.
(Indo direto para minha dúvida) Tem uma tabela JOGADOR (codjogador, nome, status) e uma tabela JOGOS (codRodada, CodJogo, codDesafiante, codDesafiado, codSituacaoJogo). O codDesafiante e codDesafiado vem da tabela JOGADOR(codjogador)
Quando vou lançar os resultados consulto uma listbox com todos os jogos ordenados por codRodada (decrescente) e codJogo (crescente). Está funcionado.
Só que queria dar uma melhorada. Para isso criei uma listbox "lstJogadores" (codjogador, nome), baseada na tabela JOGADOR.
Ao clicar no nome do jogador nesta listbox ele filtra a listbox "lstJogos" (codRodada, codJogo, Desafiante, Desafiado e Situação do Jogo). Até aqui também está OK.
O problema está aqui. Criei uma terceira listbox com as situações dos jogos (finalizado, em andamento, remarcado, WO, pendente, etc).
O que quero, e não estou conseguindo, é que ao clicar nesta terceira listbox que mostre todos os jogos conforme a situação: pendente ou finalizado etc...
segue abaixo o comando sql da listbox lstJogos:
1.SELECT tbjogo.cdrodada, tbjogo.cdjogo, tbjogo.desafiado AS nome1, tbjogo.desafiante AS Nome2, tbjogo.situacao, tbjogador.nomerel AS Desafiado,
2.tbjogador_1.nomerel AS Desafiante, tbjogosituacao.situacao AS Situação
3.FROM tbjogosituacao INNER JOIN (tbjogador AS tbjogador_1 INNER JOIN (tbjogador INNER JOIN tbjogo ON tbjogador.cdjogador = tbjogo.desafiado) ON
4.tbjogador_1.cdjogador = tbjogo.desafiante) ON tbjogosituacao.cdrodadasituacao = tbjogo.situacao
5.WHERE (((tbjogo.desafiado) Like [Formulários]![frmCadResultados]![txtDesafiado])) OR (((tbjogo.desafiante) Like [Formulários]![frmCadResultados]!
6.[txtDesafiante]) AND ((tbjogo.situacao) Like [Formulários]![frmCadResultados]![txtJogoStatus]))
7.ORDER BY tbjogo.cdrodada DESC , tbjogo.cdjogo;
Já tentei substituir o AND (linha6) por OR, mas não deu.
Outra coisa que fiz, e funcionou mas acho "errado/feio", foi criar uma consulta filtrando o "desafiante e desafiado". E depois criei outra consulta com base nesta anterior filtrando pela situação do jogo.
Grato
Já pesquisei aqui no forum e não encontrei solução para minha dúvida. Caso alguém saiba, favor indicar.
Estou desenvolvendo uma aplicação para controlar jogos de barragem de tênis.
(Indo direto para minha dúvida) Tem uma tabela JOGADOR (codjogador, nome, status) e uma tabela JOGOS (codRodada, CodJogo, codDesafiante, codDesafiado, codSituacaoJogo). O codDesafiante e codDesafiado vem da tabela JOGADOR(codjogador)
Quando vou lançar os resultados consulto uma listbox com todos os jogos ordenados por codRodada (decrescente) e codJogo (crescente). Está funcionado.
Só que queria dar uma melhorada. Para isso criei uma listbox "lstJogadores" (codjogador, nome), baseada na tabela JOGADOR.
Ao clicar no nome do jogador nesta listbox ele filtra a listbox "lstJogos" (codRodada, codJogo, Desafiante, Desafiado e Situação do Jogo). Até aqui também está OK.
O problema está aqui. Criei uma terceira listbox com as situações dos jogos (finalizado, em andamento, remarcado, WO, pendente, etc).
O que quero, e não estou conseguindo, é que ao clicar nesta terceira listbox que mostre todos os jogos conforme a situação: pendente ou finalizado etc...
segue abaixo o comando sql da listbox lstJogos:
1.SELECT tbjogo.cdrodada, tbjogo.cdjogo, tbjogo.desafiado AS nome1, tbjogo.desafiante AS Nome2, tbjogo.situacao, tbjogador.nomerel AS Desafiado,
2.tbjogador_1.nomerel AS Desafiante, tbjogosituacao.situacao AS Situação
3.FROM tbjogosituacao INNER JOIN (tbjogador AS tbjogador_1 INNER JOIN (tbjogador INNER JOIN tbjogo ON tbjogador.cdjogador = tbjogo.desafiado) ON
4.tbjogador_1.cdjogador = tbjogo.desafiante) ON tbjogosituacao.cdrodadasituacao = tbjogo.situacao
5.WHERE (((tbjogo.desafiado) Like [Formulários]![frmCadResultados]![txtDesafiado])) OR (((tbjogo.desafiante) Like [Formulários]![frmCadResultados]!
6.[txtDesafiante]) AND ((tbjogo.situacao) Like [Formulários]![frmCadResultados]![txtJogoStatus]))
7.ORDER BY tbjogo.cdrodada DESC , tbjogo.cdjogo;
Já tentei substituir o AND (linha6) por OR, mas não deu.
Outra coisa que fiz, e funcionou mas acho "errado/feio", foi criar uma consulta filtrando o "desafiante e desafiado". E depois criei outra consulta com base nesta anterior filtrando pela situação do jogo.
Grato