Var
C : Integer; // Irá auxiliar no laço para realizar a leitura de todos os fields da query pertencente ao formulário atual;
begin
with(parDataSource)do
begin
for C := 0 To DataSet.FieldCount -1 do // A rotina ao lado irá realizar uma laço em todos os Fields
begin // da query que esta ligado ao DataSource.
if((DataSet.Fields[C].FieldKind = fkData)and // Apenas os Fields que são do tipo fkData serão adicionados ao
(DataSet.Fields[C].Tag <> 5))then // ComboBox para que o usuário escolha qual será o campo de pesquisa;
cbCampos.Items.Add(DataSet.Fields[C].FieldName);
end;
cbCampos.ItemIndex := 0; // Coloca o primeiro Field no ComboBox
end;
end;
procedure TFLocUsu.CarregarCampos(parDataSource: TDataSource; cbCampos: TComboBox);
Var
C : Integer; // Irá auxiliar no laço para realizar a leitura de todos os fields da query pertencente ao formulário atual;
begin
with(parDataSource)do
begin
for C := 0 To DataModule1.DataSetCadUsu.FieldCount -1 do // A rotina ao lado irá realizar uma laço em todos os Fields
begin // da query que esta ligado ao DataSource.
if((DataModule1.DataSetCadUsu.Fields[C].FieldKind = fkData)and // Apenas os Fields que são do tipo fkData serão adicionados ao
(DataModule1.DataSetCadUsu.Fields[C].Tag <> 5))then // ComboBox para que o usuário escolha qual será o campo de pesquisa;
cbCampos.Items.Add(DataModule1.DataSetCadUsu.Fields[C].FieldName);
end;
cbCampos.ItemIndex := 0; // Coloca o primeiro Field no ComboBox
end;
end;
CarregarCampos(DataSource1, Combobox1);
[Error] ULocUsu.pas(49): Declaration expected but identifier 'CarregarCampos' found
procedure TFLocUsu.CarregarCampos(parDataSource: TDataSource; cbCampos: TComboBox);
Var
C : Integer; // Irá auxiliar no laço para realizar a leitura de todos os fields da query pertencente ao formulário atual;
begin
with(parDataSource)do
begin
for C := 0 To DataModule1.DataSetCadUsu.FieldCount -1 do // A rotina ao lado irá realizar uma laço em todos os Fields
begin // da query que esta ligado ao DataSource.
if((DataModule1.DataSetCadUsu.Fields[C].FieldKind = fkData)and // Apenas os Fields que são do tipo fkData serão adicionados ao
(DataModule1.DataSetCadUsu.Fields[C].Tag <> 5))then // ComboBox para que o usuário escolha qual será o campo de pesquisa;
cbCampos.Items.Add(DataModule1.DataSetCadUsu.Fields[C].DisplayLabel);
end;
cbCampos.ItemIndex := 0; // Coloca o primeiro Field no ComboBox
end;
end;
begin
if Namedoseubotaoquefazaprocura.Focused = True then
Exit
else
begin
if (EIdUsu.Text<>'0') and (EIdUsu.Text<>'') then
begin
DataModule1.ADOQCadUsu.Close;
DataModule1.ADOQCadUsu.SQL.Clear;
DataModule1.ADOQCadUsu.SQL.Add('Select * from TCadUsu where codusu=' + EIdUsu.text);
DataModule1.ADOQCadUsu.Open;
if (DataModule1.ADOQCadUsu.IsEmpty) then
begin
TipOpr:=0;
Fprincipal.limpaCampos(FCadUsu);
EIdUsu.Text:='';
BInserir.Enabled:=true;
BAlterar.Enabled:=false;
DataModule1.AdoQCadUsu.Close;
DataModule1.ADOQCadUsu.SQL.Clear;
DataModule1.ADOQCadUsu.SQL.Add('Select MAX(CodUsu) CodUsu from TCadUsu');
DataModule1.ADOQCadUsu.Open;
if DataModule1.ADOQCadUsu.Fields[0].IsNull then {: se atabela está vazia, retornará nulo}
EIdUsu.Text := '1' {: então este será o 1º registro}
else
begin
EIdUsu.Text := IntToStr(DataModule1.ADOQCadUsu.Fields[0].AsInteger+1);
ENomUsu.SetFocus;
end;
end
else
begin
TipOpr:=1;
BInserir.Enabled:=False;
BAlterar.Enabled:=True;
ENomUsu.Text := DataModule1.ADOQCadUsu.Fields[1].AsString;
EPassUsu.Text := DataModule1.ADOQCadUsu.Fields[2].AsString;
TipNiv := DataModule1.ADOQCadUsu.Fields[3].AsInteger;
if (tipniv=1) then
ComboNivUsu.ItemIndex:=1
else
ComboNivUsu.ItemIndex:=2;
end;
end
else
if (EIdUsu.Text='0') or (EIdUsu.Text='') then
begin
TipOpr:=0;
BInserir.Enabled:=True;
BAlterar.Enabled:=False;
DataModule1.AdoQCadUsu.Close;
DataModule1.ADOQCadUsu.SQL.Clear;
DataModule1.ADOQCadUsu.SQL.Add('Select MAX(CodUsu) CodUsu from TCadUsu');
DataModule1.ADOQCadUsu.Open;
if DataModule1.ADOQCadUsu.Fields[0].IsNull then {: se atabela está vazia, retornará nulo}
EIdUsu.Text := '1' {: então este será o 1º registro}
else
begin
EIdUsu.Text := IntToStr(DataModule1.ADOQCadUsu.Fields[0].AsInteger+1);
ENomUsu.SetFocus;
end;
end;
end;
end; //end procedure
se é incremental ou "contendo" a determinada palavra no texto.. ai primeira tarefa como q faço para habilitar o meu dbedit para inserção de dados? e em qual evento do dbedit q eu coloco para ele ir listando a pesquisa em um grid q eu ja inseri no form tbn
Case CbCampos.ItemIndex of
0 : begin // codigo
if cbpesquisa.ItemIndex = 0 then
begin
DataModule1.ADOQCadUsu.Close;
DataModule1.ADOQCadUsu.SQL.Clear;
DataModule1.ADOQCadUsu.SQL.Add('Select * from TCadUsu where codusu=:VIdUsu');
DataModule1.ADOQCadUsu.Parameters.ParamByName('VIdUsu').Value:=ELocUsu.Text;
DataModule1.ADOQCadUsu.Open;
end
else
begin
DataModule1.ADOQCadUsu.Close;
DataModule1.ADOQCadUsu.SQL.Clear;
DataModule1.ADOQCadUsu.SQL.Add('Select * from TCadUsu where codusu=:VIdUsu');
DataModule1.ADOQCadUsu.Parameters.ParamByName('VIdUsu').Value:=ELocUsu.Text;
DataModule1.ADOQCadUsu.Open;
end;
end;
1 : begin //nome
if cbpesquisa.ItemIndex = 1 then
begin
DataModule1.ADOQCadUsu.Close;
DataModule1.ADOQCadUsu.SQL.Clear;
DataModule1.ADOQCadUsu.SQL.Add('Select * from TCadUsu where NomUsu like VNomUsu');
DataModule1.ADOQCadUsu.Parameters.ParamByName('VNomUsu').Value:=ELocUsu.Text+'%';
DataModule1.ADOQCadUsu.Open;
end
else
begin
DataModule1.ADOQCadUsu.Close;
DataModule1.ADOQCadUsu.SQL.Clear;
DataModule1.ADOQCadUsu.SQL.Add('Select * from TCadUsu where NomUsu like VNomUsu');
DataModule1.ADOQCadUsu.Parameters.ParamByName('VNomUsu').Value:='%'+ELocUsu.Text+'%';
DataModule1.ADOQCadUsu.Open;
end;
end;
2 : begin //nivel
if cbpesquisa.ItemIndex = 2 then
begin
DataModule1.ADOQCadUsu.Close;
DataModule1.ADOQCadUsu.SQL.Clear;
DataModule1.ADOQCadUsu.SQL.Add('Select * from TCadUsu where nivusu=:VNivUsu');
DataModule1.ADOQCadUsu.Parameters.ParamByName('VNivUsu').Value:=ELocUsu.Text;
DataModule1.ADOQCadUsu.Open;
end
else
begin
DataModule1.ADOQCadUsu.Close;
DataModule1.ADOQCadUsu.SQL.Clear;
DataModule1.ADOQCadUsu.SQL.Add('Select * from TCadUsu where nivusu=:VnivUsu');
DataModule1.ADOQCadUsu.Parameters.ParamByName('VNivUsu').Value:=ELocUsu.Text;
DataModule1.ADOQCadUsu.Open;
end;
end;
end;
Case CbCampos.ItemIndex of
0 : begin // codigo
if cbpesquisa.ItemIndex = 0 then
begin
DataModule1.ADOQCadUsu.Close;
DataModule1.ADOQCadUsu.SQL.Clear;
DataModule1.ADOQCadUsu.SQL.Add('Select * from TCadUsu where codusu=:VIdUsu');
DataModule1.ADOQCadUsu.Parameters.ParamByName('VIdUsu').AsInteger:=StrToInt(ELocUsu.Text);
DataModule1.ADOQCadUsu.Open;
end
else
begin
DataModule1.ADOQCadUsu.Close;
DataModule1.ADOQCadUsu.SQL.Clear;
DataModule1.ADOQCadUsu.SQL.Add('Select * from TCadUsu where codusu=:VIdUsu');
DataModule1.ADOQCadUsu.Parameters.ParamByName('VIdUsu'AsInteger:=StrToInt(ELocUsu.Text);
DataModule1.ADOQCadUsu.Open;
end;
end;
1 : begin //nome
if cbpesquisa.ItemIndex = 1 then
begin
DataModule1.ADOQCadUsu.Close;
DataModule1.ADOQCadUsu.SQL.Clear;
DataModule1.ADOQCadUsu.SQL.Add('Select * from TCadUsu where NomUsu like :VNomUsu');
DataModule1.ADOQCadUsu.Parameters.ParamByName('VNomUsu').AsString:=QuotedStr(ELocUsu.Text)+'%';
DataModule1.ADOQCadUsu.Open;
end
else
begin
DataModule1.ADOQCadUsu.Close;
DataModule1.ADOQCadUsu.SQL.Clear;
DataModule1.ADOQCadUsu.SQL.Add('Select * from TCadUsu where NomUsu like :VNomUsu');
DataModule1.ADOQCadUsu.Parameters.ParamByName('VNomUsu').AsString:='%'+QuotedStr(ELocUsu.Text)+'%';
DataModule1.ADOQCadUsu.Open;
end;
end;
2 : begin //nivel
if cbpesquisa.ItemIndex = 2 then
begin
DataModule1.ADOQCadUsu.Close;
DataModule1.ADOQCadUsu.SQL.Clear;
DataModule1.ADOQCadUsu.SQL.Add('Select * from TCadUsu where nivusu=:VNivUsu');
DataModule1.ADOQCadUsu.Parameters.ParamByName('VNivUsu').AsInteger:=StrToInt(ELocUsu.Text);
DataModule1.ADOQCadUsu.Open;
end
else
begin
DataModule1.ADOQCadUsu.Close;
DataModule1.ADOQCadUsu.SQL.Clear;
DataModule1.ADOQCadUsu.SQL.Add('Select * from TCadUsu where nivusu=:VnivUsu');
DataModule1.ADOQCadUsu.Parameters.ParamByName('VNivUsu'.AsInteger:=StrToInt(ELocUsu.Text);
DataModule1.ADOQCadUsu.Open;
end;
end;
end;
Case CbCampos.ItemIndex of
0 : begin // codigo
if cbpesquisa.ItemIndex = 0 then
begin
DataModule1.ADOQCadUsu.Close;
DataModule1.ADOQCadUsu.SQL.Clear;
DataModule1.ADOQCadUsu.SQL.Add('Select * from TCadUsu where codusu=:VIdUsu');
DataModule1.ADOQCadUsu.Parameters.ParamByName('VIdUsu').AsInteger:=StrToInt(ELocUsu.Text);
DataModule1.ADOQCadUsu.Open;
end
else
begin
DataModule1.ADOQCadUsu.Close;
DataModule1.ADOQCadUsu.SQL.Clear;
DataModule1.ADOQCadUsu.SQL.Add('Select * from TCadUsu where codusu=:VIdUsu');
DataModule1.ADOQCadUsu.Parameters.ParamByName('VIdUsu'AsInteger:=StrToInt(ELocUsu.Text);
DataModule1.ADOQCadUsu.Open;
end;
end;
1 : begin //nome
if cbpesquisa.ItemIndex = 1 then
begin
DataModule1.ADOQCadUsu.Close;
DataModule1.ADOQCadUsu.SQL.Clear;
DataModule1.ADOQCadUsu.SQL.Add('Select * from TCadUsu where NomUsu like :VNomUsu');
DataModule1.ADOQCadUsu.Parameters.ParamByName('VNomUsu').AsString:=QuotedStr(ELocUsu.Text)+'%';
DataModule1.ADOQCadUsu.Open;
end
else
begin
DataModule1.ADOQCadUsu.Close;
DataModule1.ADOQCadUsu.SQL.Clear;
DataModule1.ADOQCadUsu.SQL.Add('Select * from TCadUsu where NomUsu like :VNomUsu');
DataModule1.ADOQCadUsu.Parameters.ParamByName('VNomUsu').AsString:='%'+QuotedStr(ELocUsu.Text)+'%';
DataModule1.ADOQCadUsu.Open;
end;
end;
2 : begin //nivel
if cbpesquisa.ItemIndex = 2 then
begin
DataModule1.ADOQCadUsu.Close;
DataModule1.ADOQCadUsu.SQL.Clear;
DataModule1.ADOQCadUsu.SQL.Add('Select * from TCadUsu where nivusu=:VNivUsu');
DataModule1.ADOQCadUsu.Parameters.ParamByName('VNivUsu').AsInteger:=StrToInt(ELocUsu.Text);
DataModule1.ADOQCadUsu.Open;
end
else
begin
DataModule1.ADOQCadUsu.Close;
DataModule1.ADOQCadUsu.SQL.Clear;
DataModule1.ADOQCadUsu.SQL.Add('Select * from TCadUsu where nivusu=:VnivUsu');
DataModule1.ADOQCadUsu.Parameters.ParamByName('VNivUsu').AsInteger:=StrToInt(ELocUsu.Text);
DataModule1.ADOQCadUsu.Open;
end;
end;
end;
Case CbCampos.ItemIndex of
0 : begin // codigo
if cbpesquisa.ItemIndex = 0 then
begin
DataModule1.ADOQCadUsu.Close;
DataModule1.ADOQCadUsu.SQL.Clear;
DataModule1.ADOQCadUsu.SQL.Add('Select * from TCadUsu where codusu=:VIdUsu');
DataModule1.ADOQCadUsu.Parameters.ParamByName('VIdUsu').AsInteger:=StrToInt(ELocUsu.Text);
DataModule1.ADOQCadUsu.Open;
end
else
begin
DataModule1.ADOQCadUsu.Close;
DataModule1.ADOQCadUsu.SQL.Clear;
DataModule1.ADOQCadUsu.SQL.Add('Select * from TCadUsu where codusu=:VIdUsu');
DataModule1.ADOQCadUsu.Parameters.ParamByName('VIdUsu').AsInteger:=StrToInt(ELocUsu.Text);
DataModule1.ADOQCadUsu.Open;
end;
end;
1 : begin //nome
if cbpesquisa.ItemIndex = 1 then
begin
DataModule1.ADOQCadUsu.Close;
DataModule1.ADOQCadUsu.SQL.Clear;
DataModule1.ADOQCadUsu.SQL.Add('Select * from TCadUsu where NomUsu like :VNomUsu');
DataModule1.ADOQCadUsu.Parameters.ParamByName('VNomUsu').AsString:=QuotedStr(ELocUsu.Text)+'%';
DataModule1.ADOQCadUsu.Open;
end
else
begin
DataModule1.ADOQCadUsu.Close;
DataModule1.ADOQCadUsu.SQL.Clear;
DataModule1.ADOQCadUsu.SQL.Add('Select * from TCadUsu where NomUsu like :VNomUsu');
DataModule1.ADOQCadUsu.Parameters.ParamByName('VNomUsu').AsString:='%'+QuotedStr(ELocUsu.Text)+'%';
DataModule1.ADOQCadUsu.Open;
end;
end;
2 : begin //nivel
if cbpesquisa.ItemIndex = 2 then
begin
DataModule1.ADOQCadUsu.Close;
DataModule1.ADOQCadUsu.SQL.Clear;
DataModule1.ADOQCadUsu.SQL.Add('Select * from TCadUsu where nivusu=:VNivUsu');
DataModule1.ADOQCadUsu.Parameters.ParamByName('VNivUsu').AsInteger:=StrToInt(ELocUsu.Text);
DataModule1.ADOQCadUsu.Open;
end
else
begin
DataModule1.ADOQCadUsu.Close;
DataModule1.ADOQCadUsu.SQL.Clear;
DataModule1.ADOQCadUsu.SQL.Add('Select * from TCadUsu where nivusu=:VnivUsu');
DataModule1.ADOQCadUsu.Parameters.ParamByName('VNivUsu').AsInteger:=StrToInt(ELocUsu.Text);
DataModule1.ADOQCadUsu.Open;
end;
end;
end;
Case CbCampos.ItemIndex of
0 : begin // codigo
if cbpesquisa.ItemIndex = 0 then
begin
DataModule1.ADOQCadUsu.Close;
DataModule1.ADOQCadUsu.SQL.Clear;
DataModule1.ADOQCadUsu.SQL.Add('Select * from TCadUsu where codusu = ' + ELocUsu.Text);
DataModule1.ADOQCadUsu.Open;
end
else
begin
DataModule1.ADOQCadUsu.Close;
DataModule1.ADOQCadUsu.SQL.Clear;
DataModule1.ADOQCadUsu.SQL.Add('Select * from TCadUsu where codusu = ' + ELocUsu.Text);
DataModule1.ADOQCadUsu.Open;
end;
end;
1 : begin //nome
if cbpesquisa.ItemIndex = 1 then
begin
DataModule1.ADOQCadUsu.Close;
DataModule1.ADOQCadUsu.SQL.Clear;
DataModule1.ADOQCadUsu.SQL.Add('Select * from TCadUsu where NomUsu like ' + QuotedStr(ELocUsu.Text)+'%');
DataModule1.ADOQCadUsu.Open;
end
else
begin
DataModule1.ADOQCadUsu.Close;
DataModule1.ADOQCadUsu.SQL.Clear;
DataModule1.ADOQCadUsu.SQL.Add('Select * from TCadUsu where NomUsu like ' + '%'+QuotedStr(ELocUsu.Text)+'%');
DataModule1.ADOQCadUsu.Open;
end;
end;
2 : begin //nivel
if cbpesquisa.ItemIndex = 2 then
begin
DataModule1.ADOQCadUsu.Close;
DataModule1.ADOQCadUsu.SQL.Clear;
DataModule1.ADOQCadUsu.SQL.Add('Select * from TCadUsu where nivusu = ' + ELocUsu.Text);
DataModule1.ADOQCadUsu.Open;
end
else
begin
DataModule1.ADOQCadUsu.Close;
DataModule1.ADOQCadUsu.SQL.Clear;
DataModule1.ADOQCadUsu.SQL.Add('Select * from TCadUsu where nivusu = ' + ELocUsu.Text);
DataModule1.ADOQCadUsu.Open;
end;
end;
end;
0 : begin // codigo
if cbpesquisa.ItemIndex = 0 then
begin
DataModule1.ADOQCadUsu.Close;
DataModule1.ADOQCadUsu.SQL.Clear;
DataModule1.ADOQCadUsu.SQL.Add('Select * from TCadUsu where codusu = ' + ELocUsu.Text);
DataModule1.ADOQCadUsu.Open;
end
else
begin
DataModule1.ADOQCadUsu.Close;
DataModule1.ADOQCadUsu.SQL.Clear;
DataModule1.ADOQCadUsu.SQL.Add('Select * from TCadUsu where codusu = ' + ELocUsu.Text);
DataModule1.ADOQCadUsu.Open;
end;
end;
1 : begin //nome
if cbpesquisa.ItemIndex = 1 then
begin
DataModule1.ADOQCadUsu.Close;
DataModule1.ADOQCadUsu.SQL.Clear;
DataModule1.ADOQCadUsu.SQL.Add('Select * from TCadUsu where NomUsu like ' + QuotedStr(Trim(ELocUsu.Text)+'%'));
end
else
begin
DataModule1.ADOQCadUsu.Close;
DataModule1.ADOQCadUsu.SQL.Clear;
DataModule1.ADOQCadUsu.SQL.Add('Select * from TCadUsu where NomUsu like ' + QuotedStr('%'+Trim(ELocUsu.Text)+'%'));
end;
end;
2 : begin //nivel
if cbpesquisa.ItemIndex = 2 then
begin
DataModule1.ADOQCadUsu.Close;
DataModule1.ADOQCadUsu.SQL.Clear;
DataModule1.ADOQCadUsu.SQL.Add('Select * from TCadUsu where nivusu = ' + ELocUsu.Text);
DataModule1.ADOQCadUsu.Open;
end
else
begin
DataModule1.ADOQCadUsu.Close;
DataModule1.ADOQCadUsu.SQL.Clear;
DataModule1.ADOQCadUsu.SQL.Add('Select * from TCadUsu where nivusu = ' + ELocUsu.Text);
DataModule1.ADOQCadUsu.Open;
end;
end;
end;
begin
//joga nos edits, como fizemos no dbnavigator
SeuFormulariodeConsulta.Close;
end;
procedure TFLocUsu.BOkClick(Sender: TObject);
begin
if FLocUsu.ShowModal = mrOK then
begin
if not(DataModule1.ADOQCadUsu.Active) then
DataModule1.ADOQCadUsu.Open;
if not(DataModule1.ADOQCadUsu.IsEmpty) then
begin
FCadUsu.ENomUsu.Text := DataModule1.ADOTCadUsu.FieldByName('NomUsu').Value;
FCadUsu.EPassUsu.Text := DataModule1.ADOTCadUsu.FieldByName('PasUsu').Value;
FCadUsu.ComboNivUsu.ItemIndex := DataModule1.ADOTCadUsu.FieldByName('NivUsu').Value;
FCadUsu.EIdUsu.Text := DataModule1.ADOTCadUsu.FieldByName('CodUsu').AsString;
FLocUsu.Close;
end;
end;
e ta dando a seguinte mensagem de erro
"Cannot make a visible window modal"
Pela tela que você montou a operação dela é assim:
Escolher um campo, uma operação e digitar o dado a pesquisar no edit e clicar no botão.
Se você após fazer isso, clicar no botão novamente a pesquisa será repetida.
Mas se você escolher outro campo e digitar outro dado no Edit, será feita uma nova pesquisa.
Alias quando montei a pesquisa, você estava estava usando:
DataModule1.ADOQCadUsu.Close;
DataModule1.ADOQCadUsu.SQL.Clear;
Mas quando montei o retorno da pesquisa estavamos usando:
DataModule1.ADOTCadUsu
Para funcionar sua tela de pesquisa tem que estar usando:
DataModule1.ADOTCadUsu, somente na tela de pesquisa, na tela de cadastro, continua como está.
Para não repetir itens no combobox, basta limpa-lo antes de inserir os itens:
procedure TFLocUsu.CarregarCampos(parDataSource: TDataSource; cbCampos: TComboBox);
Var
C : Integer; // Irá auxiliar no laço para realizar a leitura de todos os fields da query pertencente ao formulário atual;
begin
//Limpando o combobox para não repetir itens
cbCampos.Clear;
with(parDataSource)do
begin
for C := 0 To DataModule1.DataSetCadUsu.FieldCount -1 do // A rotina ao lado irá realizar uma laço em todos os Fields
begin // da query que esta ligado ao DataSource.
if((DataModule1.DataSetCadUsu.Fields[C].FieldKind = fkData)and // Apenas os Fields que são do tipo fkData serão adicionados ao
(DataModule1.DataSetCadUsu.Fields[C].Tag <> 5))then // ComboBox para que o usuário escolha qual será o campo de pesquisa;
cbCampos.Items.Add(DataModule1.DataSetCadUsu.Fields[C].DisplayLabel);
end;
cbCampos.ItemIndex := 0; // Coloca o primeiro Field no ComboBox
end;
end;
begin
if Namedoseubotaoquefazaprocura.Focused = True then
Exit
else
begin
if (EIdUsu.Text<>'0') and (EIdUsu.Text<>'') then
begin
DataModule1.ADOQCadUsu.Close;
DataModule1.ADOQCadUsu.SQL.Clear;
DataModule1.ADOQCadUsu.SQL.Add('Select * from TCadUsu where codusu=' + EIdUsu.text);
DataModule1.ADOQCadUsu.Open;
if (DataModule1.ADOQCadUsu.IsEmpty) then
begin
TipOpr:=0;
Fprincipal.limpaCampos(FCadUsu);
EIdUsu.Text:='';
BInserir.Enabled:=true;
BAlterar.Enabled:=false;
DataModule1.AdoQCadUsu.Close;
DataModule1.ADOQCadUsu.SQL.Clear;
DataModule1.ADOQCadUsu.SQL.Add('Select MAX(CodUsu) CodUsu from TCadUsu');
DataModule1.ADOQCadUsu.Open;
if DataModule1.ADOQCadUsu.Fields[0].IsNull then {: se atabela está vazia, retornará nulo}
EIdUsu.Text := '1' {: então este será o 1º registro}
else
begin
EIdUsu.Text := IntToStr(DataModule1.ADOQCadUsu.Fields[0].AsInteger+1);
ENomUsu.SetFocus;
end;
end
else
begin
TipOpr:=1;
BInserir.Enabled:=False;
BAlterar.Enabled:=True;
ENomUsu.Text := DataModule1.ADOQCadUsu.Fields[1].AsString;
EPassUsu.Text := DataModule1.ADOQCadUsu.Fields[2].AsString;
TipNiv := DataModule1.ADOQCadUsu.Fields[3].AsInteger;
if (tipniv=1) then
ComboNivUsu.ItemIndex:=1
else
ComboNivUsu.ItemIndex:=2;
end;
end
else
if (EIdUsu.Text='0') or (EIdUsu.Text='') then
begin
TipOpr:=0;
BInserir.Enabled:=True;
BAlterar.Enabled:=False;
DataModule1.AdoQCadUsu.Close;
DataModule1.ADOQCadUsu.SQL.Clear;
DataModule1.ADOQCadUsu.SQL.Add('Select MAX(CodUsu) CodUsu from TCadUsu');
DataModule1.ADOQCadUsu.Open;
if DataModule1.ADOQCadUsu.Fields[0].IsNull then {: se atabela está vazia, retornará nulo}
EIdUsu.Text := '1' {: então este será o 1º registro}
else
begin
EIdUsu.Text := IntToStr(DataModule1.ADOQCadUsu.Fields[0].AsInteger+1);
ENomUsu.SetFocus;
end;
end;
end;
end; //end procedure
0 : begin // codigo
if cbpesquisa.ItemIndex = 0 then
begin
DataModule1.ADOQCadUsu.Close;
DataModule1.ADOQCadUsu.SQL.Clear;
DataModule1.ADOQCadUsu.SQL.Add('Select * from TCadUsu where codusu = ' + ELocUsu.Text);
DataModule1.ADOQCadUsu.Open;
end
else
begin
DataModule1.ADOQCadUsu.Close;
DataModule1.ADOQCadUsu.SQL.Clear;
DataModule1.ADOQCadUsu.SQL.Add('Select * from TCadUsu where codusu = ' + ELocUsu.Text);
DataModule1.ADOQCadUsu.Open;
end;
end;
1 : begin //nome
if cbpesquisa.ItemIndex = 1 then
begin
DataModule1.ADOQCadUsu.Close;
DataModule1.ADOQCadUsu.SQL.Clear;
DataModule1.ADOQCadUsu.SQL.Add('Select * from TCadUsu where NomUsu like ' + QuotedStr(Trim(ELocUsu.Text)+'%'));
end
else
begin
DataModule1.ADOQCadUsu.Close;
DataModule1.ADOQCadUsu.SQL.Clear;
DataModule1.ADOQCadUsu.SQL.Add('Select * from TCadUsu where NomUsu like ' + QuotedStr('%'+Trim(ELocUsu.Text)+'%'));
end;
end;
2 : begin //nivel
if cbpesquisa.ItemIndex = 2 then
begin
DataModule1.ADOQCadUsu.Close;
DataModule1.ADOQCadUsu.SQL.Clear;
DataModule1.ADOQCadUsu.SQL.Add('Select * from TCadUsu where nivusu = ' + ELocUsu.Text);
DataModule1.ADOQCadUsu.Open;
end
else
begin
DataModule1.ADOQCadUsu.Close;
DataModule1.ADOQCadUsu.SQL.Clear;
DataModule1.ADOQCadUsu.SQL.Add('Select * from TCadUsu where nivusu = ' + ELocUsu.Text);
DataModule1.ADOQCadUsu.Open;
end;
end;
end;







