1

我有一个列标题 start_time 存储,例如 12:30。如果它包含 0:00 作为时间,我想删除一行,但我还没有成功。这是我的代码供参考。

DELETE *
FROM course_times
WHERE start_time IS NULL
OR start_time = '0:00';

另外,在微软访问中,我是否可以在窗口中运行 sql 而不必将其列为查询并保存?谢谢。

4

2 回答 2

4

您需要用#符号分隔日期和/或时间,即:

DELETE *
FROM course_times
WHERE start_time IS NULL
OR start_time = #0:00#;
于 2013-09-10T04:22:08.777 回答
1

对于您的第一个问题,@Monty Wild 给出了明显正确的答案。

对于您的第二个问题,我不确定您在“窗口中”运行 SQL 的确切含义,因此我将列出几个选项:

  • 您可以只创建一个新查询,而不保存它,切换到 SQL 视图,输入您的 SQL 代码并执行它。这使您可以一次运行一个语句。

  • 您可以打开 VBA 窗口 ( Alt- F11),调出即时窗口 ( Ctrl- G),然后在 VBA 命令中键入 SQL 语句(仅限 DDL 语句):currentproject.connection.execute "delete * from tblTable where ID = 8751"

  • 您可以编写一个小的 VBA proc 读取给定文件,使用;分隔符分隔文件中的所有文本,然后使用上述Execute方法一次执行一条 SQL 语句。然后,您可以在 Access 外部您最喜欢的编辑器中创建 SQL 脚本,用分号分隔每个语句,并让 Access 运行这些脚本。你可以想象这是非常强大的。

于 2013-09-19T20:31:13.050 回答