2016-12-12 9 views
-2

私はVBAを初め、特定のファイルを開いているすべての現在のユーザー(MS Access)を表示するプロジェクトに取り組んでいます。私はリストボックスにコンピュータ名情報を入力しようとしていますが、ボタンcommand.rs.Fields(0)を実行しようとするとエラーが発生します。これはコンピュータ名で必要な唯一のフィールドです。私は接続されているすべてのコンピュータ名の一覧が必要です。エラーメッセージとして次はコンパイルエラーの場合

Sub ShowUserRosterMultipleUsers() 
    Dim cn As New ADODB.Connection 
    Dim rs As New ADODB.Recordset 

    Set cn = CurrentProject.Connection 

    Set rs = cn.OpenSchema(adSchemaProviderSpecific, _ 
    , "{947bb102-5d43-11d1-bdbf-00c04fb92675}" 

    'While Not rs.EOF 
     'Debug.Print rs.Fields(0), rs.Fields(1), _ 
     'rs.Fields(2), rs.Fields(3) 
     'rs.MoveNext 
    'Wend 

    Do While Not rs.EOF 
     With List73 
      .AddItem rs.Fields(0) 
     End With 
    Next 
End Sub 
+0

当然Next'は 'ドゥWhile'ループを終了する正しい方法ではありません'、述べています。 –

+3

あなたのDo Whileは 'Loop'ではなく' Next'でなければなりません –

+0

Loop While rs.EOFのような意味ですか? –

答えて

-1
Sub ShowUserRosterMultipleUsers() 
    Dim cn As New ADODB.Connection 
    Dim rs As New ADODB.Recordset 

    Set cn = CurrentProject.Connection 

    Set rs = cn.OpenSchema(adSchemaProviderSpecific, _ 
    , "{947bb102-5d43-11d1-bdbf-00c04fb92675}" 

    'While Not rs.EOF 
     'Debug.Print rs.Fields(0), rs.Fields(1), _ 
     'rs.Fields(2), rs.Fields(3) 
     'rs.MoveNext 
    'Wend 

    Do While Not rs.EOF 
     With List73 
      .AddItem rs.Fields(0) 
     End With 
    Loop 
End Sub 
+0

あなたはプロセスをハングアップするつもりですrsを移動せずに。 – GavinP

+0

@ GavinP質問には、リストボックスにデータを入力しようとしているときにエラーが表示されています。エラーは修正されました。無限ループは彼の疑問から離れている。 – Brad

関連する問題