首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在Access 2007选择查询中添加“是/否”列

如何在Access 2007选择查询中添加“是/否”列
EN

Stack Overflow用户
提问于 2015-07-30 17:46:46
回答 1查看 1.6K关注 0票数 0

我有一个名为[Part Number]的链接表,在本地,用户需要能够选择与部件编号相对应的复选框(Yes/No)字段,以便使用其他命令对其执行操作。目前,为了在显示的查询中有复选框,我有一个单独的本地表,它维护[Part Number]中所有部件编号的列表,该列表将它们与复选框配对,然后将复选框滚动到显示的查询中。我想要做的是有一个查询,直接查询[Part Number],并添加它自己的Yes/No字段,以摆脱必须不断更新的表,以确保所有的部件编号都被计算在内。

我知道这对于文本字段是可能的:

代码语言:javascript
运行
复制
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查询每次更改部件列表时都会自动更新,因为它是一个查询,而不是一个表。此查询将被滚动到显示的查询中,该查询将多个表和查询绑定在一起。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-07-31 11:32:20

正如@DonJewett所说,对于Yes/No复选框字段来说,这是不可能的。最好的方法是按照您正在做的方式来做;最简单的方法是清除Yes/No表,每次打开表单时都重新填充它。

(在您的选择表格Form_Load()frmMultiSelect上):

代码语言:javascript
运行
复制
    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.Requery
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31730664

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档