Fórum PROBLEMA COM CAMPO LOOKUP E FILTRO #426068
12/10/2012
0
Boa Tarde
Caros colegas, estou passando por um problema e espero poder contar com a ajuda de vocês. Estou desenvolvendo um sistema para uma clinica, a parte de agendamento e realização de consultas já estão "prontas", porém, surgiu um problema, na tabela de agendamento de consultas eu tenho o campo Nº Cadastro, que é o numero da ficha do paciente, através desse campo eu criei um outro campo lookup q retorna o nome do paciente, até ai tudo bem. Quando o médico abre a tela de realizar consulta mostra um form com uma dbgrid...listando o nome do paciente (puxando do lookup da tabela de agendamento), horário e nome do médico(também puxando do lookup da tabela de agendamento)..nesta tela o médico escolhe qual o paciente da vez e executa a consulta, que é feito em outro form e ligado a outra tabela, a partir dai que vem o problema, após algumas consultas ao retornar para a tela de realizar consultas para chamar o proximo paciente, a dbgrid simplesmente na coluna NOME DO PACIENTE fica vazia, ou seja, não retorna o nome do paciente, os demais campos mostra normal, somente o nome que não. Vale ressaltar que aplico um filtro nessa query, para filtrar somente as consultas do dia, há quem diz que o problema esta no filtro mas não me convenceu, para solucionar este problema o medico tem que sair do sistema e logar novamente, ai volta a mostrar o nome...utilizo Delphi 7 + Zeos e Mysql, o filtro está da seguinte maneira.
procedure Tfrm_agendameddia.FormShow(Sender: TObject);
var
data : string;
begin
data:=datetostr(date);
data:=formatdatetime(''''''''yyyy-mm-dd'''''''', now);
dm1.tbl_agenda_consulta.Filter:='''''''''''''''';
dm1.tbl_agenda_consulta.Filtered:=false;
dm1.tbl_agenda_consulta.Filter:= ''''''''dt_consuta = '''''''' + quotedstr(data + ''''''''*'''''''') +
''''''''and status_agendamento = '''''''' + quotedstr(''''''''CONFIRMADA'''''''');
dm1.tbl_agenda_consulta.Filtered:=true;
dm1.tbl_agenda_consulta.Refresh;
LEMBRANDO QUE O PROGRAMA RODA EM REDE, TENDO UM SERVIDOR SÓ PARA O BD, NÃO SEI SE PODE INFLUENCIAR EM ALGUMA COISA MAS ENQUANTO E AGENDADO AS NOVAS CONSULTAS AS JÁ AGENDADAS PODEM SER FEITAS SIMULTANEAMENTE....LOGICO QUE PARA CADA MEDICO UM PACIENTE....
ESPERO PODER CONTAR COM A AJUDA DE VOCÊS.....
Caros colegas, estou passando por um problema e espero poder contar com a ajuda de vocês. Estou desenvolvendo um sistema para uma clinica, a parte de agendamento e realização de consultas já estão "prontas", porém, surgiu um problema, na tabela de agendamento de consultas eu tenho o campo Nº Cadastro, que é o numero da ficha do paciente, através desse campo eu criei um outro campo lookup q retorna o nome do paciente, até ai tudo bem. Quando o médico abre a tela de realizar consulta mostra um form com uma dbgrid...listando o nome do paciente (puxando do lookup da tabela de agendamento), horário e nome do médico(também puxando do lookup da tabela de agendamento)..nesta tela o médico escolhe qual o paciente da vez e executa a consulta, que é feito em outro form e ligado a outra tabela, a partir dai que vem o problema, após algumas consultas ao retornar para a tela de realizar consultas para chamar o proximo paciente, a dbgrid simplesmente na coluna NOME DO PACIENTE fica vazia, ou seja, não retorna o nome do paciente, os demais campos mostra normal, somente o nome que não. Vale ressaltar que aplico um filtro nessa query, para filtrar somente as consultas do dia, há quem diz que o problema esta no filtro mas não me convenceu, para solucionar este problema o medico tem que sair do sistema e logar novamente, ai volta a mostrar o nome...utilizo Delphi 7 + Zeos e Mysql, o filtro está da seguinte maneira.
procedure Tfrm_agendameddia.FormShow(Sender: TObject);
var
data : string;
begin
data:=datetostr(date);
data:=formatdatetime(''''''''yyyy-mm-dd'''''''', now);
dm1.tbl_agenda_consulta.Filter:='''''''''''''''';
dm1.tbl_agenda_consulta.Filtered:=false;
dm1.tbl_agenda_consulta.Filter:= ''''''''dt_consuta = '''''''' + quotedstr(data + ''''''''*'''''''') +
''''''''and status_agendamento = '''''''' + quotedstr(''''''''CONFIRMADA'''''''');
dm1.tbl_agenda_consulta.Filtered:=true;
dm1.tbl_agenda_consulta.Refresh;
LEMBRANDO QUE O PROGRAMA RODA EM REDE, TENDO UM SERVIDOR SÓ PARA O BD, NÃO SEI SE PODE INFLUENCIAR EM ALGUMA COISA MAS ENQUANTO E AGENDADO AS NOVAS CONSULTAS AS JÁ AGENDADAS PODEM SER FEITAS SIMULTANEAMENTE....LOGICO QUE PARA CADA MEDICO UM PACIENTE....
ESPERO PODER CONTAR COM A AJUDA DE VOCÊS.....
Diemes Ruas
Curtir tópico
+ 0
Responder
Posts
12/10/2012
Alisson Santos
Verificou se na hora que sai da ultima tela não está fechando a tela query de usuário?
Responder
Gostei + 0
15/10/2012
Diemes Ruas
Verificou se na hora que sai da ultima tela não está fechando a tela query de usuário?
Boa Tarde...já sim Alisson....mas em nenhum momento eu fecho a query ou tabela... :/
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)