![]() |
|
#40
|
||||
|
||||
![]() Переделал я программку, отказавшись от openDialog? но фильтр всё-равно не могу сделать подскажите пжл как (у меня список, нужно вывести все строки, в которых нет даты в столбце R069 + вывести столбы RFA(фамилия), RIM(имя) при нажатии кнопки1)
Код:
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ADODB, DB, Grids, DBGrids, StdCtrls; type TForm1 = class(TForm) DataSource1: TDataSource; DBGrid1: TDBGrid; ADOConnection1: TADOConnection; ADOTable1: TADOTable; ADOQuery1: TADOQuery; ListBox1: TListBox; ComboBox1: TComboBox; Label1: TLabel; Button1: TButton; procedure ListBox1Click(Sender: TObject); procedure FormCreate(Sender: TObject); procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; AppFolderPath: String; implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); var fs:TSearchRec; begin Label1.Caption:='Aua?aou aaco'; AppFolderPath:=copy(ExtractFilePath(Application.ExeName),1,length(ExtractFilePath(Application.ExeName)))+'BD'; ComboBox1.ItemIndex:=0; if FindFirst(AppFolderPath+'\*.dbf', faAnyFile, fs)=0 then repeat ListBox1.AddItem(fs.Name,nil); until FindNext(fs)<>0; FindClose(fs); end; procedure TForm1.ListBox1Click(Sender: TObject); var i: Integer; begin ADOTable1.Active:= false; ADOConnection1.Connected:=false; ADOConnection1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source="' +AppFolderPath + '";Extended Properties="DBASE IV;";"'; ADOConnection1.LoginPrompt:=False; ADOConnection1.Mode:=cmRead; ADOConnection1.Connected:=True; DataSource1.DataSet:=ADOTable1; ComboBox1.Items.Clear; ADOConnection1.Connected:=True; ADOTable1.TableName:=ListBox1.Items[ListBox1.ItemIndex]; ADOTable1.Active:=True; ComboBox1.ItemIndex:=ADOTable1.FieldCount; for i:= 1 to (ADOTable1.FieldCount - 1) do //While not IntToStr(ADOTable1.FieldCount) do begin ComboBox1.Items.Add(ADOTable1.Fields[i].FieldName); // ADOQuery1.Next; end; DBGrid1.DataSource:=DataSource1; end; procedure TForm1.Button1Click(Sender: TObject); begin ADOTable1.Active:=False; ADOQuery1.SQL.Text:= 'Select RFA From KADRY_.DBF Where R069 is null'; ADOQuery1.Active:= True; end; end. Последний раз редактировалось spawn-1212, 20.12.2012 в 14:35. |