用于比较数据库中两个表的脚本,来自用户输入

时间:2013-07-08 14:24:51

标签: sql database vba

我对VBA和SQL很新,我正在努力学习。我有一个MS Access项目,需要一个VBA脚本,提示用户输入两个表名和多个字段名,并使用这些名称创建一个SQL查询。

我正在尝试使用的特定SQL查询如下所示。

SELECT 
   A.user_index, A.input1, B.input1, A.input2, B.input2, A.input3, B.input3, B.input4, 
   A.input4, A.input5, B.input5 
FROM 
   table1 AS A 
LEFT JOIN 
   table2 AS B ON A.user_index = B.user_index 
WHERE 
   (((A.input1) <> [B].[input1)) OR 
   (((A.input2) <> [B].[input2])) or
   (((A.input4) <> [B].[input4]));

这样做的总体目的是拥有一个脚本,该脚本能够列出适用于任何数据库的比较字段。我知道这可能是一个相对简单的解决方案。但是,我不知道从哪里开始。

1 个答案:

答案 0 :(得分:0)

我的第一直觉是说“你到目前为止尝试了什么?”,但正如你所说,你不知道从哪里开始。

听起来您需要首先提示用户输入多个字段和表名,然后根据这些值构建查询。我建议首先概述完全您希望脚本执行的操作。也许是这样的:

  1. 声明变量以保存值。
  2. 提示用户输入每个值并将其存储在变量中 2A。用户输入值后,请确保其有效。如果没有,请做相应的事情。
  3. 声明一个变量来保存您的SQL查询。
  4. 构建查询。
  5. 运行查询。
  6. 这显然只是一个例子。尽可能将每一步分解为“婴儿步骤”。

    最好问问自己这些婴儿步骤对您的特定情况有多独特(提示:他们几乎肯定不是唯一的)。如果他们不是,那么他们可能已经解决了数万次,所以你很有可能用Google搜索你的问题。

    如果您仍然无法找到如何执行特定步骤的答案,请随时在此处提问。只要记住包含你的代码即使它被破坏了,也要记住:)