Access交流中心

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

点击命令按钮打开一个新窗体,同时关闭当前窗体问题没解决

韩云  发表于:2012-05-26 17:41:34  
复制

点击打开命令按钮,打开新窗体的同时,关闭当前窗体,该关闭的窗体也关闭了,新的窗体也能打开,但是出现一个提示框:引用了一个表达式关闭或没有这个窗体。问题该如何解决,请高手指点。点击下载此附件

 

Top
品茶论道 发表于:2012-05-26 19:31:48

 

这两句有什么用

 'stLinkCriteria = "[生产ID]=" & Me![生产ID]
 'DoCmd.OpenForm stDocName, , , stLinkCriteria



韩云 发表于:2012-05-26 21:03:07
因为当翻页以后,打开的入库单不是当前的页面数据,我不知道该如何解决可以让产品ID=产品ID,请版主指教。

品茶论道 发表于:2012-05-26 21:39:39

你的明细表上的生产ID=1 或者2 ,你生产机工窗体上的生产ID的值是什么呀,看看是否匹配呀



韩云 发表于:2012-05-27 11:36:30
感谢总版主的帮助,示例中的确少倒出了一个表,现在补充上了,并且在页面上增加了一个“入库单测试”按钮,我的意思就是当点击“入库单”按钮时,关闭当前的窗体,并打开只显示当前页的入库单。请给与帮助。重新上传附件。点击下载此附件

cspa 发表于:2012-05-27 13:03:47

你先关闭了窗体,然后又在stLinkCriteria = "[生产ID]=" & Me![生产ID]中引用已关闭的窗体上的字段,自然会报错。请试试如下思路:

 

Private Sub 入库单测试_Click()
On Error GoTo Err_入库单测试_Click

    Dim stDocName As String
    Dim stLinkCriteria As String
   
    A = Me![生产ID]         '在关闭当前窗体前,先将Me![生产ID]赋值给A
    DoCmd.Close
    DoCmd.OpenForm "入库单(机工车间) "

    stDocName = ChrW(20837) & ChrW(24211) & ChrW(21333) & ChrW(-248) & ChrW(26426) & ChrW(24037) & ChrW(-28826) & ChrW(-27148) & ChrW(-247)
   
    stLinkCriteria = "[生产ID]=" & A               '在此引用A的值,而不能引用Me![生产ID],因为该窗体已关闭,变量已释放
    DoCmd.OpenForm stDocName, , , stLinkCriteria

Exit_入库单测试_Click:
    Exit Sub

Err_入库单测试_Click:
    MsgBox Err.Description
    Resume Exit_入库单测试_Click
   
End Sub



韩云 发表于:2012-05-27 15:51:33
分析的很有道理,经过测试,你的办法是成功的。谢谢了

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