vba - 将包含 where 语句的表值更新
问题描述
我有一张表,其字段名称为“StepX”,其中 X 是 10 到 1420,步进 10 秒。我有另一个表,其行值从 10 到 1420,并且两者之间的这些值是连接的。我需要一个从字段名称中获取“X”的例程,在另一个表中找到等效的“X”值行,从第二个表中的列(在 X 所在的同一行)中获取值并将其放置字段名称“StepX”下一行的第一个表中的值。
浏览了各种问题和答案,我找不到如何处理循环时更改的字段名。直到工作,但我没有看到第一个表中的值。
Dim dbs As Database
Dim MarkerNumber As Integer
Dim MarkerTotal As Integer
Dim stSQL As String
MarkerTotal = 1420
MarkerNumber = 10
Set dbs = CurrentDb
Do Until MarkerNumber = MarkerTotal
stSQL = "UPDATE tbl_Changes SET tbl_Changes.[Step'markernumber'] = SELECT_TypeTest set TypeTest WHERE SELECT_TypeTest.Order =10"
MarkerNumber = MarkerNumber + 10
Loop
我输入了你所拥有的,但它没有用,可能是因为我没有给你完整的故事。由于我提交了问题,我将更新查询更改如下,它可以工作: UPDATE tbl_Changes, SELECT_TypeTest SET tbl_Changes.step10 = IIf([SELECT_TypeTest]![InstrTest]>0,"Need","N/A") WHERE ( ((SELECT_TypeTest.Order)=10)); 需要帮助将其转换为 MarkerNumber 定序器的代码。
解决方案
微小的变化
Dim dbs As Database
Dim MarkerNumber As Integer
Dim MarkerTotal As Integer
Dim stSQL As String
''MarkerTotal = 1420
''MarkerNumber = 10
Set dbs = CurrentDb
For MarkerNumber = 10 To 1420 Step 10
stSQL = "UPDATE tbl_Changes SET Step" & Trim(Str(MarkerNumber)) & " = TypeTest " & _
" FROM ( SELECT TypeTest FROM SELECT_TypeTest WHERE Order = " & Trim(Str(MarkerNumber))
' now that the sql is built, then execute it
dbs.Execute
Next
推荐阅读
- python - Python 从 for 循环打印到 excel 或 csv
- sql - 在 Teradata 16.20 中,有没有办法从两个 CTE 更新或合并?
- objective-c - -dead_strip 如何在 Objective-C 代码上工作?
- mysql - 克隆表减去任何键的最快方法
- python - 使用 df.query 在日期时间列中添加或减去天数
- java - 如何使用 Java 改进 OpenCV 中的人脸检测
- python - 了解频谱图和 n_mels 的形状
- angular - “AbstractControl”类型上不存在标识符“控件” - Angular 6
- android-widget - 如何制作 Android 小部件
- r - 如何将 6 个分类(是/否)变量组合成 1 个伞形分类变量(是/否)