SELECT EM VB
Pessoal mais uma vez eu com minhas selects
uso assim:
vSQL = [Ô]Select A.*, P.nome as nome_paciente, F.nome as nome_profissional, S.status as nome_status, E.nome as nome_especialidade from Agenda A, Pacientes P, Profissionais F, Status S, Especialidades E [Ô] & _
[Ô]Where A.paciente = P.id And f.id = A.profissional and S.id = A.status and E.id = A.especialidade[Ô] & _
[Ô] and A.paciente = [Ô] & vCodPaciente & _
[Ô] order by A.data, A.horarioinicio[Ô]
Quando não foi selecionado a especialidade, não retorna nada, então gostaria de saber como posso fazer essa consulta onde deve vir todos os registros do paciente na agenda mesmo não marcando alguns campos.
Espero que eu tenha sido claro, obrigado.
uso assim:
vSQL = [Ô]Select A.*, P.nome as nome_paciente, F.nome as nome_profissional, S.status as nome_status, E.nome as nome_especialidade from Agenda A, Pacientes P, Profissionais F, Status S, Especialidades E [Ô] & _
[Ô]Where A.paciente = P.id And f.id = A.profissional and S.id = A.status and E.id = A.especialidade[Ô] & _
[Ô] and A.paciente = [Ô] & vCodPaciente & _
[Ô] order by A.data, A.horarioinicio[Ô]
Quando não foi selecionado a especialidade, não retorna nada, então gostaria de saber como posso fazer essa consulta onde deve vir todos os registros do paciente na agenda mesmo não marcando alguns campos.
Espero que eu tenha sido claro, obrigado.
troque os [txt-color=#0000f0]AND [/txt-color]por [txt-color=#0000f0]OR[/txt-color]
ja tentei usar o [Ô]or[Ô] mas aà vem todos registro do banco
quando o usuário não seleciona a especialidade grava no banco como zero, e como não tenho a especialidade 0 então ele não traz nada
mesmo assim obrigado
quando o usuário não seleciona a especialidade grava no banco como zero, e como não tenho a especialidade 0 então ele não traz nada
mesmo assim obrigado
se grava no banco como zero ja pensou em pesquisar diferente de zero, ou seja acrescente:
and A.especialidade <> 0
and A.especialidade <> 0
então Marcelo, se a especialidade for zero quero que liste também, só que quando é zero não aparece
então Sergio pra entender o problema to tentando entender a estrutura da sua tabela, no caso vc faz uma comparação do id especialidade, com o especialidade da agenda, porem acredito que na tabela especialidade não exista o 0(zero) porém na agenda é gravado zero na especialidade é isso?
sim é isso mesmo, o usuário tem a liberdade de definir ou não a especialidade, então o campo especialidade as vezes é zero.
Mas mesmo assim deve ser listado na consulta
Obrigado
Mas mesmo assim deve ser listado na consulta
Obrigado
então assim não vai funcionar quer uma dica, crie a especialidade 0 na tabela especialidade que ai sim funciona, defina zero como indefinida, sem especialidade, ou outra coisa que achar melhor mas crie esta especialidade na tabela especialidade.
ah ia esquecendo vc pode tentar isto também
vSQL = [Ô]Select A.*, P.nome as nome_paciente, F.nome as nome_profissional, S.status as nome_status, E.nome as nome_especialidade from Agenda A, Pacientes P, Profissionais F, Status S, Especialidades E [Ô] & _
[Ô]Where A.paciente = P.id And f.id = A.profissional and S.id = A.status and [txt-color=#0000f0](E.id = A.especialidade OR A.especialidade = 0)[/txt-color][Ô] & _
[Ô] and A.paciente = [Ô] & vCodPaciente & _
[Ô] order by A.data, A.horarioinicio[Ô]
vSQL = [Ô]Select A.*, P.nome as nome_paciente, F.nome as nome_profissional, S.status as nome_status, E.nome as nome_especialidade from Agenda A, Pacientes P, Profissionais F, Status S, Especialidades E [Ô] & _
[Ô]Where A.paciente = P.id And f.id = A.profissional and S.id = A.status and [txt-color=#0000f0](E.id = A.especialidade OR A.especialidade = 0)[/txt-color][Ô] & _
[Ô] and A.paciente = [Ô] & vCodPaciente & _
[Ô] order by A.data, A.horarioinicio[Ô]
já fiz como vc disse (E.id = A.especialidade OR A.especialidade = 0) mas assim ele duplica um monte de registro, pensei na opção em criar uma especialidade [Ô]0 - não definida[Ô] mas o campo ID é autonumeração, rssss
Fiz assim por enquanto, contrui outro select quando for listar e acrescenta o nome, só um quebra galho
mas caso descubro posto aqui, obrigado
Fiz assim por enquanto, contrui outro select quando for listar e acrescenta o nome, só um quebra galho
mas caso descubro posto aqui, obrigado
pascoal por isso o campo autonumeração nunca é indicado para uso das consultas, o ideal é sempre fazer um campo codigo
ex:
id =autonum
cod = numero [ô]que seria o codigo da especialidade
especialidade=texto
mas creio que você ja tenha resolvido, se não crie o campo cod, coloque os numeros necessarios, e altere na consulta
ex:
id =autonum
cod = numero [ô]que seria o codigo da especialidade
especialidade=texto
mas creio que você ja tenha resolvido, se não crie o campo cod, coloque os numeros necessarios, e altere na consulta
Tópico encerrado , respostas não são mais permitidas