起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 253|回复: 8

【搞定】如何进行动态查找,要改变所查找的数据表,有例子吗?谢谢**

[复制链接]
发表于 2007-5-23 14:00:23 | 显示全部楼层 |阅读模式
如何进行动态查找,要改变所查找的数据表,有例子吗?谢谢
procedure TSGZADCJLBD.dedtSBLXExit(Sender: TObject);
var
  lBizField: TBizField;
begin
//为变量lBizField赋值
  lBizField:=TSQLDataSet(DataSetBroker1.DataSet).FindBizField('sRunId');
//定义动态查找属性
  TSQLDataSet(DataSetBroker1.DataSet).Open;             //先打开数据集
  lBizField.LookupDef.Kind := TLookupKind.lkDataValues;               //查找类型
  lBizField.LookupDef.ValidateKind   := TLookupValidateKind.vkMust; //查找值范围
  lBizField.LookupDef.SQL.Text       := '';                          // 查找数据集的SQL 语句
  lBizField.LookupDef.KeyField       := 'sRunId';                  //关键字段
  lBizField.LookupDef.DisplayField   := 'sRunId';              //显示字段
  lBizField.LookupDef.DropDownButton := True;                        //是否显示下拉
//为查找属性的SQL语句赋值
  with TSQLDataSet(DataSetBroker1.DataSet) do
  begin
  close;
  TSQLDataSet(DataSetBroker1.DataSet).BizFieldByName('sRunId').LookupDef.SQL.Text:= 'SELECT BD_D_SUBSTATION.SRUNID FROM BD_D_SUBSTATION';
//'+strDevTab+' where sStatId = '''+dedtBDZ.text+'''' select sRunId from BD_D_SUBSTATION;
  open;
  end;

end;

以上代码,会报错:

动态查找.gif

9.16 KB, 下载次数: 195

回复

使用道具 举报

 楼主| 发表于 2007-5-23 14:41:32 | 显示全部楼层
查找属性的动态范围,只是对字段进行处理,但如果想动态的从不同的表中取数据呢?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-5-23 14:42:16 | 显示全部楼层

谢谢

谢谢
回复 支持 反对

使用道具 举报

发表于 2007-5-25 11:50:20 | 显示全部楼层
其实有多种方法的:
1 动态设置查找属性,就象你现在做的
2 设置查找属性中查找数据集是业务数据,对应到信息中的某一个数据集,那么只要修改这个数据集,就可以修改字段的查找属性数据集了
3 设置查找数据集为枚举查找,动态的修改枚举查找的数据集
回复 支持 反对

使用道具 举报

发表于 2007-5-25 11:52:10 | 显示全部楼层
从上面可以看到最简单的实现方法是第2个
回复 支持 反对

使用道具 举报

发表于 2007-5-25 11:53:23 | 显示全部楼层
如果你确实需要用这个方法实现的话,就要看看错误停在哪句上,然后具体的来看了
回复 支持 反对

使用道具 举报

发表于 2007-6-4 17:49:47 | 显示全部楼层
楼主,问题解决了吗?
回复 支持 反对

使用道具 举报

发表于 2007-6-8 15:27:01 | 显示全部楼层
由于长时间没有反馈,先结贴了。

有问题请开新贴。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-6-11 09:14:08 | 显示全部楼层
非常感谢几位大哥的指教,由于当天要出差,所以早早的走了。呵呵
问题已经解决了,我是用了几个sql语句来实现的。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-1-11 12:33 , Processed in 0.039143 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表