再问多表表单问题
上次请教了一个问题,结果因期间有2天有事未能上论坛,还没等到求解就被通知“结帖”,只好自个儿再捉摸,修改了几个对象属性值,反复多次,问题仍未得到解决,只好再次将问题提出来,希望有热心朋友指点迷津。还是这个界面——
说明:1、表单的数据环境中设置了两个数据库表:qyjbxxb.dbf(企业基本信息表)、qyzycpk.dbf(企业主要产品库),并设置了两表以共有字段jgdm建立的永久联系;
2、表单的功能目标是希望用户在TEXT1文本框中输入企业代码后,点击“查询”按纽,系统即从企业基本信息表中查找符合条件的记录,如果存在,则界面上部各文本框控件(或编辑框控件)中显示企业基本信息表中符合条件的记录相关字段的值;然后在企业主要产品库中搜索对应于该企业的产品记录,在界面下部的表格中显示出来;
问题:
如果设置表单的Bindcontrols属性为“.F.”,表单运行后,上部初始显示空值,在TEXT1文本框输入某个企业代码后,企业基本信息显示正常,而下部表格中没有相应数据显示(注:企业主要产品库中是存在该企业的产品记录的),界面也没有任何出错消息提示;如果设置设置表单的Bindcontrols属性为“.T.”,表单运行后,上部初始会显示企业基本信息表中第一条逻辑记录的值,下部表格中也有数据显示,但却是企业主要产品库中的全部记录。在TEXT1文本框输入某个企业代码后,点击“查询”按纽,界面中企业基本信息显示正常,表格中又没有任何数据显示。运行结果如下图:
注:在“查询”按纽的Click事件中抛入了如下代码:
SELECT qyzycpk
LOCATE for ALLTRIM(qyzycpk.jgdm)=qydm
IF FOUND()
thisform.BindControls=.T.
thisform.container2.grid1.recordsourcetype=4
SELECT qyzycpk.zycp as 产品名称,qyzycpk.cpbzdh as 执行标准编号,qyzycpk.cpbzmc as 执行标准名称,qyzycpk.cpbzdj as 标准等级,;
qyzycpk.cbbz as 是否采标,qyzycpk.hjmc as 获奖名称,qyzycpk.hjsj as 获奖时间,qyzycpk.yxqx as 有效期限,qyzycpk.xklx as 许可类型,;
qyzycpk.xkzh as 许可证号,qyzycpk.xksj as 获证时间,qyzycpk.xkqx as 许可期限 FROM qyzycpk WHERE jgdm=qyjbxxb.jgdm INTO CURSOR qycp
THISFORM.container2.GRID1.RECORDSOURCE="qycp"
thisform.Refresh
ELSE
MESSAGEBOX('该企业尚未登记任何产品')
ENDIF
请教各位大侠:我的问题到底出在哪里?跪求了!