Access交流中心

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

当前窗体

半夜罗  发表于:2016-05-17 18:15:56  
复制

请问老师们!怎样将下面红色部分修改?这段代码的问题是:如果两个窗体都打开后,双击打开的始终是先按先打开的窗体中的条件,在后打开的窗体中双击打开,就会出现条件错误(能打开),分析可能是不应该将条件判断为“如果窗体打开”,应该是“如果是当前窗体”,但不知怎样写,求各位老师帮忙!!!!这个是2007格式。点击下载此附件

Function bbbb()
'*****************定义4个变量
    Dim rst As Object
    Dim strSQL As String
    Dim currentID As String
    Dim aa As String
    If CurrentProject.AllForms("进货对账单").IsLoaded = True Then    '如果窗体打开
        aa = Left(Forms!进货对账单!子窗体.Form!进货单号, 3)
        currentID = Forms!进货对账单!子窗体.Form!进货单号    ' 获取主窗体中被选中的记录
    End If


    If CurrentProject.AllForms("进货单_查询").IsLoaded = True Then    '如果窗体打开
        aa = Left(Forms!进货单_查询!子窗体.Form!进货单号, 3)
        currentID = Forms!进货单_查询!子窗体.Form!进货单号    ' 获取主窗体中被选中的记录
    End If


    '********************************
    If aa = "jhd" Then


        strSQL = "select * from 进货单 where 进货单号 ='" & currentID & "'"
        Set rst = CurrentDb.OpenRecordset(strSQL, dbOpenDynaset)


        DoCmd.OpenForm "进货单"
        Forms!进货单.Form!新增修改 = "进货单修改"




        rst.MoveFirst
        '*****给窗体赋值
        Forms!进货单.Form!进货单号 = rst!进货单号
        Forms!进货单.Form!商家代码 = rst!商家代码
        Forms!进货单.Form!流水号 = rst!流水号
        Forms!进货单.Form!日期 = rst!日期
        Forms!进货单.Form!摘要 = rst!摘要
        rst.Close
        Set rst = Nothing
        DoCmd.SetWarnings False    '关闭系统提示
        DoCmd.RunSQL "INSERT INTO 进货明细临时表 SELECT * FROM 进货明细表 where 进货单号='" & currentID & "'"    '追加查询
        '马上刷新窗体
        Forms!进货单.Requery
        Forms!进货单!子窗体.Requery
        DoCmd.SetWarnings True    '恢复系统提示
    Else


        If aa = "fkd" Then


            strSQL = "select * from 进货单 where 进货单号 ='" & currentID & "'"
            Set rst = CurrentDb.OpenRecordset(strSQL, dbOpenDynaset)


            DoCmd.OpenForm "付款单"
            Forms!付款单.Form!新增修改 = "付款单修改"
            'Forms!销售单.Form!日.Enabled = False    '日期文本框不可用
            'Forms!销售单.Form!删除.Enabled = True    '让按钮【删除】可用


            rst.MoveFirst
            '*****给窗体赋值
            Forms!付款单.Form!进货单号 = rst!进货单号
            Forms!付款单.Form!商家代码 = rst!商家代码
            Forms!付款单.Form!流水号 = rst!流水号
            Forms!付款单.Form!日期 = rst!日期
            Forms!付款单.Form!摘要 = rst!摘要
            rst.Close
            Set rst = Nothing
            DoCmd.SetWarnings False    '关闭系统提示
            DoCmd.RunSQL "INSERT INTO 进货明细临时表 SELECT * FROM 进货明细表 where 进货单号='" & currentID & "'"    '追加查询
            '马上刷新窗体
            Forms!付款单.Requery
            Forms!付款单!子窗体.Requery
            DoCmd.SetWarnings True    '恢复系统提示
        End If
    End If


End Function

 

Top
zhaoyoulong 发表于:2016-05-18 09:28:53

if Application.Screen.ActiveForm.Name="进货对账单"  then

elseif Application.Screen.ActiveForm.Name="进货单_查询" then

end if



半夜罗 发表于:2016-05-18 10:00:39
非常感谢1楼老师!!!!!!!!!!学习了!

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