我正在嘗試按照此處提供的示例(
因此,SelChk 函式將傳遞給定行的 PK。
現在,要選中/取消選中,我們在復選框的頂部放置一個按鈕(不可見)。
像這樣:

不要忘記將此按鈕放在前面 - 我們確保它位于復選框的頂部。
因此這個:

因此,將以上所有內容放在一起,我們就有了:

當然,我們現在需要一個接受選擇的最終按鈕,我們可以運行報告,甚至處理記錄。代碼可以是這樣的:
Dim strWhere As String
Dim v As Variant
For Each v In CheckItems
If strWhere <> "" Then strWhere = strWhere & ","
strWhere = strWhere & v
Next
' 根據選擇打開報告
DoCmd.OpenReport "rptHotelsInvoice", acViewPreview, , "ID IN (" & strWhere & ")"
或者,我們可以在代碼中處理記錄,像這樣說:
Dim strWhere As String
Dim v As Variant
For Each v In CheckItems
If strWhere <> "" Then strWhere = strWhere & ","
strWhere = strWhere & v
Next
Dim strSQL As String
strSQL = "SELECT * from tblHotels where ID IN (" & strWhere & ")"
Debug.Print strSQL
Dim rst As DAO.Recordset
Set rst = CurrentDb.OpenRecordset(strSQL)
Do While rst.EOF = False
' process reocrds
rst.Edit
rst("FirstName") = rst("FirstName") & "z"
rst.Edit
rst("FirstName") = rst("FirstName") & "z"
rst.Update
rst.MoveNext
Loop
rst.Close
現在,我們假設 PK 有一個“ID”,但如果你的 pk id 不同,那么改變這個:
MySql([ID]) to whatever your PK row ID is. the rest of the code should work as is.
上面創建 WHERE 子句的最后一段代碼將再次更改。
所以,總而言之?
您確實不需要臨時表,并且使用上述自定義集合和驅動復選框的函式意味著您不需要額外的表。
上面的美嗎?
您可以將其用于鏈接 Excel 表、SharePoint 表、SQL 服務器表 - 沒關系,因為我們不會弄亂或處理額外的表。
uj5u.com熱心網友回復:
加入如何EmployeeID:
SELECT
tbl_Employee_Selected.ID,
tbl_Employee_Selected.EmployeeID,
tbl_Employee_Selected.FirstName,
tbl_Employee_Selected.LastName,
tbl_Simple_selected.Selected
FROM
tbl_Employee_Selected
LEFT JOIN
tbl_Simple_selected
ON tbl_Employee_Selected.EmployeeID = tbl_Simple_selected.EmployeeID;
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/326520.html
上一篇:轉換AccessOLE物件影像以在Datagridviewvb.net中顯示
下一篇:回圈通過表單的記錄與記錄集
