Fórum Query - ReadOnly... #219501
10/03/2004
0
:( Por Favor! O que há de errado com isso?
Consigo executar a pesquisa(usando o código abaixo), no entanto, não
consigo alterar os dados, que são exibidos num DBGrid!
Se não puder alterá-los, não faz sentido usa-los...
Alguém pode sugerir uma solução pra o problema ????
Detalhes: O DataSource já está como AutoEdit := True / o DBGrid está como
ReadOnly := False....
OBRIGADO POR QUALQUER DICA QUE POSSA PERMITIR A EDIÇÃO DOS DADOS FILTRADOS!
ABAIXO ESTÁ O PROCEDIMENTO QUE ESTOU USANDO !
procedure TFrmBaixaDoc.BitBtn1Click(Sender: TObject);
begin
Case rgpOpcoes.ItemIndex Of
0:
Begin
If (EdtPesquisa.Text <> ´´) AND (EdtPesquisa2.Text <> ´´) AND (MaskEdit1.Text <> ´´) AND (MaskEdit2.Text <> ´´)Then
Begin
DMFactoring.Query.Close;
DMFactoring.Query.SQL.Clear;
DMFactoring.Query.SQL.Add(´SELECT * FROM Sacado_cedente ´);
DMFactoring.Query.SQL.Add(´WHERE CGC_CPF = ´´+edtPesquisa.Text+´´ ´);
DMFactoring.Query.SQL.Add(´AND BAIXADO = ´´+EdtPesquisa2.Text+´´ ´);
DMFactoring.Query.SQL.Add(´AND QDO_BAIXAR BETWEEN :QUANDO_BAIXAR1´);
DMFactoring.Query.SQL.Add(´AND :QUANDO_BAIXAR2´);
DMFactoring.Query.parambyname(´QUANDO_BAIXAR1´).Value := StrToDate(MaskEdit1.Text);
DMFactoring.Query.parambyname(´QUANDO_BAIXAR2´).Value := StrToDate(MaskEdit2.Text);
DMFactoring.Query.SQL.Add(´ORDER BY CGC_CPF_CEDENTE ´);
DMFactoring.Query.Open;
If DMFactoring.Query.IsEmpty Then
ShowMessage(´Nada foi Encontrado de Acordo com a sua Pesquisa´);
EdtPesquisa.SetFocus;
End
Else
ShowMessage(´Estão faltando parâmetros para a Pesquisa´);
End;
1:
Begin
If (EdtPesquisa.Text <> ´´) AND (EdtPesquisa2.Text <> ´´) AND (MaskEdit1.Text <> ´´) Then
Begin
DMFactoring.Query.Close;
DMFactoring.Query.SQL.Clear;
DMFactoring.Query.SQL.Add(´SELECT * FROM Sacado_cedente ´);
DMFactoring.Query.SQL.Add(´WHERE CGC_CPF_CEDENTE = ´´+edtPesquisa.Text+´´ ´);
DMFactoring.Query.SQL.Add(´AND BAIXADO = ´´+EdtPesquisa2.Text+´´ ´);
DMFactoring.Query.SQL.Add(´AND QDO_BAIXAR BETWEEN :QUANDO_BAIXAR1´);
DMFactoring.Query.SQL.Add(´AND :QUANDO_BAIXAR2´);
DMFactoring.Query.parambyname(´QUANDO_BAIXAR1´).Value := StrToDate(MaskEdit1.Text);
DMFactoring.Query.parambyname(´QUANDO_BAIXAR2´).Value := StrToDate(MaskEdit2.Text);
DMFactoring.Query.SQL.Add(´ORDER BY CGC_CPF_CEDENTE ´);
DMFactoring.Query.Open;
If DMFactoring.Query.IsEmpty Then
ShowMessage(´Nada foi Encontrado de Acordo com a sua Pesquisa´);
EdtPesquisa.SetFocus;
End
Else
ShowMessage(´Estão faltando parâmetros para a Pesquisa´);
End;
Consigo executar a pesquisa(usando o código abaixo), no entanto, não
consigo alterar os dados, que são exibidos num DBGrid!
Se não puder alterá-los, não faz sentido usa-los...
Alguém pode sugerir uma solução pra o problema ????
Detalhes: O DataSource já está como AutoEdit := True / o DBGrid está como
ReadOnly := False....
OBRIGADO POR QUALQUER DICA QUE POSSA PERMITIR A EDIÇÃO DOS DADOS FILTRADOS!
ABAIXO ESTÁ O PROCEDIMENTO QUE ESTOU USANDO !
procedure TFrmBaixaDoc.BitBtn1Click(Sender: TObject);
begin
Case rgpOpcoes.ItemIndex Of
0:
Begin
If (EdtPesquisa.Text <> ´´) AND (EdtPesquisa2.Text <> ´´) AND (MaskEdit1.Text <> ´´) AND (MaskEdit2.Text <> ´´)Then
Begin
DMFactoring.Query.Close;
DMFactoring.Query.SQL.Clear;
DMFactoring.Query.SQL.Add(´SELECT * FROM Sacado_cedente ´);
DMFactoring.Query.SQL.Add(´WHERE CGC_CPF = ´´+edtPesquisa.Text+´´ ´);
DMFactoring.Query.SQL.Add(´AND BAIXADO = ´´+EdtPesquisa2.Text+´´ ´);
DMFactoring.Query.SQL.Add(´AND QDO_BAIXAR BETWEEN :QUANDO_BAIXAR1´);
DMFactoring.Query.SQL.Add(´AND :QUANDO_BAIXAR2´);
DMFactoring.Query.parambyname(´QUANDO_BAIXAR1´).Value := StrToDate(MaskEdit1.Text);
DMFactoring.Query.parambyname(´QUANDO_BAIXAR2´).Value := StrToDate(MaskEdit2.Text);
DMFactoring.Query.SQL.Add(´ORDER BY CGC_CPF_CEDENTE ´);
DMFactoring.Query.Open;
If DMFactoring.Query.IsEmpty Then
ShowMessage(´Nada foi Encontrado de Acordo com a sua Pesquisa´);
EdtPesquisa.SetFocus;
End
Else
ShowMessage(´Estão faltando parâmetros para a Pesquisa´);
End;
1:
Begin
If (EdtPesquisa.Text <> ´´) AND (EdtPesquisa2.Text <> ´´) AND (MaskEdit1.Text <> ´´) Then
Begin
DMFactoring.Query.Close;
DMFactoring.Query.SQL.Clear;
DMFactoring.Query.SQL.Add(´SELECT * FROM Sacado_cedente ´);
DMFactoring.Query.SQL.Add(´WHERE CGC_CPF_CEDENTE = ´´+edtPesquisa.Text+´´ ´);
DMFactoring.Query.SQL.Add(´AND BAIXADO = ´´+EdtPesquisa2.Text+´´ ´);
DMFactoring.Query.SQL.Add(´AND QDO_BAIXAR BETWEEN :QUANDO_BAIXAR1´);
DMFactoring.Query.SQL.Add(´AND :QUANDO_BAIXAR2´);
DMFactoring.Query.parambyname(´QUANDO_BAIXAR1´).Value := StrToDate(MaskEdit1.Text);
DMFactoring.Query.parambyname(´QUANDO_BAIXAR2´).Value := StrToDate(MaskEdit2.Text);
DMFactoring.Query.SQL.Add(´ORDER BY CGC_CPF_CEDENTE ´);
DMFactoring.Query.Open;
If DMFactoring.Query.IsEmpty Then
ShowMessage(´Nada foi Encontrado de Acordo com a sua Pesquisa´);
EdtPesquisa.SetFocus;
End
Else
ShowMessage(´Estão faltando parâmetros para a Pesquisa´);
End;
Alexandretavares
Curtir tópico
+ 0
Responder
Posts
10/03/2004
Fabio.hc
Tente assim:
Coloque na Query, a apropriedade RequestLive=True.
Coloque na Query, a apropriedade RequestLive=True.
Responder
Gostei + 0
10/03/2004
Capristo
Retire o [b:8f7e0764be]order by[/b:8f7e0764be] de sua instrução e rode novamente. Talvez dê resultado.
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)