2017-11-01 6 views
0

フィールド名を変数に格納しています。DAOレコードセットを使用してそのフィールドに格納されている値にアクセスしたいとします。DAOレコードセット値へのアクセス

私の構文は以下のようにアップしますが、私のDebug.Printステートメントが代わりにフィールドで開催された実際の値の

idea.Value 

を返しています。たとえば、のは、私は短いテキストフィールドと Testは私が idea.Valueを望むの下に緑の値



青そして、私の構文で保持する ideaと呼ばれるテーブルを呼び出したとしましょうそれらの3つの値を表示するが、実際の値を印刷する代わりにフィールド名が表示される。これが起こるために私は何を間違ってセットアップしましたか?

Public fieldname As String 

fieldname = "ides" 

Do While Not rsSelect.EOF 
    rsInsert.AddNew 
    Debug.Print ""& fieldnamea & ".Value" 
Loop 
+3

ものはすべてリテラル*文字列*です。あなたの 'Debug.Print'ステートメントは、何らかの形でレコードセットフィールドにアクセスしていません。それは、印刷するように指示されたものだけを出力しています:2つの文字列リテラルと連結された文字列変数。 ''& 'は完全に役に立たないBTWです。 –

答えて

2

あなたの構文が間違っています。あなたはレコードセットは試行錯誤とエラーにスタックオーバーフローの質問をするよりも、どのように機能するかについてのウェブ上のチュートリアルを探して、おそらく方がいいでしょう

Do While Not rsSelect.EOF 
    Debug.Print rsInsert.Fields(fieldname).Value 
    rsInsert.MoveNext 
Loop 

注意。

+0

そのDebug.Printステートメントもnull値を返します –

+0

ああ待ってください - テーブルに1つのヌル値があります...複数のインスタンスを処理する必要がありました。謝罪。 –

+0

コードを修正してください。レコードセットの名前は 'Do While'条件で使用される' rsSelect'ですが、 'rsInsert'はループの内部で使用されます。 –

0

あなたは以下のようなものを使用することができます。

Public fieldname As String 

fieldname = "idea" 

Do While Not rsSelect.EOF 
    Debug.Print rsSelect(fieldname).Value 
    rsSelect.MoveNext 
Loop 

またあなたは、単に任意の変数を使用せずにこれを行うことができます。二重引用符の間

Do While Not rsSelect.EOF 
    Debug.Print rsSelect!idea 
    rsSelect.MoveNext 
Loop 
関連する問題