ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 2294|回复: 2

[求助]能给我加一小段代码吗?

[复制链接]

TA的精华主题

TA的得分主题

发表于 2005-4-7 15:32 | 显示全部楼层 |阅读模式
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

有两个窗体,设备管理台帐和设备维修保养,我想在设备管理台帐中选中复选框"是否PMP"时,先判定value值,如为1,则打开设备维修保养窗体,同时保证设备维修保养窗体窗体的记录和设备管理台帐的记录指向同一个记录.设备管理台帐的数据源是"设备清单",设备维修保养的数据源是根据"设备清单"得到的查询.

Private Sub PMP_Click() If Me.PMP.Value = 1 Then If MsgBox("提问:是否要进入设备维修保养?", vbYesNo, "提示") <> vbYes Then Exit Sub Else DoCmd.OpenForm "设备维修保养"

me.识别号.recordset="设备维修保养".txtid.recordset '这句我是乱写的. Else: Exit Sub End If End Sub

ISRf9Bya.rar (54.58 KB, 下载次数: 36)
[此贴子已经被作者于2005-4-7 15:32:53编辑过]

TA的精华主题

TA的得分主题

发表于 2005-4-9 11:07 | 显示全部楼层
Private Sub PMP_Click() If Me.PMP = True Then If MsgBox("提问:是否要进入设备维修保养?", vbYesNo, "提示") = vbYes Then strWhere = "[识别号] IN ('" & Me.txtid & "')" DoCmd.OpenForm "设备维修保养" Forms!设备维修保养.Filter = strWhere Forms!设备维修保养.FilterOn = True End If End If End Sub
[此贴子已经被作者于2005-4-9 11:08:28编辑过]

TA的精华主题

TA的得分主题

 楼主| 发表于 2005-4-11 14:14 | 显示全部楼层

谢谢wan_shan的指教!做了一些小修改以后,大功告成!

Private Sub PMP_Click()

dim strwhere as string If Me.PMP = True Then If MsgBox("提问:是否要进入设备维修保养?", vbYesNo, "提示") = vbYes Then

DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70 strWhere = "[识别号] IN ('" & Me.txtid & "')" DoCmd.OpenForm "设备维修保养" Forms!设备维修保养.Filter = strWhere Forms!设备维修保养.FilterOn = True End If End If End Sub

还有一种更简单的方法,由hi-wzj提供,我稍微修改一下.

Private Sub PMP_Click() If Me.PMP = True Then If MsgBox("提问:是否要进入设备维修保养?", vbYesNo, "提示") = vbYes Then DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70 DoCmd.OpenForm "设备维修保养", , , "[识别号]='" & Me.识别号 & "'" End If End If End Sub

但是现在又有新问题,因为DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70这条语句,我在保存窗体前要做是否保存的判断,当否定时,会出现

相关代码如下:

Private Sub closeform_Click() On Error GoTo Err_closeform_Click

If allowSave = True Then If MsgBox("当前数据已经被修改,是否保存?", vbYesNo + vbQuestion, "请选择...") = vbYes Then Else Me.undo End If End If DoCmd.Close

Exit_closeform_Click: Exit Sub

Err_closeform_Click: MsgBox Err.Description Resume Exit_closeform_Click End Sub

Private Sub PMP_Click() If Me.PMP = True Then If MsgBox("提问:是否要进入设备维修保养?", vbYesNo, "提示") = vbYes Then DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70 DoCmd.OpenForm "设备维修保养", , , "[识别号]='" & Me.识别号 & "'" End If End If End Sub

Private Sub cmdsave_Click() On Error GoTo Err_cmdsave_Click DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70

Exit_cmdsave_Click: Exit Sub

Err_cmdsave_Click: MsgBox Err.Description Resume Exit_cmdsave_Click End Sub

[此贴子已经被作者于2005-4-11 14:31:50编辑过]
ujYbBs1i.jpg
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-15 12:54 , Processed in 0.041893 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

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