ms-access - 在右键单击命令栏菜单上获取当前记录
问题描述
我试图在右键单击命令栏菜单(上下文菜单)上获取当前记录 ID 以打开链接报告。我在 MS-ACCESS 2013 工作
我尝试使用以下代码(从右键单击命令栏菜单打开当前记录),但我总是得到多列给出的第一个 ID,而不是活动的。
这是表单代码
Private Sub Form_Load()
CreateFormShortcutMenu_EmployePayList
End Sub
Private Sub CreateFormShortcutMenu_EmployePayList()
Dim sMenuName As String
sMenuName = "cmdShortCutMenu_EmployePayList"
On Error Resume Next
CommandBars(sMenuName).Delete
If Err.Number <> 0 Then Err.Clear
On Error GoTo 0
Dim cmbRightClick As Office.CommandBar
Dim cmbControl As Office.CommandBarControl
Set cmbRightClick = CommandBars.Add(sMenuName, msoBarPopup, False, False)
With cmbRightClick
Set cmbControl = .Controls.Add(msoControlButton, 539, , , True)
cmbControl.Caption = "New record"
Set cmbControl = .Controls.Add(msoControlButton, 644, , , True)
cmbControl.Caption = "Delete record"
' Add the Copy command
Set cmbControl = .Controls.Add(msoControlButton, 19, , , True)
cmbControl.Caption = "Copy"
cmbControl.BeginGroup = True
' Add the Copy command
Set cmbControl = .Controls.Add(msoControlButton, 22, , , True)
cmbControl.Caption = "Paste"
' Add View TicketPay command
Set cmbControl = .Controls.Add(msoControlButton, , , , True)
With cmbControl
.BeginGroup = True
.Caption = "Ticket pay"
.Parameter = Me.IdPay
.OnAction = "=CallbackOpenTicketPay()"
.FaceId = 65
End With
End With
Me.ShortcutMenu = True
Me.ShortcutMenuBar = sMenuName
Set cmbControl = Nothing
Set cmbRightClick = Nothing
End Sub
这是回调函数的代码(在单独的模块中)
Option Compare Database
Option Explicit
Public Function CallbackOpenTicketPay()
Dim cbar As CommandBarControl
Set cbar = CommandBars.ActionControl
If cbar Is Nothing Then
Debug.Print "CBar is nothing"
Exit Function
End If
Dim IdPay
IdPay = cbar.Parameter
MsgBox IdPay
MsgBox Screen.ActiveForm.ActiveControl.Form.IdPay
End Function
第一个消息框返回子窗体中显示的第一条记录 ID。我使用第二个电话获得了替代方案,但我不明白为什么第一个电话不起作用。
解决方案
推荐阅读
- javascript - 事件监听器只工作一次
- c# - c# 数组中的随机数 == winNumber
- java - Android setAlarmClock 立即触发
- reactjs - 存储下拉选择并从 localStorage 加载它
- ios - 将数据从 UIViewControllerRepresentable 传递给 SwiftUI
- ruby-on-rails - 在 Rails 中加入两个表,被称为 has_one: ".. ",class_name:"..."
- macos - 在 Mac 上按名称删除嵌套子目录?
- django - Django 视图和模板以及静态 html
- python - Pandas、Numpy、合并多列并消除空值
- r - R如何从正交lm构造形式为c0 + c1 * x + .. + cn * x^n的多项式(使用poly(raw = F))