listar nome de campos da tabela
24/08/2010
0
Fabio Sanches
Posts
24/08/2010
Eriley Barbosa
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; Coloque 5 na propriedade Tag do campo que não quer mostrar. Use assim: CarregarCampos(DataSource1, ComboBox1);
24/08/2010
Fabio Sanches
24/08/2010
Eriley Barbosa
24/08/2010
Deivison Melo
24/08/2010
Fabio Sanches
24/08/2010
Fabio Sanches
24/08/2010
Fabio Sanches
24/08/2010
Eriley Barbosa
25/08/2010
Fabio Sanches
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
25/08/2010
Eriley Barbosa
25/08/2010
Fabio Sanches
codusu:="Codigo"
por exemplo.. em qual evento q eu faço isso?? no onenter do combo?
25/08/2010
Eriley Barbosa
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;
25/08/2010
Fabio Sanches
25/08/2010
Eriley Barbosa
procedure TFCadUsu.EIdUsuExit(Sender: TObject); 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
Clique aqui para fazer login e interagir na Comunidade :)