Access交流中心

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

[5分]请教,关于窗体间调用控件。单独两个窗体可以,通过UMV平台进入就报错。

梁兴鹏  发表于:2014-12-27 13:21:51  
复制

场景:在A窗体,打开B窗体,从B窗体修改A窗体中控件的值。

现在代码:

1.A窗体打开B窗体代码:

   DoCmd.OpenForm FormName:="B窗体"

2.在B窗体使用代码:

    Forms("A窗体").价格A = Me.价格B

报错情况: 只打开A窗体,和B窗体,代码能正常执行。如果通过UMV平台菜单打开A窗体,执行到B窗体   Forms("A窗体").价格A = Me.价格B ,就会提示 :  运行时错误'2450': 找不到引用的窗体 " 窗体A "

 请大家帮忙看看,感谢!


 

Top
麥田 发表于:2014-12-27 13:34:33
是快速平台还是早期的access UMV开发平台?

梁兴鹏 发表于:2014-12-27 13:38:46

盟威软件快速开发平台

版本号: 1.7.2.228




易勋 发表于:2014-12-27 13:41:02
Forms![窗体名]![价格A] = Me.价格B  这样试试

梁兴鹏 发表于:2014-12-27 13:45:49
to 易勋 ,  报同样的错误。

易勋 发表于:2014-12-27 16:21:53

你的窗体A打开了吗?  你要给其他控件里面的传值,控件所在的窗体必须要打开。

 你可以这样试试 

DoCmd.OpenForm “窗体A”

Forms!窗体名!价格A = Me.价格B 

 

 

并且这个问题与平台无关,你在空白ACCESS里面,把窗体A关闭也会这样 



yuxican 发表于:2014-12-27 16:28:21
个人发现窗体之间数据引用,包括主窗体与子窗体之间,很不稳定,所以能用临时表之类代替就不直接引用其它窗体中的数据。

梁兴鹏 发表于:2014-12-27 16:48:06

to 易勋 ,我再描述一下过程,看是否有新线索:

1. 打开A窗体

2.点击A窗体上的按钮,按钮执行OpenForm  打开B窗体。窗体A不做任何动作,也不关闭。

3.点击B窗体上的按钮,按钮执行 Forms("A窗体").价格A = Me.价格B ,目的是把窗体B的值传回窗体A的控件上。窗体A被动接受修改,也不关闭。


以上 1-3 步,单独打开窗体A从头执行可以完成。如果从平台的左侧菜单进入窗体A,则执行到步骤3,向窗体A的控件赋值时,报提示: 运行时错误'2450': 找不到引用的窗体 " 窗体A " 。





易勋 发表于:2014-12-27 16:59:17

因为我们的平台是打开一个新窗体就将前一个窗体自动关闭

 或者将你的MIAN文件上传上来,我帮你看看



梁兴鹏 发表于:2014-12-27 19:36:49

to 易勋,刚刚下载了 2.0.2版本想做个演示,结果可以了。。。同时又下载了1.7.2,报错了。

1.7.2

https://kanbox.com/f/4M0D3

2.0.2

https://kanbox.com/f/OC0D2





梁兴鹏 发表于:2014-12-27 20:20:24

不使用access中窗体名字,改使用VBA左侧的名字进行访问,解决问题了。 如下:


窗体A在VBA左侧的名字是  Form_窗体A

原代码

Forms("A窗体").价格A = Me.价格B

改为

Form_窗体A.价格A = Me.价格B


谢谢大家!



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