set filter to 设备类型=thisform.combo1.value
set filter to 设备厂家=thisform.combo2.value
运行时,第一次能执行筛选,点grid后,再去选combo筛选,就会出现:“thisform只能在方法程序中使用”,程序终止。
请问如何解决?对grid和combo应该怎样设置?
最好能给出代码,谢谢!!
9 个解决方案
#1
cf = '设备类型 = ' + thisform.combo1.value
set filter to &cf
另一个过滤条件类似
#2
对,用变量或自定义属性代替,如果提示变量找不到,就用全局变量。
#3
谢谢二老师!!!
#4
但是,对表单上的Grid中记录点击后,如何刷新表单上各字段值,与Grid所选 的内容相同呢?
在哪个属性中设置呀?
在哪个属性中设置呀?
#5
*--- 这个地方只有用全局变量
PUBLIC A1,A2
A1=thisform.combo1.value
A2=thisform.combo2.value
set filter to 设备类型=A1
set filter to 设备厂家=A2
*--- 或者用SQL-SELECT语句
SELECT 设备类型 FROM TABA WHERE 设备类型=thisform.combo1.value INTO CURSOR COMBO_1
THISFORM.GRID1.RECORDSOURCE="COMBO_1"
THISFORM.GRID1.SETFOCUS
THISFORM.GRID1.REFRESH
*--- 上述代码放在什么地方合适,自定。
*--- 另外的组合框设置同上
PUBLIC A1,A2
A1=thisform.combo1.value
A2=thisform.combo2.value
set filter to 设备类型=A1
set filter to 设备厂家=A2
*--- 或者用SQL-SELECT语句
SELECT 设备类型 FROM TABA WHERE 设备类型=thisform.combo1.value INTO CURSOR COMBO_1
THISFORM.GRID1.RECORDSOURCE="COMBO_1"
THISFORM.GRID1.SETFOCUS
THISFORM.GRID1.REFRESH
*--- 上述代码放在什么地方合适,自定。
*--- 另外的组合框设置同上
#6
实际上没有必要如此
表单上增加两个组合框控件
COMBO1:用于保存表中字段
COMBO2:用于保存各字段中的值
操作要领:假如在COMBO1选择了[设备类型],在COBMO2中相应显示[设备类型]中的值,然后从COMBO2选择内容,刷新表格,这时在表格中就看到了你在COMBO2中选择的内容。
#7
我有表单还兼有上条、下条、增加、修改、删除、打印的功能按钮。grid是用来快速定位记录的,几个combo是用来分类查询的,而且还有单个记录的图片控件,图片放在另外目录,图片名与记录系列号相同。得到记录号并同时显示图片的。代码如下:
IF BOF()
GO 1
a=TRIM(系列号)
b=".jpg"
c=TRIM(a+b)
tmp1=trim(c)
if file(tmp1)
thisform.Image1.Picture=tmp1
else
thisform.Image1.Picture="无照片.jpg"
endif
thisform.refresh
ELSE
问题是:在用了combo筛选后,图片不能显示,而且在点了Grid后,也不能显示。只有用按钮组的skip功能后,才能显示。也就是说,筛选和用grid的点击后,不能显示图片。
IF BOF()
GO 1
a=TRIM(系列号)
b=".jpg"
c=TRIM(a+b)
tmp1=trim(c)
if file(tmp1)
thisform.Image1.Picture=tmp1
else
thisform.Image1.Picture="无照片.jpg"
endif
thisform.refresh
ELSE
问题是:在用了combo筛选后,图片不能显示,而且在点了Grid后,也不能显示。只有用按钮组的skip功能后,才能显示。也就是说,筛选和用grid的点击后,不能显示图片。
#8
查询和录入最好不要放在一个界面,这里面牵涉到工作区转换的问题,比较复杂。如果不想用工作区转换,只有用SET FILTER TO ......设置。自己想想吧
#9
谢谢你
#1
cf = '设备类型 = ' + thisform.combo1.value
set filter to &cf
另一个过滤条件类似
#2
对,用变量或自定义属性代替,如果提示变量找不到,就用全局变量。
#3
谢谢二老师!!!
#4
但是,对表单上的Grid中记录点击后,如何刷新表单上各字段值,与Grid所选 的内容相同呢?
在哪个属性中设置呀?
在哪个属性中设置呀?
#5
*--- 这个地方只有用全局变量
PUBLIC A1,A2
A1=thisform.combo1.value
A2=thisform.combo2.value
set filter to 设备类型=A1
set filter to 设备厂家=A2
*--- 或者用SQL-SELECT语句
SELECT 设备类型 FROM TABA WHERE 设备类型=thisform.combo1.value INTO CURSOR COMBO_1
THISFORM.GRID1.RECORDSOURCE="COMBO_1"
THISFORM.GRID1.SETFOCUS
THISFORM.GRID1.REFRESH
*--- 上述代码放在什么地方合适,自定。
*--- 另外的组合框设置同上
PUBLIC A1,A2
A1=thisform.combo1.value
A2=thisform.combo2.value
set filter to 设备类型=A1
set filter to 设备厂家=A2
*--- 或者用SQL-SELECT语句
SELECT 设备类型 FROM TABA WHERE 设备类型=thisform.combo1.value INTO CURSOR COMBO_1
THISFORM.GRID1.RECORDSOURCE="COMBO_1"
THISFORM.GRID1.SETFOCUS
THISFORM.GRID1.REFRESH
*--- 上述代码放在什么地方合适,自定。
*--- 另外的组合框设置同上
#6
实际上没有必要如此
表单上增加两个组合框控件
COMBO1:用于保存表中字段
COMBO2:用于保存各字段中的值
操作要领:假如在COMBO1选择了[设备类型],在COBMO2中相应显示[设备类型]中的值,然后从COMBO2选择内容,刷新表格,这时在表格中就看到了你在COMBO2中选择的内容。
#7
我有表单还兼有上条、下条、增加、修改、删除、打印的功能按钮。grid是用来快速定位记录的,几个combo是用来分类查询的,而且还有单个记录的图片控件,图片放在另外目录,图片名与记录系列号相同。得到记录号并同时显示图片的。代码如下:
IF BOF()
GO 1
a=TRIM(系列号)
b=".jpg"
c=TRIM(a+b)
tmp1=trim(c)
if file(tmp1)
thisform.Image1.Picture=tmp1
else
thisform.Image1.Picture="无照片.jpg"
endif
thisform.refresh
ELSE
问题是:在用了combo筛选后,图片不能显示,而且在点了Grid后,也不能显示。只有用按钮组的skip功能后,才能显示。也就是说,筛选和用grid的点击后,不能显示图片。
IF BOF()
GO 1
a=TRIM(系列号)
b=".jpg"
c=TRIM(a+b)
tmp1=trim(c)
if file(tmp1)
thisform.Image1.Picture=tmp1
else
thisform.Image1.Picture="无照片.jpg"
endif
thisform.refresh
ELSE
问题是:在用了combo筛选后,图片不能显示,而且在点了Grid后,也不能显示。只有用按钮组的skip功能后,才能显示。也就是说,筛选和用grid的点击后,不能显示图片。
#8
查询和录入最好不要放在一个界面,这里面牵涉到工作区转换的问题,比较复杂。如果不想用工作区转换,只有用SET FILTER TO ......设置。自己想想吧
#9
谢谢你