Tudo bem não há problemas em compartilhar este trecho dos fontes, mas soh
que a pesquisa do meu sistema eh um pouco diferente , outra coisa você usa o
CPF do medico para consultar eu se fosse usar um documento para pesquisar
usaria o CRM seria muito mais pratico apesar que no meu sistema uso o nome
do medico x especialidade. Segue o código. Minha tela de pesquisa para saber
as consultas daquele medico no dia eh mais ou menos assim tenho um combo
para o Nome do medico outro para a especialide e um MonthCalendar para
escolher a data , no on click deste monthcalendar e jogo este código. Vlw

 

with DMPrincipal.ClientDataSet1 do

begin

  Close;

  CommandText:= '';

  CommandText:='select * from CAD_AGENDA_II where ESPECIALIDADE
=:ESPECIALIDADE and MEDICO =:MEDICO and DATA_AGEND =:DATA_AGEND order by
HORARIO';

  Params.ParamByName('ESPECIALIDADE').AsString := DBComboBox1.Text;

  Params.ParamByName('MEDICO').AsString := DBComboBox2.Text;

  Params.ParamByName('DATA_AGEND').AsDate := MonthCalendar1.Date;

    Open;

 

end;

 

vê se te ajuda, vlw

 

De: delphi-br@yahoogrupos.com.br [mailto:delphi...@yahoogrupos.com.br] Em
nome de asandro1501
Enviada em: quinta-feira, 11 de junho de 2009 13:13
Para: delphi-br@yahoogrupos.com.br
Assunto: RES: [delphi-br] Re: agenda médica

 






Marcelo

seria pedir demais para você me enviar o seu fonte da clinica, pelo menos só
a parte dessas consultas, já fiz de tudo que achei que podia dar certo mas
não mexe.

Abaixo segue os comandos colocados:

procedure TFormAgenda.BitBtn2Click(Sender: TObject);
begin
cpf_medico:=DBEdit6.Text; //variavel que recebe o cpf do médico

dm.cds_agenda_grid.close;

dm.cds_agenda_grid.CommandText:='select COD_AGENDA,DATA,
cod_hora,tb_hora.hora, agenda.HORA, CPF_FUN, COD_PAC from AGENDA,tb_hora
where (cod_hora=codhora)and (cpf_fun like "'+cpf_medico+'") order by data';

dm.cds_agenda_grid.open;

end;

O erro que dá neste caso é o seguinte:

Project agmed.exe raised exception class EUIBError with message 'Dynamic SQL
Error 
SQL Error code= -206
Column unknown
80528796326 //este é o cpf recebido pela variavel 
At line 1, column 136
Column does not belong to referenced table
Error Code: 249'. Process stopped. Use Step or Run to continue.

Se a partir disso você puder me ajudar eu agradeço.

--- Em delphi-br@yahoogrupos.com.br <mailto:delphi-br%40yahoogrupos.com.br>
, "marcelo" <leite_rom...@...> escreveu
>
> Qual erro, eu particularmente passo os comando SQL pela propriedade
> commandText do Clientdataset , não esquece de marcar o poAllowcommandText
> para true. Qualquer duvida posta ai. Tambem tenho um sistema de clinica
> médica.
> 
> 
> 
> De: delphi-br@yahoogrupos.com.br <mailto:delphi-br%40yahoogrupos.com.br>
[mailto:delphi-br@yahoogrupos.com.br <mailto:delphi-br%40yahoogrupos.com.br>
] Em
> nome de asandro1501
> Enviada em: quarta-feira, 10 de junho de 2009 16:45
> Para: delphi-br@yahoogrupos.com.br <mailto:delphi-br%40yahoogrupos.com.br>

> Assunto: Res: [delphi-br] Re: agenda médica
> 
> 
> 
> 
> 
> 
> 
> 
> Olá Pessoal
> 
> Obrigado pelas dicas, o problema agora nem é esse, eu tinha feito uma base
> em access pois achei que era tudo pequeno mas tive que fzer uma nova base
em
> firebird 1.5. Agora estou tentanto implementar tudo, estou usando os
> componentes sqldataset da paleta dbexpress, clientdatase, datasetprovider
e
> datasource da paleta dataaccess, preciso fazer um filtro sql que retorne
> somente os campos com nome "fulano" por exemplo, pra isso utilizo uma
> variavel do tipo string que recebe o nome desejado e na instrução sql
> utilizo os parametros where "nome" like "varialvel" mas sempre acusa um
> erro. em access funciona belezinha mas no firebird não. Será que o
problema
> está na utilização do sqldataset? Alguém pode me dar uma dica de como
fazer
> isso e qual componente utilizar.
> 
> Grato
> 
> Deus abençoe a todos
> 
> Alex
> 
> --- Em delphi-br@yahoogrupos.com.br
<mailto:delphi-br%40yahoogrupos.com.br>
<mailto:delphi-br%40yahoogrupos.com.br>
> , Jose Ferreira <joseffilho@> escreveu
> >
> > Caro Alex,
> > 
> > Eu tenho um sistema de agenda médica, e eu coloquei um gerador de
horários
> > de acordo com as necessidades do médico, tanto ele pode escolher os dias

> > que atende como a quantidade de consultas entre horas.
> > 
> > José Ferreira
> > 
> > 
> > 
> > 
> > 
> > ________________________________
> > De: Joao Henrique Levada <joaolevada@>
> > Para: delphi-br@yahoogrupos.com.br
<mailto:delphi-br%40yahoogrupos.com.br>
<mailto:delphi-br%40yahoogrupos.com.br>
> 
> > Enviadas: Quinta-feira, 4 de Junho de 2009 23:13:47
> > Assunto: [delphi-br] Re: agenda médica
> > 
> > 
> > 
> > 
> > 
> > Alex, acho que a maneira mais rápida de cumprir sua meta é usar um
> TClientDataset como uma tabela em memória.
> > 
> > Certamente você terá na interface do programa, um filtro por dia, monte
> então no dataset todos os horários possíveis, carregando da tabela do
banco,
> apenas os horários marcados.
> > 
> > Neste ClientDataset você poderá aplicar filtros e emitir relatórios.
> > 
> > Esta é minha visão mais simplista.
> > 
> > Agora... pense em ter uma classe, sua TCompromisso, dentro de uma lista:
> TCompromissoLista você poderia gerar compromissos à vontade, então, salvar
> os horários preenchidos no banco de dados e liberar a memória dos
> compromissos que não fossem utilizados.. .
> > 
> > Algo como Compromisso. Save e Compromisso. Free.
> > 
> > Mas essa é outra história... pense em estudar Programação Orientada a
> Objetos.
> > 
> > Abraços;
> > 
> > 
> > 
> > 
> > 
> > Veja quais são os assuntos do momento no Yahoo! +Buscados
> > http://br.maisbuscados.yahoo.com
> > 
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> 
> 
> 
> No virus found in this incoming message.
> Checked by AVG - www.avg.com
> Version: 8.5.339 / Virus Database: 270.12.62/2168 - Release Date: 06/10/09
> 18:30:00
> 
> 
> 
> [As partes desta mensagem que não continham texto foram removidas]
>



No virus found in this incoming message.
Checked by AVG - www.avg.com
Version: 8.5.339 / Virus Database: 270.12.63/2169 - Release Date: 06/11/09
05:53:00



[As partes desta mensagem que não continham texto foram removidas]

Responder a