0

我比较陌生,过去只做过一点编码,所以虽然反复试验让我有办法,但我仍然非常卡住。我想出了如何创建与库存(研究工具包)相关的级联表单,但想编写一个函数,该函数将根据组合框信息仅删除一行(我会执行删除查询,但它会删除所有有效期相同的试剂盒)。我的表格是“学习套件查询”,表“库存”第一个字段是组合框“套件名称选择”中的“套件名称”,然后还有另外两个,学习和到期日期。这就是给我带来麻烦的原因:

Function Delete_Record()

DoCmd.RunSQL "DELETE * FROM Inventory
WHERE (((Inventory.[Kit Name]) = [Forms]![Study to kit Query]![Kit name select]) And ((Inventory.[Exp Date]) = [Forms]![Study to kit Query]![Expiration select]) And ((Inventory.Study) = [Forms]![Study to kit Query]![Study Select]))
LIMIT 1;"

编辑:我已经能够让它响应条件命令,但限制部分仍然导致语法错误。

如果任何人都可以帮助解决这个问题,或者给我一些指导,从表单的组合框中提取这三个标准并删除表格中的单个记录,我会很兴奋。谢谢!

4

1 回答 1

1

访问不支持LIMIT
相反,您可以TOP像这样使用:

DELETE FROM (SELECT TOP 1 * FROM Inventory
WHERE (((Inventory.[Kit Name]) = [Forms]![Study to kit Query]![Kit name select]) 
And ((Inventory.[Exp Date]) = [Forms]![Study to kit Query]![Expiration select]) 
And ((Inventory.Study) = [Forms]![Study to kit Query]![Study Select])));
于 2019-05-02T22:55:39.757 回答