【delphi开源代码栏目提醒】:文章导读:在新的一年中,各位网友都进入紧张的学习或是工作阶段。网学会员整理了delphi开源代码-JLOOKUPF.PAS的相关内容供大家参考,祝大家在新的一年里工作和学习顺利!
unit JLOOKUPF;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Buttons, ComCtrls, ToolWin, Grids, DBGrids, Db, DBTables, Menus;
type
TFMLOOKUP = class(TForm)
DBGrid1: TDBGrid;
QCHECK: TQuery;
ED_IDNO: TEdit;
Label1: TLabel;
ED_NAME: TEdit;
Label2: TLabel;
DataSource1: TDataSource;
BTNSER1: TSpeedButton;
BTNSER2: TSpeedButton;
DBGrid2: TDBGrid;
BTNSER3: TSpeedButton;
ED_MARK: TEdit;
Label3: TLabel;
MainMenu1: TMainMenu;
ESC: TMenuItem;
BTNSER: TSpeedButton;
BTNQUT: TSpeedButton;
procedure BTNQUTClick(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCreate(Sender: TObject);
procedure BTNSER2Click(Sender: TObject);
procedure ED_IDNOKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure ED_NAMEKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure DBGrid1CellClick(Column: TColumn);
procedure FormActivate(Sender: TObject);
procedure DBGrid1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure BTNSER1Click(Sender: TObject);
procedure BTNSERClick(Sender: TObject);
procedure BTNSER3Click(Sender: TObject);
procedure DBGrid2TitleClick(Column: TColumn);
procedure ESCClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
Q_DATABASENAME:STRING;
Q_IDNO, Q_NAME, Q_MARK, Q_TABLENAME : STRING;
Q_KEY1, Q_KEY2 : STRING;
Q_RETURN_IDNO : STRING;
Q_LOOKUP_ORDERBY_ID : INTEGER;
FUNCTION FIND_QUERY_IDNO(T_STR:STRING):STRING;
FUNCTION FIND_QUERY_NAME(T_STR:STRING):STRING;
FUNCTION FIND_QUERY_MARK(T_STR:STRING):STRING;
FUNCTION FOCUS_QUERY_IDNO(T_STR:STRING):STRING;
// FUNCTION FOCUS_QUERY_MARK(T_STR:STRING):STRING;
end;
var
FMLOOKUP: TFMLOOKUP;
implementation
USES UN_UTL;
{$R *.DFM}
FUNCTION TFMLOOKUP.FIND_QUERY_IDNO(T_STR:STRING):STRING;
BEGIN
TRY
QCHECK.DatabaseName := Q_DatabaseName;
QCHECK.SQL.CLEAR;
QCHECK.SQL.Add('SELECT '+ Q_IDNO +','+ Q_NAME);
QCHECK.SQL.Add('FROM '+ Q_TableNAME);
QCHECK.SQL.Add('WHERE '+ Q_IDNO +' LIKE ''%'+T_STR+'%''');
IF TRIM(Q_KEY1) <> '' THEN QCHECK.SQL.Add('AND '+Q_KEY1+' = '''+Q_KEY2+'''');
IF (Q_LOOKUP_ORDERBY_ID<=0)AND(Q_IDNO<>'')AND(Q_NAME<>'') THEN QCHECK.SQL.Add('ORDER BY '+Q_IDNO+','+Q_NAME);
IF (Q_LOOKUP_ORDERBY_ID>=1)AND(Q_IDNO<>'')AND(Q_NAME<>'') THEN QCHECK.SQL.Add('ORDER BY '+Q_NAME+','+Q_IDNO);
QCHECK.Close;
QCHECK.Open;
//调整GRID 的宽度
DBGRID1.Columns.Items[0].FieldName := Q_IDNO;
DBGRID1.Columns.Items[1].FieldName := Q_NAME;
EXCEPT
SHOWMESSAGE('数据库无法打开, 资料源可能设置错误!');
END;
END;
FUNCTION TFMLOOKUP.FIND_QUERY_NAME(T_STR:STRING):STRING;
BEGIN
TRY
QCHECK.DatabaseName := Q_DatabaseName;
QCHECK.SQL.CLEAR;
QCHECK.SQL.Add('SELECT '+ Q_IDNO +','+ Q_NAME);
QCHECK.SQL.Add('FROM '+ Q_TableNAME);
QCHECK.SQL.Add('WHERE '+ Q_NAME +' LIKE ''%'+T_STR+'%''');
IF TRIM(Q_KEY1) <> '' THEN QCHECK.SQL.Add('AND '+Q_KEY1+' = '''+Q_KEY2+'''');
IF (Q_LOOKUP_ORDERBY_ID <=0)AND(Q_IDNO<>'')AND(Q_NAME<>'') THEN QCHECK.SQL.Add('ORDER BY '+Q_IDNO+','+Q_NAME);
IF (Q_LOOKUP_ORDERBY_ID >=1)AND(Q_IDNO<>'')AND(Q_NAME<>'') THEN QCHECK.SQL.Add('ORDER BY '+Q_NAME+','+Q_IDNO);
QCHECK.Close;
QCHECK.Open;
//调整GRID 的宽度
DBGRID1.Columns.Items[0].FieldName := Q_IDNO;
DBGRID1.Columns.Items[1].FieldName := Q_NAME;
EXCEPT
SHOWMESSAGE('数据库无法打开, 资料源可能设置错误!');
END;
END;
FUNCTION TFMLOOKUP.FIND_QUERY_MARK(T_STR:STRING):STRING;
BEGIN
TRY
QCHECK.DatabaseName := Q_DatabaseName;
QCHECK.SQL.CLEAR;
QCHECK.SQL.Add('SELECT '+ Q_IDNO +','+ Q_NAME +','+ Q_MARK);
QCHECK.SQL.Add('FROM '+ Q_TableNAME);
QCHECK.SQL.Add('WHERE '+ Q_MARK +' LIKE ''%'+T_STR+'%''');
IF TRIM(Q_KEY1) <> '' THEN QCHECK.SQL.Add('AND '+Q_KEY1+' = '''+Q_KEY2+'''');
IF (Q_LOOKUP_ORDERBY_ID<=0)AND(Q_MARK<>'')AND(Q_NAME<>'') THEN QCHECK.SQL.Add('ORDER BY '+Q_MARK+','+Q_NAME);
IF (Q_LOOKUP_ORDERBY_ID =1)AND(Q_MARK<>'')AND(Q_NAME<>'') THEN QCHECK.SQL.Add('ORDER BY '+Q_NAME+','+Q_MARK);
IF (Q_LOOKUP_ORDERBY_ID>=2)AND(Q_MARK<>'')AND(Q_NAME<>'') THEN QCHECK.SQL.Add('ORDER BY '+Q_MARK+','+Q_NAME);
QCHECK.Close;
QCHECK.Open;
//调整GRID 的宽度
DBGRID2.Columns.Items[0].FieldName := Q_IDNO;
DBGRID2.Columns.Items[1].FieldName := Q_NAME;
DBGRID2.Columns.Items[2].FieldName := Q_MARK;
EXCEPT
SHOWMESSAGE('数据库无法打开, 资料源可能设置错误