【问题标题】:Access SQL - Query (Show specific selections in query)Access SQL - 查询(在查询中显示特定选择)
【发布时间】:2018-11-16 23:36:55
【问题描述】:

我正在尝试创建一个数据库,用户可以在其中跟踪机器上正在进行的工作。所以在我的数据库中我有两个表;

TblLocations

  1. 位置名称

TblUptimes

  1. 位置(参考 TblLocations)
  2. 日期
  3. 生产数量

为了让用户的生活更轻松,他们每天都会输入一个带有文本框的表单,他们输入今天的日期,一个文本框,以便他们可以输入生产的物品数量。

我想要一个显示所有机器的列表框。用户选择机器,当他们输入数量并单击按钮时,它会将此信息添加到 TblUptimes 表中。

我的问题是作为一种故障安全措施,当用户在星期一输入机器 1 的数据时,我希望它从列表中消失,因为它现在有星期一的记录。但是,如果用户将日期更改为星期二,则该机器将出现在列表中,直到用户添加了当天的记录。

我的想法是在对列表框的查询中,它将引用 tbluptimes 并在日期上有一个标准,类似于“不是 [Forms]![frmMachineUptimes]![TEXTDate]”。我知道这段代码不正确,但我希望你明白我在找什么。

【问题讨论】:

  • 请遵循对您和您的团队最有意义的命名约定。如果您选择将每个程序标记为“proc...”,这完全取决于您。

标签: sql vba ms-access


【解决方案1】:

T-SQL 答案,因为我在那个领域更熟悉,尽管查询应该几乎完全相同,所以如果它不是直接复制粘贴解决方案,我们深表歉意,但它应该很接近。

我没有包括这个,因为我不知道访问语法,但是在比较时从你的日期中去掉时间,以确保不会意外过滤掉任何结果。

如果没有“Distinct”,您会得到很多相同的名称,希望这在 Access 中可用...

SELECT DISTINCT TblLocations.LocationNames
FROM TblLocations 
    LEFT JOIN TblUptimes ON TblLocations.LocationNames = TblUptimes.Location
WHERE TblUptimes.Date <> @inputDate

【讨论】:

  • 。 . SQL Server 和 MS Access “几乎完全相同”。
  • @GordonLinoff 我有很多 MS Access 查询,我不得不转移到 SQL Server 环境中,以便在较新版本的软件中使用,而且我必须做的次数更多正在重新格式化某些日期函数...我在这里遗漏了什么吗?在几乎所有这些情况下,他们实际上是立即工作
  • 基本查询语言/语法非常接近(例如,在 MySQL 和 MSSQL 之间非常接近)。我认为 Gordon 是在谈论特性和功能。
  • @jleach 是的,我意识到我最初的措辞并不清楚,我对其进行了修改以反映我的意思。我并不是说这两种语言在大多数情况下表现相同,我只是说在这种特殊情况下,这两种查询应该几乎完全相同。
  • @GordonLinoff 正如我所逃避的那样,我说的是我提供的这个查询中使用的逻辑,而不是整个语言。不要这么快就从别人的喉咙里跳下来。
猜你喜欢
  • 2011-06-28
  • 1970-01-01
  • 2023-04-07
  • 2021-08-12
  • 2019-03-16
  • 1970-01-01
  • 2017-07-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多