使用以下代码更新:
我认为这对于熟悉使用 do 循环和变量的人来说可能非常快。我有一张有很多列的表,我需要做的是将列堆叠成三个一组(我会用联合来做到这一点,但列太多了)。
例如,列当前是线性形式,我想堆叠它们的数据:
例子:
1 2 3 4 5 6 7 8 9 等
至
1 2 3
4 5 6
7 8 9
我从未在访问中使用过 do 循环,我认为我需要这样做并结合一个变量,在该变量中我将第 1、2、3 列附加到表中,然后将第 4、5、6 列附加到同一个表等.
我一直难以理解如何在 VBA 中使用变量,但我会继续看看我是否能弄清楚。
任何帮助将不胜感激。
谢谢
我想出的下面的工作代码,不确定这是否是最好的方法:
Private Sub Command0_Click()
Dim int1 As Integer
Dim int2 As Integer
Dim int3 As Integer
int1 = 1
int2 = 2
int3 = 3
DoCmd.SetWarnings (warningsoff)
Do Until int1 = CurrentDb.TableDefs("Data").Fields.Count + 1
DoCmd.RunSQL ("INSERT INTO Stack ( 1, 2, 3 ) SELECT Data.T" & CStr(int1) & ", Data.T" & CStr(int2) & ", Data.T" & CStr(int3) & " FROM Data")
int1 = int1 + 3
int2 = int2 + 3
int3 = int3 + 3
Loop
DoCmd.SetWarnings (warningson)
MsgBox CurrentDb.TableDefs("Data").Fields.Count + 1
End Sub