-1

私がVBを初めて使用するコードから取られたこのステートメントの意味を説明してください。大歓迎です。ありがとう。

'Statement

While Not MyRec.EOF  ' Loop trough the table
    MyList = MyList & ";" & MyRec![email]
    MyRec.MoveNext
Wend

MyList = Mid(MyList, 2)



'Below CODE

function GetMailList()
    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
End Function

ありがとう

4

2 に答える 2

1

1. データベースへの接続を作成し、データを取得する

Dim MyDB As DAO.Database, MyRec As DAO.Recordset, MyList As String
Set MyDB = CurrentDb
Set MyRec = MyDB.OpenRecordset("Select email From TableName")

2. myRec に未読のレコードがある間、レコードをループします。ここでEOFは意味しますEnd-Of-File

While Not MyRec.EOF  ' Loop trough the table

    MyList = MyList & ";" & MyRec![email]
    'this will append the eMail field to the string

    MyRec.MoveNext
Wend

3. すべての電子メールが文字列に連結されたので (セミコロンで区切られた電子メールの値があります)、接続を閉じてすべての

MyRec.Close
MyDB.Close
于 2013-06-08T13:48:15.033 に答える
0

これにより、TableName テーブルの email 列のすべての値が、セミコロンで区切られた 1 つの長い文字列に連結されます。

したがって、ループの最後には次のようになります。

;address1@something.com;address2@something.com;address3@something.com

連結が書かれた方法のため、セミコロンは後ろではなく前にあることに注意してください。最後の行は、2 番目の文字から始まる文字列をそれ自体に置き換えることにより、最初のセミコロンを取り除きます。

于 2013-06-08T13:45:42.587 に答える