在 VBA 中,有时您可能希望将不确定数量的参数传递给函数。在 VB 世界中,paramarray 处理这些。但是,如果需要反过来将其传递给子功能怎么办?
在这里的挑战中,我有几个不同的地方可以格式化字符串,插入后续值,例如:
tx = SetSQL("UPDATE tabA SET cd={1} WHERE id={2}", "'123'", 89)
根据情况,可能有 1 个或n 个参数。
当我直接处理所有 SQL 时,这很有效。例如:
set rsNEW = currentdb.execute (SetSQL("UPDATE tabA SET cd={1} WHERE id={2}", "'123'", 89))
但是,后来我发现我有几种情况会重复相同的处理,有时我想将其中的一些重构为一个更全面的调用。我想包装SetSQL
另一个例程的内部。例如:
public sub DoMyDBThing("UPDATE tabA SET cd={1} WHERE id={2}", "'123'", 89)
这使我处于需要将 a 转移paramarray
到 a的情况下paramarray
。