sql - 尝试使用宏/SQL 语句从表中删除 (Ms Access)
问题描述
请注意:为查询名称道歉,我只是需要它出现在列表顶部,而我正在努力弄清楚!
桌子 -Mortalityinput
询问 -AAAAAAINmax
我正在尝试编写一个宏以从我的数据表中删除数据的最后/最大日期,例如(如果最近的数据是 3 月 8 日并且有 5 条记录,我想删除所有这些记录)
我的第一步是创建一个查询来确定最大可用日期:
SELECT Max(Format(Mortalityinput.[Created Date],"dd/mm/yyyy")) AS Expr1 FROM Mortalityinput;
我不得不使用格式,因为创建日期下降到 hh/mm/ss,所以只有最新的时间记录会在我想要当天的所有记录的地方被拾取。
第二步是创建一个查询,该查询从死亡率输入中选择[Created Date]
与最大日期匹配的数据。如下查询:
SELECT *
FROM Mortalityinput AS inp
INNER JOIN
(SELECT Max(format(Mortalityinput.[Created Date],"yyyy/mm/dd")) AS MaxDate
FROM Mortalityinput) AS grp
ON format(inp.[Created Date],"yyyy/mm/dd") = grp.[MaxDate];
哪个工作正常,但是我正在努力实际删除记录,我尝试使用:
Private Sub Command14_Click()
myVar = DMax("[Created Date]", "Mortalityinput")
MsgBox (myVar)
Dim dbs As DAO.Database
Dim rst As DAO.Recordset
Set dbs = CurrentDb
lcSQL = "SELECT AAAAAAINmax.[ID] from AAAAAAINmax.[ID] AS IDmax"
Set rst = dbs.OpenRecordset(lcSQL)
Do While Not rst.EOF
lcSQL = "DELETE Mortalityinput.ID FROM Mortalityinput WHERE Mortalityinput.ID=" +
Str(rst.Fields("IDmax"))
DoCmd.SetWarnings False
DoCmd.RunSQL (lcSQL)
DoCmd.SetWarnings True
rst.MoveNext
Loop
End Sub
我确实阅读了一种Database.Execute
方法,并考虑过与其将表中的 ID 与查询匹配,不如删除具有相同创建日期的任何内容,但我无法按照以下方式进行操作:
Set dbNewInitiatives = CurrentDb
strSQL = "DELETE FROM [Mortalityinput]" _
& " WHERE format(AAAAAAINmax.[Created Date],"" DD/MM/YYYY"") = " & myVar
dbNewInitiatives.Execute strSQL, dbFailOnError
抱歉,如果这对任何人来说都是痛苦的,Access 和 SQL 不是我的强项。我还尝试在设计模式下编写/创建一个简单的 SQL 语句,但是当我尝试运行它时,我收到一条消息,询问我指的是哪个表。
请有人让我摆脱痛苦。
谢谢!
解决方案
您需要从双方删除时间部分。此外,无需提及查询名称 AAAAAINmax。
试试这个:
myVar = Format(DMax("[Created Date]", "Mortalityinput"), "DD/MM/YYYY")
Set dbNewInitiatives = CurrentDb
strSQL = "DELETE FROM [Mortalityinput]" _
& " WHERE Format([Created Date],'DD/MM/YYYY') = '" & myVar & "'"
dbNewInitiatives.Execute strSQL, dbFailOnError
推荐阅读
- python - django如何设置与某些字段的关系
- computer-vision - 从 DGT 的 Centaur 电子墨水显示器的照片中自动提取国际象棋 PGN
- javascript - 如何在 JavaScript 中为动态创建的对象设置样式
- c# - 什么控制 C# 中未等待的异步任务的数量?
- excel - 从列表框中删除项目时出现运行时错误 381
- python - 模块“tensorflow”没有带有股票预测的属性“get_default_graph”
- reactjs - 如何过滤静态人表单提交到 Gatsby 中的相关页面
- java - ResultSet.updateTime() 导致错误值
- git - Git 如何在内部恢复索引和 wokring 目录(在重置/签出时)?
- javascript - javascript中的imageslider代码不起作用