Vba 在Access 2007中以连续形式向每条记录添加复选框

Vba 在Access 2007中以连续形式向每条记录添加复选框,vba,ms-access-2007,Vba,Ms Access 2007,我是VBA和Access的新手。我必须创建一个库存贷款表单,使用户可以查看和更新用户的项目贷款详细信息。我已经创建了一个连续表单,它显示查询记录的结果(我的表单记录源就是这个查询) 我目前有一个名为“Loan Details”的表,其中有一个名为“Return status”的布尔列。我使用此列将复选框绑定到它,并将复选框与记录放在一起。我想创建这样一个对话框,用户可以选中特定记录的复选框,单击“更新退货状态”按钮后,会出现vba代码,该代码利用查询将“退货状态”再次更改为True 但是,该复选

我是VBA和Access的新手。我必须创建一个库存贷款表单,使用户可以查看和更新用户的项目贷款详细信息。我已经创建了一个连续表单,它显示查询记录的结果(我的表单记录源就是这个查询)

我目前有一个名为“Loan Details”的表,其中有一个名为“Return status”的布尔列。我使用此列将复选框绑定到它,并将复选框与记录放在一起。我想创建这样一个对话框,用户可以选中特定记录的复选框,单击“更新退货状态”按钮后,会出现vba代码,该代码利用查询将“退货状态”再次更改为True

但是,该复选框不允许我选择(我认为这是因为该复选框仅显示“返回状态”值),我不太确定如何进行选择

我知道这是一个常见的问题,但我试图在网上搜索,却找不到任何解决我问题的方法


对不起,如果我听起来不清楚

该查询看起来不可更新。要进行检查,请尝试更改文本框并查看MS Access窗口底部的状态栏。它将从类似“表单视图”的内容更改为“此记录集不可更新”。简单地从隐式连接更改为显式连接可能会有所帮助

显式联接

 SELECT * 
 FROM items
 INNER JOIN (
    SELECT [Pdt ID] 
    FROM [Loan Detail] 
    WHERE [Loan Detail].[EmpID] = Forms![Update Form]![IDText]) AS pdtList 
 ON pdtList.[Pdt ID] = items.ID

顺便说一句,*几乎总是一个坏主意,你应该列出你需要的字段(列)。

请发布表单的记录源和复选框的控制源。记录源是一个查询:从项目中选择*,(从[Loan Detail]中选择[Pdt ID],其中[Loan Detail]。[EmpID]=表单![Update form]![IDText]),作为pdtList其中pdtList。[Pdt ID]=items.ID。items表中有一列“Return status”,我已经将其引用到了复选框的控制源中。谢谢!它现在可以工作了!只是想澄清一下。当您说“隐式到显式”时,您的意思是使用内部联接和外部联接,而不是仅使用WHERE子句来更新表吗(如果在一个查询中使用两个表)?很抱歉我对sql语句的命令有限。是的,我知道。语言可能会很麻烦,这里有一个链接