gpt4 book ai didi

mysql - Access 查询问题

转载 作者:行者123 更新时间:2023-11-29 23:59:30 26 4
gpt4 key购买 nike

我有一个查询,每次关闭它时都会从表中删除第一条记录。

我正在做的事情的背景。我创建了一个查询和一个表单,用于将条件输入到该查询中。当用户点击运行时,它会打开查询并显示他们输入的条件。

我遇到的问题是,每当用户将表单上的文本字段留空时,查询就应该将其视为 NULL 并返回所有内容。我正在使用这个(如[Forms]![myForm]。[myCriteria]&“*”)。它工作正常,直到用户关闭 Access 并再次打开它时,表的第一行中的条件将为空白。

在表单上,​​我有两个文本框(textbox1 和 textbox2),它们都来自两个不同的表。如果用户将 textbox1 留空,请运行查询,关闭 Access,然后重新打开它。与 textbox1 关联的记录在其透视表中将为空,但仅在第一行中为空。不完全确定为什么会发生这种情况

我试图尽可能清楚地表达,如果有任何困惑或需要任何其他信息,请告诉我。

编辑

我会尝试进一步扩展。

有3个表都有记录。其中一些记录在查询运行时用作条件。

Table1 将包含组件,表 2 将具有状态,Table3 将包含条件不需要的其他记录,但在查询运行时仍会显示

组件和状态应该用作查询条件,用户将其输入到表单上的文本框中,然后打开查询。如果用户将组件或状态的文本框留空,则在查询运行时,它应该显示表中的所有组件或所有状态。它会执行此操作,但在关闭并重新打开后,相应表中的“组件”字段或“状态”字段将显示为空白,但仅在该表的第一行上

最佳答案

您在帖子中提到您正在使用查询从表单中提供条件,但是控件(两个文本框)与数据库中的两个不同表相关。在我看来,这听起来像是表单不是未绑定(bind)的,其中表单被表锁定,每次加载表单时,表单都会从表中加载数据,使其能够直接编辑/删除记录。为了实现您想要的搜索功能,请执行以下操作。有关未绑定(bind)和绑定(bind)的更多信息:http://www.baldyweb.com/BoundUnbound.htm

  1. 创建一个空白表单,不基于任何表格。只是一个带有两个文本框和一个按钮的空白表单。
  2. 将第一个文本框命名为 txtCriOne,将另一个文本框命名为 txtCriTwo。将按钮命名为 runQryBtn。通过给它一个名称(如 Frm_searchQry)来保存表单
  3. 创建一个查询,通过使用 JOIN 或您希望的方式涉及两个表。为简单起见,我将使用客户表和订单表的示例。将其命名为:Qry_searchDB

Qry_searchDB

SELECT 
tblCustomer.CustomerName,
tblCustomer.CustomerTelephone,
tblOrders.OrderNumber,
tblOrders.OrderDate
FROM
tblCustomer INNER JOIN tblOrders
ON
tblCustomer.CustomerID = tblOrders.CustomerID_FK
WHERE
tblCustomer.CustomerName Like "*" & Forms!Frm_searchQry!txtCriOne & "*"
Or
tblOrders.OrderReference Like "*" & Forms!Frm_searchQry!txtCriTwo & "*"

现在保存此查询。然后对按钮进行编码,单击以打开此查询。类似的东西。

Private Sub runQryBtn_Click()
DoCmd.OpenQuery "Qry_searchDB"
End Sub

这将打开基于条件的查询或列出所有记录(如果两者都留空)。希望这可以帮助。

关于mysql - Access 查询问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25141133/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com