Formulário não limpa dados após consulta.

25/02/2021

0

++++ qryCadastroRequisicao ++++++++++++
select
rq.idrequisicao,
rq.idcontrato,
rq.idusuario,
rq.numrequisicao,
rq.datareq,
rq.totalreq,
rq.localentrega,
rq.periodoentrega,
rq.observacao,
rq.datacadastro,
rq.situacao
from tblrequisicao rq

where rq.idrequisicao = :idrequisicao

+++ formulario de listagem de requisição +++++++++++++
unit uFrmListaRequisicao;

interface

uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, ufrmBaseListagem, Data.DB,
System.ImageList, Vcl.ImgList, Vcl.Grids, Vcl.DBGrids, Vcl.DBCtrls,
JvDBControls, Vcl.StdCtrls, Vcl.ExtCtrls, JvExStdCtrls, JvButton, JvCtrls,
Vcl.Imaging.pngimage, uEnum;

type
TfrmListaRequisicoes = class(TfrmBaseListagem)
procedure FormCreate(Sender: TObject);
procedure jvibtNovoClick(Sender: TObject);
procedure jvibtEditarClick(Sender: TObject);

private
{ Private declarations }
Protected
// Seção que pode ser vista pelos hedeiros
procedure AbrirCadastro(EstadoDoCadastroMdt: TestadoDoCadastro);
public
{ Public declarations }
end;

var
frmListaRequisicoes: TfrmListaRequisicoes;

implementation

{$R *.dfm}

uses uDmListaRequisicao, uDmCadastroRequisicao, uFrmCadastroRequisicaoMdt;

{ TfrmListaRequisicoes }

procedure TfrmListaRequisicoes.AbrirCadastro(EstadoDoCadastroMdt
: TestadoDoCadastro);
begin
try
dmCadastroRequisicao := TdmCadastroRequisicao.Create(self);
if not Assigned(frmCadastroRequisicaoMdt) then
frmCadastroRequisicaoMdt := TfrmCadastroRequisicaoMdt.Create(self);

frmCadastroRequisicaoMdt.EstadoDoCadastroMdt := EstadoDoCadastroMdt;

case EstadoDoCadastroMdt of
ecNovo:
begin
dmCadastroRequisicao.qryCadastroRequisicao.Close;
dmCadastroRequisicao.qryCadastroRequisicao.ParamByName('idrequisicao').AsInteger:= -1;
dmCadastroRequisicao.qryCadastroRequisicao.Open;
dmCadastroRequisicao.qryCadastroRequisicao.Append;
end;
ecModificar:
begin
dmCadastroRequisicao.qryCadastroRequisicao.Close;
dmCadastroRequisicao.qryCadastroRequisicao.ParamByName('idrequisicao').AsInteger := dmListaRequisicao.qryListaRequisicaoIDREQUISICAO.AsInteger;
dmCadastroRequisicao.qryCadastroRequisicao.Open;
dmCadastroRequisicao.qryCadastroRequisicao.Edit;
end;
ecExcluir:
begin

end;
ecNenhum:
begin

end;
end;
frmCadastroRequisicaoMdt.ShowModal;
finally
FreeAndNil(frmCadastroRequisicaoMdt);
dmCadastroRequisicao.qryCadastroRequisicao.Release;
dmListaRequisicao.qryListaRequisicao.Close;
dmListaRequisicao.qryListaRequisicao.Open;
end;
end;

procedure TfrmListaRequisicoes.FormCreate(Sender: TObject);
begin
inherited;
dmListaRequisicao := TdmListaRequisicao.Create(self);
end;

procedure TfrmListaRequisicoes.jvibtEditarClick(Sender: TObject);
begin
inherited;
AbrirCadastro(ecModificar);
end;

procedure TfrmListaRequisicoes.jvibtNovoClick(Sender: TObject);
begin
inherited;
AbrirCadastro(ecNovo);
end;

end.

+++++++++ formulario de Cadastro +++++++++++++++++
unit uFrmCadastroRequisicaoMdt;

interface

uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, ufrmBaseCadastro, Data.DB,
System.Actions, Vcl.ActnList, System.ImageList, Vcl.ImgList, Vcl.StdCtrls,
JvExStdCtrls, JvButton, JvCtrls, Vcl.Imaging.pngimage, Vcl.ExtCtrls, uEnum,
Vcl.Grids, Vcl.DBGrids, Vcl.DBCtrls, JvExMask, JvToolEdit, Vcl.Mask,
JvDBControls;

type
TfrmCadastroRequisicaoMdt = class(TfrmBaseCadastro)
pnlCredor: TPanel;
pnlRrequisicao: TPanel;
pnlItens: TPanel;
DBGrid1: TDBGrid;
lblCredor: TLabel;
lblNumContrato: TLabel;
lblValorContrato: TLabel;
dbtCredor: TDBText;
dbtNumContrato: TDBText;
dbtValorContrato: TDBText;
lblNumRequisicao: TLabel;
bedtNumRequisicao: TDBEdit;
lblTotalReq: TLabel;
bedtTotalReq: TDBEdit;
lblDtReq: TLabel;
lblLocalEntrega: TLabel;
bedtLocalEntrega: TDBEdit;
lblPeriodoEntrega: TLabel;
bedtPeriodoEntrega: TDBEdit;
lblObservacao: TLabel;
bedtObservacao: TDBEdit;
jvDtRequisicao: TJvDBDateEdit;
procedure FormShow(Sender: TObject);
procedure actGravarExecute(Sender: TObject);
procedure actCancelarExecute(Sender: TObject);
procedure actExcluirExecute(Sender: TObject);
private
{ Private declarations }
procedure ControleEstadoMdt(EstadoDoCadastroMdt: TEstadoDoCadastro);
public
{ Public declarations }
EstadoDoCadastroMdt: TestadoDoCadastro;
end;

var
frmCadastroRequisicaoMdt: TfrmCadastroRequisicaoMdt;

implementation

{$R *.dfm}

uses uDmCadastroRequisicao;

procedure TfrmCadastroRequisicaoMdt.actCancelarExecute(Sender: TObject);
begin

end;

procedure TfrmCadastroRequisicaoMdt.actExcluirExecute(Sender: TObject);
begin

end;

procedure TfrmCadastroRequisicaoMdt.actGravarExecute(Sender: TObject);
begin

end;

procedure TfrmCadastroRequisicaoMdt.ControleEstadoMdt(
EstadoDoCadastroMdt: TestadoDoCadastro);
begin
if (EstadoDoCadastroMdt = ecNovo) then begin
lblTitulo.Caption := lblTitulo.Caption + ' - [NOVA REQUISIÇÃO]';
end
else if (EstadoDoCadastroMdt = ecModificar) then begin
lblTitulo.Caption := lblTitulo.Caption + ' - [EDIÇÃO REQUISIÇÃO]';
end
else if (EstadoDoCadastroMdt = ecExcluir) then begin
lblTitulo.Caption := lblTitulo.Caption + ' - [DELETAR REQUISIÇÃO]';
end
else begin
lblTitulo.Caption := lblTitulo.Caption+ ' - [Navegando]';
end;
end;

procedure TfrmCadastroRequisicaoMdt.FormShow(Sender: TObject);
begin
ControleEstadoMdt(EstadoDoCadastroMdt);
end;

end.


Boa noite; pessoa gostaria de uma ajuda pra finalizar um sistema.
Tenho esse código. no Fdquery, faço a consulta e lista no formulário de lista que a partir dele faço a inclusão ou edição do requisição. o problema tá bem ai o formulário da fixando o resultado da primeira ação que realizo, ou inclusão ou edição e não consigo alterar se não fechar o formulário de listagem e e abri-lo de novo. Alguém pode me dá uma ajuda estou precisando muito dessa ajuda. agradeço a todos que puderem ajudar.
Joaci Queiroz

Joaci Queiroz

Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar