【发布时间】:2020-07-13 21:17:09
【问题描述】:
我创建了一个表单,该表单在同一个访问数据库上显示包含大约 30 个本地表的列表框。 我创建了删除函数来从表中删除数据。
我想根据 where 条件删除数据。 我想为 30 个表动态创建 where 条件。我有 6 列将成为 where 子句的一部分
转折是 一个表将有 2 列作为条件, 其他可能有3个条件和 另一个表可能有所有 6 个条件条件。 我所知道的是删除语句中最多有 6 个条件,并且这些列是固定的
让我给你解释一下 对于 1 个表,它是
Delete from table1 where act ='A' AND LE ='C'
2张桌子是
Delete from Table 2 where act ='A' AND LE ='C' and gors='G'
所以对于不同的表,我会有不同的 where 子句。
我正在考虑创建一个函数,该函数将在查询中动态创建 where 子句。
我将根据用户在表单上的选择将表名存储在变量中,并且
那么会有一个 if 条件。
if tnbl = table1
then where condition = act ='A' AND LE ='C'
Else if if tnbl = table2
then where condition = act ='A' AND LE ='C' and gors='G'
我不喜欢上述创建 where 子句的方式,因为如果我有 30 个表,我需要 30 个 if Else 子句`
这可不是什么好办法
关于我如何以最有效的方式实施它的任何建议。
帮助非常感谢!
谢谢
【问题讨论】:
-
添加一个将表名与where子句相关联的表?或使用
Select Case方法。
标签: ms-access vba ms-access-2010 ms-access-2007