【问题标题】:Access Subform Datasheet Only Returning 1 Result访问子表单数据表仅返回 1 个结果
【发布时间】:2018-04-19 05:11:45
【问题描述】:

我知道这个问题已经以某种形式或方式多次被问过,但我无法找到有效的解决方案,这让我发疯了。我正在 Access 中创建一个搜索表单,该表单通过 VBA 执行选择查询以查找表中的数据。到目前为止,这非常简单,查询有效,并且表单返回结果。问题是我正在使用子表单来返回/显示结果,并且一次只返回一个结果。

我使用设置向导将子表单添加到主表单,并在此过程中链接了两个表单。我将子表单显示为数据表,但即使我将其更改为“连续表单”,它仍然一次只返回一条记录。我将子表单的 Record Source 设置为我的 Select 查询 (Select * From tbl_Search) ,并且我已将主表单的 Record Source 设置为我能想到的任何内容(选择查询、表格,什么都没有……) .

我知道必须有一种方法可以返回一个数据表中的所有记录,而不必连续单击下一个箭头,但我还没有弄清楚这种方法是什么。

由于这不是代码本身的问题,我不确定要回答这个问题可能需要什么样的图像或代码块,所以我尝试尽可能地进行描述。如果您需要大量代码或屏幕截图来帮助回答这个问题,请告诉我。

【问题讨论】:

    标签: excel ms-access vba ms-access-2010


    【解决方案1】:

    您的主窗体应该是未绑定的。创建一个搜索查询并将其设置为子表单的记录源。您可以将主表单的字段作为参数传递给查询,例如:

    PARAMETERS [Forms]![YourMainForm]![YourTextField] Text (255);
    SELECT *
    FROM YourTableName
    WHERE ((([FieldName)=[Forms]![YourMainForm]![YourTextField]));
    

    运行搜索时您唯一需要做的就是.Requery 子表单。

    Me.SubformName.Form.Requery
    

    【讨论】:

    • 感谢您的帮助,但我仍有一些问题。现在我在我的子表单中有SELECT * FROM tbl_Search WHERE ((Form_Name Like ""*" & [Forms]![Program Search]![strsearch] & "*"")) 作为我的搜索查询。在我的子表单Record Source 中,我有一个简单的Select * from tbl_Search。在我的主表单中,我有Me.SubformName.form.requery,我收到Method or data member not found 的错误,当我尝试运行程序时它会突出显示我的子表单名称。
    • 您需要将SubformName更改为子表单控件的实际名称。
    • 对不起,我应该更清楚。我使用的是实际的子表单名称,我只是在 Me.SubformName 示例中使用了 SubformName,因为它在您的答案中。试图使我的评论与示例保持一致。
    • 我不明白您的意思是搜索查询“在我的子表单中”。搜索查询应在设计>>属性>>数据Record Source = Query Name中设置为子表单的记录源。所以你只有一个查询作为子表单的记录源,没有别的。当您单击主窗体中的按钮时,您只需重新查询子窗体。
    猜你喜欢
    • 1970-01-01
    • 2020-02-10
    • 2015-05-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-02
    相关资源
    最近更新 更多