我有一个名为[Part Number]的链接表,在本地,用户需要能够选择与部件编号相对应的复选框(Yes/No)字段,以便使用其他命令对其执行操作。目前,为了在显示的查询中有复选框,我有一个单独的本地表,它维护[Part Number]中所有部件编号的列表,该列表将它们与复选框配对,然后将复选框滚动到显示的查询中。我想要做的是有一个查询,直接查询[Part Number],并添加它自己的Yes/No字段,以摆脱必须不断更新的表,以确保所有的部件编号都被计算在内。
我知道这对于文本字段是可能的:
SELECT
[Part Number].Concatenate,
[Part Number].[Part Nbr] & " " & Date() AS [Select]
FROM [Part Number];一个名为"Select“的字段将添加到查询中,其中包含部件号和它旁边的日期。我希望这个字段是一个Yes/No字段。
编辑:
我不希望[Part Number]表中有Yes/No字段,因为它在多个用户之间共享,并且会干扰数据库根据选择所采取的操作。我也不想使用表,因为部件列表经常更改,前端表必须不断地从后端表[Part Number]中得到更新,以确保一切正常工作。让基于[Part Number]表的select查询每次更改部件列表时都会自动更新,因为它是一个查询,而不是一个表。此查询将被滚动到显示的查询中,该查询将多个表和查询绑定在一起。
发布于 2015-07-31 11:32:20
正如@DonJewett所说,对于Yes/No复选框字段来说,这是不可能的。最好的方法是按照您正在做的方式来做;最简单的方法是清除Yes/No表,每次打开表单时都重新填充它。
(在您的选择表格Form_Load(),frmMultiSelect上):
Dim strSQL As String
Dim db As DAO.Database
Dim rs As DAO.Recordset
Set db = CurrentDb
Set rs = db.OpenRecordset("SELECT * FROM tblNodes")
'Clear current links
strSQL = "DELETE * FROM tblMultiSelect"
db.Execute strSQL
'Create '0' state links for every node in tblNodes
rs.MoveFirst
Do Until rs.EOF = True
strSQL = "INSERT INTO tblMultiSelect(node_id, selected) "
strSQL = strSQL & "VALUES (" & rs![node_id] & ", 0);"
db.Execute strSQL
rs.MoveNext
Loop
'Update subform
Me.frmMultiSelect.Requeryhttps://stackoverflow.com/questions/31730664
复制相似问题