通过循环记录集访问vba数组

时间:2014-06-25 09:50:28

标签: arrays access-vba

我有一个循环,我想创建一个数组,然后使用该数组插入另一个表。

Band     Country 
AIR       FR 
Bon Jovi  US 
Oasis     UK 
Blur      UK 
Green Day US 
Metalica  US 

我想遍历这个记录集,所以我想创建数组,例如,arrayFR =" AIR&#34 ;; arrayUK =" Blur vbCrLf Oasis"和arrayUS =" Bon Jovi vbCrLf Green Day vbCrLf Metalica"。

同时,基于此记录集,我创建了一个临时表,其中包含FR,UK和amp;我们。我希望使用创建的数组,然后像下面的视图一样插入临时表。

FR        UK        US 
AIR       Blur      Bon Jovi 
          Oasis     Green Day 
                    Metalica 

我不知道如何开始,因为我搜索了很多阵列相关的页面,但没有帮助,请帮助我大师!提前谢谢!

2 个答案:

答案 0 :(得分:0)

由于您的最终结果(每个国家/地区)是由CRLF分隔的带的单个字段,因此您可以将其简化。添加以下Dims;

Dim aArray(10, 2) As String
Dim iC      As Integer
Dim i       As Integer
IC = 0

然后在循环中添加它(根据需要更改字段名称):

Debug.Print rs1!country & vbTab & rs1!band
If aArray(iC, 1) <> rs1!country Then
    iC = iC + 1
    If iC > 10 Then MsgBox "There are more than 10 countries! Change the code...", vbOKOnly, "Too many countries"
    aArray(iC, 1) = rs1!country
    aArray(iC, 2) = rs1!band
Else
    aArray(iC, 2) = aArray(iC, 2) & vbCrLf & rs1!band
End If

要查看结果:

For i = 1 To iC
    MsgBox aArray(i, 1) & vbCrLf & aArray(i, 2)
Next i

答案 1 :(得分:0)

为什么不使用简单的CrossTab查询创建临时表?如果这符合您的需求,那将更容易。