问一下:情况:在调价单中输入一条记录(商品编号、商品名称、新进价、供应商信息等等),在调进价单模块输入相同的商品时请增加提示功能。目前在调进价单中输入了相同的商品系统没有提示,到单据保存时出现单据不能保存。
我现在的想法是:在Query1.NewRecord事件中添加代码,先在数据库中判断一下,看有没有这条记录,如果有相同的商品编码就MessageDlg()提示一下。这个要怎么写代码?
一种是在‘保存’按钮事件中写;一种是在 Query1.NewRecord中加判断?
急!!!!!!!!!!
我现在的想法是:在Query1.NewRecord事件中添加代码,先在数据库中判断一下,看有没有这条记录,如果有相同的商品编码就MessageDlg()提示一下。这个要怎么写代码?
一种是在‘保存’按钮事件中写;一种是在 Query1.NewRecord中加判断?
急!!!!!!!!!!
解决方案 »
- 瀑布汗。。。。。
- 如何用ADOTable得到它某个字段的全部数据?
- DevExpress QuantumGrid哪儿有下载呀?急用
- 如何将本地的EXCEL文件导入到远程SQL SERVER2000数据库中!
- 请问如何将MDIchild窗体居中?在线等…
- 哪有TwordApplication,TWorddocument的帮助说明?急!高分送
- 为什么Trace into(F7)不能进入VCL源码,而只能在我的窗口Unit上来回移动呢?
- zswang(伴水)(需要充充电):过路请进. 一个你成功后的问题.
- 关于Database的连接问题!
- 一个关于数据库的问题,高手请进
- 这样的问题该如何写函数?
- 程序错误
具体看你的数据量,还有数据库,如果是本地的,或者数据量不大,则可直接用个Query查下如果是sql server类,可用个存储过程检查
adoquery1.close;
adoquery1.sql.text:='select * from tablename where '(唯一索引)
adoquery1.open;
if adoquery1.recordcount>0 then
begin
application.message('数据重复,请检查后重新保存.','系统提示'mb_ok);
exit;
end;
这样应该可以吧...
我想用光标的POST取。就是输入后移动鼠标到下一个格子后就会提示一个信息窗口
类似这样的 不知道我说的明白不?
ADODatasetCheck.Close;
ADODatasetCheck.CommandText:='Select Count(*) as sl From 表名 Where 商品名称='+Quotedstr(ADODatasetTJD.FieldsByName('商品名称').asstring)+' and 供应商='+Quotedstr(ADODatasetTJD.FieldsByName('供应商').asstring);
ADODatasetCheck.Open;
if ADODatasetCheck.FieldsByName('SL').asInteger > 0 then
begin
Showmessage('有重复值!');
exit;
end;
VAR
SQLSTR:string;
begin
sqlstr:='select * from tablename where 商品名称='+''''+edit1.text+'''';adoquery1.close;
adoquery1.sql.clear();
adoquery1.sql.add(sqlstr);
doquery1.open;
if adoquery1.recordcount>0 then
begin
application.message('数据重复,请检查后重新保存.','系统提示'mb_ok);
exit;