0

嗨,我是 VB 和 Access 的初学者,我想知道每当我取出 While 语句时,它会产生一个错误,它不会运行。我认为 while 语句设置 MyList=MyRec[email],对吗?

但是为什么每当我只用 MyList=MyRec[email] 替换 While 语句时,它就无法编译。

我正在尝试简化将 MyList 中的 SQL 语句作为 MyList=MyRec[email] 放置的代码,但我不知道如何...

Dim MyDB As DAO.Database, MyRec As DAO.Recordset, MyList As String
Set MyDB = CurrentDb
Set MyRec = MyDB.OpenRecordset("Select email From TableName")
While Not MyRec.EOF  ' Loop trough the table
MyList = MyList & ";" & MyRec![email]
MyRec.MoveNext
Wend
MyList = Mid(MyList, 2)

' use you code here with the mail list ceated

MyRec.Close
MyDB.Close

非常感谢!

4

1 回答 1

0

while 实际上是循环遍历SELECT语句返回到记录集中的所有项目。

While Not MyRec.EOF                    ' While there are emails still in the recordset
 MyList = MyList & ";" & MyRec![email] ' Append the current email to the list
 MyRec.MoveNext                        ' Get the next email in the list
Wend

如果没有While循环和对 的调用.MoveNext,您将无法检索列表中的所有电子邮件地址。

说得通?

于 2013-06-09T03:19:23.017 回答