Ir para conteúdo
Fórum Script Brasil
  • 0

Trabalhando Com Banco De Dados... Erro


Guest Fernando desesperado

Pergunta

Guest Fernando desesperado

Tenho uma tabela feita no interbase com o nome de agenda. tem duas chaves primarias data e consultor(faz referencia a tabela funcionario) e outros campos com horario. Criei uma form para localizar o agendamento de certo dia através de uma DateTimePicker e de um DBlookup que faz referencia a consultor. se data for NULL p/ certo dia então ativo a tabela agenda como INSERT se não ativo-a como EDIT. Quando faço upplyupdate(-1) e desativo a tabela dá o seguinte erro "CANNOT FOCUS A DISABLE OR INVISIBLE WINDOW".

Que que eu faço estou desesperado!!!!!

código:

procedure TForm_Agenda.DBLookupComboBox1CloseUp(Sender: TObject);

begin

dat:= datetostr(datetimepicker1.Date);

datamodule1.ClientDataSet_agenda.CommandText:='SELECT * FROM agenda WHERE data = dat AND consultor = dblookupcombobox1.Text';

datamodule1.SQLDataSet_agenda.ExecSQL;

//

datamodule1.SQLDataSet_agenda.Active:=true;

datamodule1.ClientDataSet_agenda.Active:=true;

if datamodule1.ClientDataSet_agendaDATA.Value = NULL then

begin

datamodule1.ClientDataSet_agenda.Insert;

datamodule1.ClientDataSet_agendaDATA.Value:= datetostr(datetimepicker1.Date);

datamodule1.ClientDataSet_agendaCONSULTOR.Value:= dblookupcombobox1.Text;

end;

datamodule1.ClientDataSet_agenda.Edit;

end;

procedure TForm_Agenda.DBEdit1KeyPress(Sender: TObject; var Key: Char);

begin

if key=(#13) then

begin

datamodule1.ClientDataSet_agenda.ApplyUpdates(-1);

datamodule1.ClientDataSet_agenda.Active:=false;

datamodule1.SQLDataSet_agenda.Active:=false;

form_visita.ShowModal;

end;

end;

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

creio q o motivo do problema não seja esse, mas não custa nada tentar...

esse tipo de erro acontece comigo quando eu desabilito algum campo (Edit, DBEdit, DBComboBox, etc..) ou formulário e chamo o formulário novamente sem habilitar o campo (ou o form) e o foco cai nesse campo com o mesmo desabilitado, verifique se isso pode estar acontecendo com vc.

Link para o comentário
Compartilhar em outros sites

  • 0

Talvez o form_visita esteje fechado. Ou o componente que esteja com Tabstop = 0, não esteja habilitado

E outra:

Nessa parte do código, você tem um if para verificar se a data é numa, mas não tem o else, então a ultima linha sempre vai ser executada, não importando se a data é nula ou não..

você não esta tendo problemas com isso?

if datamodule1.ClientDataSet_agendaDATA.Value = NULL then
begin
datamodule1.ClientDataSet_agenda.Insert;
datamodule1.ClientDataSet_agendaDATA.Value:= datetostr(datetimepicker1.Date);
datamodule1.ClientDataSet_agendaCONSULTOR.Value:= dblookupcombobox1.Text;
end;
<- deveria ter um end (sem o; mesmo)
<- deveria ter um else aqui
<- deveria ter um begin aqui
datamodule1.ClientDataSet_agenda.Edit;
<- deveria ter um end aqui
end;

Isso para que se a data seja nula ele insira, e se não for nula ele edite wink.gif

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,2k
×
×
  • Criar Novo...