0

我有一个名为“macro_workorder_receipt”的 Access 2007 宏,它运行一堆查询。我希望有人指导我如何在下面列出的查询中循环查询 #2 和 #3 和 #4 ,直到选择查询 #1 不返回任何记录。一旦查询 #1 停止返回记录,我希望宏跳过查询 #2 和查询 #3 和 #4 并继续运行下一个未循环的宏操作。此外,如果任何查询 #2、#3 或 #4 失败(可能是由于数据库超时,因为另一个用户锁定了表或抓取了我的事务 ID(主键),然后我才能将其附加到链接的表),那么该失败的查询应该在继续下一个查询之前重新运行(以防止不匹配的记录)。还应该有 100 个循环的限制,所以我不会使数据库服务器过载。

  1. (选择查询)“qryAuto_issue_primary_key_generator”
  2. “qryAppend_autoissue_part_ID_to_sysadm_inventory_trans”</li>
  3. “qryMktbl_tbl_dynamic_autoissue_data_with_append_status”
  4. “qryUpdt_tbl_dynamic_autoissue_data_with_append_status”

我不知道 VBA,所以如果使用常规宏操作执行循环不可行,有人可以提供 VBA 代码来复制和粘贴吗?

4

1 回答 1

0

The simplest way of doing this is in fact using vba.

What I usually do is to nest recordsets into loops.

I can help you with the code, but you'll have to do the homework.

So, first read the Access Help (Alt+F11, Alt+F1) regarding to "Recordsets"

Also, can you please post the SQLs of your queries?

于 2012-10-03T06:07:37.477 回答