表格控件Grid编程问题!急
在表单上拖放了一个表格控件,放置一个命令按钮,该按钮的功能是新增一笔记录。过程命令如下:
select yhp_sld1 &&yhp_sld1是表名
select max(recno()) from yhp_sld1 into array rn && rn=最大记录号
set carry on &&转抄上笔记录
appe blank &&新增记录
grdYhp_sld1.Column1.Value=rn &&给字段sldsh赋值
*repl sldsh with rn
thisform.refresh &&显示新值
return
运行表单,单击命令按钮;系统提示错误:找不到变量grdYhp_sld1。
请问:语句中错在哪里?要给一个字段赋值,完成上述功能,这段语句该如何编写?最好能给原代码。
另外,在打印表格时,如何控制明细记录的数量(如一张收料单)及纸张大小(通过编程)?
在线等待。
问题点数:100、回复次数:10Top
1 楼mudong(木东)回复于 2002-12-26 16:29:18 得分 0
grdYhp_sld1该是表格名称、有没有改过?
打印可以使用报表生成器预先做好。Top
2 楼hh_xxs(鑫)回复于 2002-12-26 16:40:27 得分 0
我的表名是yhp_sld1。如果将代码grdYhp_sld1.Column1.Value=rn改为Yhp_sld1.Column1.Value=rn,运行的错误是:对象yhp_sld1找不到。
报表打印,已用报表生成器做好。一张单据的记录数是不固定的,但客户要求单据打印的明细记录数是固定的;如果要求数是5笔,但实际只有2笔,不足的3笔就必须打印空白格,以确保单据大小一样。是否可以通过编程方式控制?
Top
3 楼boomit(boom)回复于 2002-12-26 16:43:39 得分 20
thisform.grdyhp_sld1.......
Top
4 楼boomit(boom)回复于 2002-12-26 16:47:04 得分 20
你可以通过加空记录的方式来达到要求,,appe blank。。这样打印时是不是就可以了。。。Top
5 楼mudong(木东)回复于 2002-12-26 17:06:41 得分 0
打印用 boomit(boom) 的办法该可以。
grdYhp_sld1.Column1.Value=rn &&给字段sldsh赋值
grdYhp_sld1处不可以用表名
表单名.表格名.Column1.Value=rn
Top
6 楼along407(along)回复于 2002-12-26 21:03:24 得分 40
grdYhp_sld1.Column1.Value=rn &&给字段sldsh赋值
上句中的grdyhp_sld1是表格名呢还是表的字段名?
1.如果是表格名,应该yong
thisfrom.grdyhp_sld1.column1.value=rn
2.如果是表名的话应该用
replace 字段名 with rnTop
7 楼hh_xxs(鑫)回复于 2002-12-27 08:26:22 得分 0
yhp_sld1是表名,将该表拖放到表单上后,该表格的控件名就变成了grdYhp_sld1。我尝试过
replace 字段名 with rn 的方法,但显示的空记录字段值全部是******。
Top
8 楼xiolig(凌霄)回复于 2002-12-27 10:37:58 得分 20
为什么要用SELECT语句?表单控件的引用必须使用THISFORM、THIS等进行限定。Top
9 楼hh_xxs(鑫)回复于 2002-12-27 11:24:43 得分 0
我的问题关键是:如何读取、更新表格控件字段的值,语法格式是怎样的?谁能帮忙?(我原先是用C++Builder的,受人之托,开发一个小软件,必须用VFP;O而我只对VFP2较熟悉)。
Top
10 楼hh_xxs(鑫)回复于 2002-12-27 11:57:20 得分 0
新增记录的问题已解决,代码如下:
select yhp_sld1
select max(recno()) from yhp_sld1 into array rn
set carry on
appe blank
thisform.grdYhp_sld1.Column1.Text1.Value=rn
repl sldsh with rn
thisform.refresh
return
打印问题:添加空白记录确实是一种可行办法,但必须根据现有主从表记录生成一个临时表,在临时表中增加空白记录,再打印,比较麻烦;mudong(木东)的办法今天中午试一下,看看行不行。
根据大家解决问题的程度,我会酌情给分。
谢谢各位。
Top




