表头
字段 类型 长度 标题头
id char 编号
name char 姓名
old integer 年龄
sex char 性别
status char 状况
表aaa的内容
id name old sex status
小王 女 导游会英语
小李 男 个体收入高
小林 女 会计
小黄 男 电脑专家
小郑 女 教师
在数据窗口中新建立两个数据窗口数据来源都为aaa表要求如下
数据窗口名字段数据源形式显示格式SQL过滤语句Ad
Idname
old
sexSQL Select表格
aaa
sex
=:sex and
aaa
old
<=:oldAd
Idname
old
sex
statusSQL Select自由格式
aaa
id
=:id
注意写SQL过滤语句是在数据窗口中先点中Id和 name两个字段在窗口下方按Where标签页按Colume并在Cloume的下拉条中选中aaasex在Valua的一栏中填入 :sex注意这里的sex前面有一冒号再在Cloume的下拉条中选中aaa old在Operator栏选<=在Valua的一栏中填入 :old按窗口上方的Desion菜单选Retriveal Arguments在Name一栏填sex注意这里的sex前面没有冒号type一栏选String再在Name一栏的下一行填oldtype一栏选number同时为让个人资料的表格数据按年龄升序排列在窗口下方按Sort标签页将左边的ID字段拖到右边按Syntax标签页可看到自动生成的SQL语句
SELECT aaaid aaaname aaaold aaasex FROM aaa
WHERE ( aaasex = :sex ) AND ( aaaold <= :old ) ORDER BY aaaold ASC
这里SQL语句的意思是选取性别=变量sex年龄<=变量old的记录只显示几个字段尽管在Pb中这些语句是通过拖动图标自动生成但看一看了解其工作原理还是有好处的
三.数据的连动
可以用鼠标让记录的连动的窗口制作如下图这里主要用到函数getitemString(getrow()) 它可取得双击鼠标当前行的左边第一个字符串即数据窗口内当前行id字段的值并赋给实例变量tttttttt再传给数据窗口二的SQL的过滤语句Where id=:id就可在数据窗口二中显示id=tttt的记录在这两个数据窗口之间变量tttt从数据窗口一跑到数据窗口二起到象桥梁般的连接作用数据窗口一即dw_的鼠标单击事件的脚本如下
ttttt=dw_getitemString (getrow())
sle_text=ttttt
bdw_settransobject(sqlca)
bdw_retrieve(bttttt)
dw_settransobject(sqlca)
dw_retrieve(ttttt)
[] []