Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

[5分]子窗体之间指定数据传递

zyq  发表于:2011-11-01 10:16:58  
复制

参考煮江品茶老师的样例做的。

 

但原来的子窗体之间的数据传递,两个结构完全一样。

 

如何做到只传递指定的数值。

 

比如把价格表中的单价,供应商,付款方式等所需指定信息传递到另外一个字窗体。

 

请教老师了。

 

点击下载此附件

 

Top
煮江品茶 发表于:2011-11-01 12:17:24

字段不多的且能事先确定话,无需用循环,直接控件对控件即可。比如:

dim ctrls1 as controls

dim ctrls2 as controls

set ctrls1=me.子窗体1.form.controls

set ctrls2=me.子窗体2.form.controls

ctrls2("单价").value=ctrls1("单价").value

ctrls2("供应商").value=ctrls1("供应商").value

ctrls2("付款方式").value=ctrls1("付款方式").value



zyq 发表于:2011-11-01 14:48:25

产生一个问题,传递过去的数据,可不可以自动一条接着一条下去。每次传递一个过去后,再手动移动一下子窗体再追加。



煮江品茶 发表于:2011-11-01 16:35:11

假设有两个子窗体其名分别曰:子窗体1、子窗体2,欲连续从当前筛选后的子窗体1中读取数据,追加到子窗体2中,则:

 

sub setctrlVal()
dim ctrls1 as controls
dim ctrls2 as controls
set ctrls1=me.子窗体1.form.controls
set ctrls2=me.子窗体2.form.controls
ctrls2("单价").value=ctrls1("单价").value
ctrls2("供应商").value=ctrls1("供应商").value
ctrls2("付款方式").value=ctrls1("付款方式").value
end sub

 

sub moveFormRec()
dim frm as form
dim i as long
set frm=me.子窗体1.form
for i=1 to frm.RecordsetClone.RecordCount
   frm.SelTop=i   
   me.子窗体2.SetFocus
   DoCmd.RunCommand acCmdRecordsGoToNew
   call setctrlVal()
next
end sub



煮江品茶 发表于:2011-11-01 16:47:12

如果子窗体1和子窗体2分别绑定的是表、查询或者sql语句,也可以写为:

 

dim ssql as string
ssql=me.子窗体1.Form.RecordSource
ssql="select * from (" & ssql & ") "
ssql=ssql & "where " & me.子窗体1.filter
ssql="insert into " & me.子窗体2.form.RecordSource & " (单价,供应商,付款方式) select 单价,供应商,付款方式 from (" & ssql & ")"
currentdb.execute ssql
me.子窗体2.form.Requery



煮江品茶 发表于:2011-11-01 16:48:30

还有很多办法,比如ADO什么的。

 

总之此非难事,搞成就行。



大夏 发表于:2011-11-09 18:52:19

不错的例子,我正需要这方面的资料。

第二个例子中这两句,改为这样才能通过测试:
   call setctrlVal
DoCmd.RunCommand acCmdRecordsGoToNew
  

第三个例子我没有测试成功。

在此多谢了!



总记录:6篇  页次:1/1 9 1 :