1

好的,所以我尝试了几种不同的方法并搜索了论坛。我发现了与我遇到的问题类似的问题,但不是我正在寻找的问题。我对我的数据库有一个查询,它返回 2 列。第一列是代号,第二列是代号的修订版

例如

Code_1       0
Code_1       1
Code_2       0
Code_2       1
Code_2       2  

现在我需要做的是遍历这个查询并挑选出与每个代码号关联的代码和最大修订号,并将它们放入另一个表中,这样我最终会得到

Code_1     1
Code_2     2

在我的新桌子上。

我什至似乎无法遍历查询,每次我得到的只是第一个结果。我已经使用下面的 Debug.Print 来向自己展示我的循环正在做什么。我已经完成了一些 Java 并且 vba 循环是不同的。我尝试过的一种方法是:

Dim db  As DAO.Database
Dim rs  As DAO.Recordset
Set db = CurrentDb()
Set rs = db.OpenRecordset("Query_Name")

Dim i,j as Integer
Dim tempvar1, tempvar2 As Variant
For i = 0 To rs.EOF
tempvar1 = rs!Code_Number
For j = 0 to rs.EOF
tempvar2 = rs!Code_Rev
If Code_Rev > tempvar2 Then
tempvar2 = rs!Code_Rev
End If
Debug.Print(tempvar1 + tempvar2)
Next j
Next i

我得到的只是列表中的第一个代码号和修订版。如果我什至不能正确地循环遍历列表,我就没有希望从我需要的结果中创建一个新表:-/ 我也尝试过使用 Do While 循环做类似的事情,但结果类型相同。请告诉我我迭代查询的方式的错误,并请帮助我从结果中创建一个新表。

4

1 回答 1

1

为什么不直接查询?

SELECT tx.Code, Max(tx.[NewCode]) AS MaxOfC INTO New
FROM tx
GROUP BY tx.Code;

其中 tx 是您的表的名称。

于 2012-10-26T10:27:12.140 回答