⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jlcqktjb_u.pas

📁 主要是驾校的车辆管理、人员信息管理
💻 PAS
字号:
unit jlcqktjb_u;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, DBCtrls, Grids, DBGrids, StdCtrls, Buttons, ExtCtrls, Mask, DB,
  DBTables, ComCtrls,comobj, TabNotBk, PrnDbgeh, DBGridEh;

type
  Tjlcqktjb = class(TForm)
    DataSource1: TDataSource;
    Table1: TTable;
    Database1: TDatabase;
    Table1BDEDesigner: TStringField;
    Table1BDEDesigner2: TStringField;
    Table1BDEDesigner3: TStringField;
    Table1BDEDesigner4: TStringField;
    Table1BDEDesigner5: TStringField;
    Table1BDEDesigner6: TDateTimeField;
    Table1BDEDesigner7: TDateTimeField;
    Table1BDEDesigner8: TDateTimeField;
    Table1BDEDesigner9: TDateTimeField;
    Table1BDEDesigner10: TStringField;
    Table1BDEDesigner11: TMemoField;
    Table1BDEDesigner12: TStringField;
    Table1BDEDesigner13: TDateTimeField;
    Table2: TTable;
    Label15: TLabel;
    Table3: TTable;
    Table3jlcqktjb: TIntegerField;
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    GroupBox1: TGroupBox;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    Label10: TLabel;
    Label12: TLabel;
    Label13: TLabel;
    DBEdit1: TDBEdit;
    DBEdit2: TDBEdit;
    DBEdit3: TDBEdit;
    DBEdit4: TDBEdit;
    DBEdit5: TDBEdit;
    DBEdit6: TDBEdit;
    DBEdit7: TDBEdit;
    DBEdit8: TDBEdit;
    DBEdit9: TDBEdit;
    DBEdit11: TDBEdit;
    DBEdit12: TDBEdit;
    DBComboBox1: TDBComboBox;
    DateTimePicker1: TDateTimePicker;
    DateTimePicker2: TDateTimePicker;
    DateTimePicker3: TDateTimePicker;
    DateTimePicker4: TDateTimePicker;
    GroupBox2: TGroupBox;
    Label11: TLabel;
    DBMemo1: TDBMemo;
    Panel1: TPanel;
    Label14: TLabel;
    DBNavigator1: TDBNavigator;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    BitBtn3: TBitBtn;
    ComboBox1: TComboBox;
    Edit1: TEdit;
    BitBtn4: TBitBtn;
    ComboBox2: TComboBox;
    DBGridEh1: TDBGridEh;
    PrintDBGridEh1: TPrintDBGridEh;
    TabSheet2: TTabSheet;
    procedure DBComboBox1DropDown(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure DBGrid1DblClick(Sender: TObject);
    procedure BitBtn4Click(Sender: TObject);
    procedure Table1AfterInsert(DataSet: TDataSet);
    procedure Table1BeforeInsert(DataSet: TDataSet);
    procedure Table1BeforeRefresh(DataSet: TDataSet);
    procedure DateTimePicker1Change(Sender: TObject);
    procedure DateTimePicker2Change(Sender: TObject);
    procedure DateTimePicker3Change(Sender: TObject);
    procedure DateTimePicker4Change(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure Table1BeforeCancel(DataSet: TDataSet);
    procedure Table1AfterPost(DataSet: TDataSet);
    procedure BitBtn2Click(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  jlcqktjb: Tjlcqktjb;

implementation

{$R *.dfm}

procedure Tjlcqktjb.DBComboBox1DropDown(Sender: TObject);
begin
    with dbcombobox1 do
    begin
     if items.count<=0 then
       begin
        with table2 do
        begin
         first;
          while (fieldvalues['用途']<>null) and (not eof) do
           begin
              items.Add(fieldvalues['用途']);
              next;
           end;
          end;
        end;
     end;
end;

procedure Tjlcqktjb.FormCreate(Sender: TObject);
begin
  table1.Close;
  table1.Open;
  table2.Close;
  table2.Open;
end;

procedure Tjlcqktjb.DBGrid1DblClick(Sender: TObject);
begin
    //用途
    {with dbgrid1 do
    begin
     if Columns[9].picklist.count<=0 then
       begin
        with table2 do
        begin
         first;
          while (fieldvalues['用途']<>null) and (not eof) do
           begin
              Columns[9].picklist.Add(fieldvalues['用途']);
              next;
           end;
          end;
        end;
     end;}

end;

procedure Tjlcqktjb.BitBtn4Click(Sender: TObject);
var
filterstr:string;
begin
   if edit1.text<>'' then
   begin
     filterstr:=combobox1.Text+combobox2.Text+''''+edit1.Text+'''';
     table1.Filter:=filterstr;
     table1.Filtered:=true;
     DBGridEh1.DataSource:=datasource1;
   end
   else
   showmessage('请选择查询条件!');
end;


procedure Tjlcqktjb.Table1AfterInsert(DataSet: TDataSet);
var
  i:integer;
begin
  table3.Open;
  table3.edit;
  i:=table3.FieldValues['jlcqktjb']+1;
  table3.FieldValues['jlcqktjb']:=i;
  table1.FieldValues['编号']:=formatfloat('700000',i);
  table1.FieldValues['建档人']:='';
  table1.FieldValues['建档日期']:=datetostr(now);
end;

procedure Tjlcqktjb.Table1BeforeInsert(DataSet: TDataSet);
begin
    table1.Filtered:=false;
    combobox1.Text:='';
    combobox2.Text:='';
    edit1.Text:='';
    dbgrideh1.DataSource:=nil;
end;

procedure Tjlcqktjb.Table1BeforeRefresh(DataSet: TDataSet);
begin
    table1.Filtered:=false;
    combobox1.Text:='';
    combobox2.Text:='';
    edit1.Text:='';
    dbgrideh1.DataSource:=nil;
end;

procedure Tjlcqktjb.DateTimePicker1Change(Sender: TObject);
begin
  dbedit6.Text:=datetostr(datetimepicker1.Date);
  table1.Edit;
end;

procedure Tjlcqktjb.DateTimePicker2Change(Sender: TObject);
begin
  dbedit7.Text:=datetostr(datetimepicker2.Date);
  table1.Edit;
end;

procedure Tjlcqktjb.DateTimePicker3Change(Sender: TObject);
begin
  dbedit8.Text:=datetostr(datetimepicker3.Date);
  table1.Edit;
end;

procedure Tjlcqktjb.DateTimePicker4Change(Sender: TObject);
begin
  dbedit9.Text:=datetostr(datetimepicker4.Date);
  table1.Edit;
end;

{
功能描述:把DBGrid输出到Excel表格(支持多Sheet)
调用格式:CopyDbDataToExcel([DBGrid1, DBGrid2]);
}
procedure CopyDbDataToExcel(Args: array of const);
var
  iCount, jCount: Integer;
  XLApp: Variant;
  Sheet: Variant;
  I: Integer;
begin
  Screen.Cursor := crHourGlass;
  if not VarIsEmpty(XLApp) then
  begin
    XLApp.DisplayAlerts := False;
    XLApp.Quit;
    VarClear(XLApp);
  end;

  try
    XLApp := CreateOleObject('Excel.Application');
  except
    Screen.Cursor := crDefault;
    Exit;
  end;

  XLApp.WorkBooks.Add;
  XLApp.SheetsInNewWorkbook := High(Args) + 1;

  for I := Low(Args) to High(Args) do
  begin
    XLApp.WorkBooks[1].WorkSheets[I+1].Name := TDBGrid(Args[I].VObject).Name;
    Sheet := XLApp.Workbooks[1].WorkSheets[TDBGrid(Args[I].VObject).Name];

    if not TDBGrid(Args[I].VObject).DataSource.DataSet.Active then
    begin
      Screen.Cursor := crDefault;
      Exit;
    end;

    TDBGrid(Args[I].VObject).DataSource.DataSet.first;
    for iCount := 0 to TDBGrid(Args[I].VObject).Columns.Count - 1 do
      Sheet.Cells[1, iCount + 1] :=
    TDBGrid(Args[I].VObject).Columns.Items[iCount].Title.Caption;

    jCount := 1;
    while not TDBGrid(Args[I].VObject).DataSource.DataSet.Eof do
    begin
      for iCount := 0 to TDBGrid(Args[I].VObject).Columns.Count - 1 do
        Sheet.Cells[jCount + 1, iCount + 1] :=
      TDBGrid(Args[I].VObject).Columns.Items[iCount].Field.AsString;

      Inc(jCount);
      TDBGrid(Args[I].VObject).DataSource.DataSet.Next;
    end;
    XlApp.Visible := True;
  end;
  Screen.Cursor := crDefault;
end;

procedure Tjlcqktjb.BitBtn3Click(Sender: TObject);
begin
   if dbgrideh1.DataSource=datasource1 then
      CopyDbDataToExcel([DBGrideh1])
   else
      showmessage('表格中无记录!');
end;

procedure Tjlcqktjb.FormClose(Sender: TObject; var Action: TCloseAction);
begin
    table3.Close;
    jlcqktjb.Destroy;
end;

procedure Tjlcqktjb.Table1BeforeCancel(DataSet: TDataSet);
begin
  table3.Cancel;
end;

procedure Tjlcqktjb.Table1AfterPost(DataSet: TDataSet);
begin
     table3.Post;
end;

procedure Tjlcqktjb.BitBtn2Click(Sender: TObject);
begin
  self.close;
end;

procedure Tjlcqktjb.BitBtn1Click(Sender: TObject);
begin
  printdbgrideh1.Preview;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -