设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 1756|回复: 4
打印 上一主题 下一主题

[窗体] 关于子窗体字段双击事件的参数传递问题

[复制链接]
跳转到指定楼层
1#
发表于 2011-7-25 21:59:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
有3个窗体:frm账单表, 内有子窗体frm账单表child, 还有一个是 frmB(某个未绑定窗体)
frm账单表child单独打开时,字段“账单号码” 的DblClick事件是可以成功打开“frmB”的;
可是当frm账单表child作为子窗体打开时(“frm账单表”打开时),字段“账单号码” 的 DblClick 事件 系统报错:
frmB Form_Load:
找不到宏表达式 或 Visal Basic 代码中引用的窗体 “frm账单表child”。


以下是代码:
frm账单表child 里字段“账单号码”的双击事件:
Private Sub 账单号码_DblClick(Cancel As Integer)
    DoCmd.OpenForm "frmB", acNormal
End Sub
-------------------------------------------------------------------------------------------------------------------------------------------------
frmB的加载代码
Private Sub Form_Load()
    Dim Stemp As String
    Dim rs As ADODB.Recordset
    Set rs = New ADODB.Recordset
        Me.Form.Refresh
        Stemp = "SELECT [tbl账单].* FROM [tbl账单] WHERE 账单号码 LIKE '" & Forms!frm账单表child![账单号码] & "'"
        rs.Open Stemp, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
            With rs
                Me.账单号码 = Nz(![账单号码].Value, "")
                Me.日期 = Nz(![日期].Value, Null)
                Me.客户名称 = Nz(![客户名称].Value, "")
                ......
            End With
        rs.Close
               
        DoCmd.SetWarnings False
        DoCmd.RunSQL "insert into [tbl账单明细temp] select [tbl账单明细].* FROM [tbl账单明细] WHERE 账单号码 LIKE '" & Me.账单号码 & "'"
        DoCmd.SetWarnings True
   
End Sub
--------------------------------------------------------------------------------------------------------
请问为什么会找不到frm账单表child呢?这个问题要怎么解决呢?谢谢!!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2011-7-25 22:04:49 | 只看该作者
因为frm账单表child做为子表单打开时,是不能直接用forms集合来引用的
3#
发表于 2011-7-25 22:09:06 | 只看该作者
本帖最后由 zyp 于 2011-7-25 22:11 编辑

Private Sub Form_Load()
    Dim Stemp As String
    Dim rs As ADODB.Recordset
    Dim zdhmStr as string
    if currentproject.AllForms("frm账单表child").IsLoaded then
            zdhmStr=forms!frm账单表child![账单号码]
    else

            zdhmStr=forms!frm账单表!frm账单表child![账单号码]
    end if

    Set rs = New ADODB.Recordset
        Me.Form.Refresh
        Stemp = "SELECT [tbl账单].* FROM [tbl账单] WHERE 账单号码 LIKE '" & zdhmStr & "'"
        rs.Open Stemp, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
            With rs
                Me.账单号码 = Nz(![账单号码].Value, "")
                Me.日期 = Nz(![日期].Value, Null)
                Me.客户名称 = Nz(![客户名称].Value, "")
                ......
            End With
        rs.Close
               
        DoCmd.SetWarnings False
        DoCmd.RunSQL "insert into [tbl账单明细temp] select [tbl账单明细].* FROM [tbl账单明细] WHERE 账单号码 LIKE '" & Me.账单号码 & "'"
        DoCmd.SetWarnings True
   
End Sub

4#
 楼主| 发表于 2011-7-25 22:33:29 | 只看该作者
zyp 发表于 2011-7-25 22:09
Private Sub Form_Load()
    Dim Stemp As String
    Dim rs As ADODB.Recordset

问题解决了!万分感谢zyp元老的帮忙!
原来是这样!
5#
发表于 2011-7-28 15:22:12 | 只看该作者
能不给个实例?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-12-1 18:02 , Processed in 0.076475 second(s), 29 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表