私はこの小さなVBAスクリプトをAccessデータベースに持っています。私がやりたいと思ういくつかのフィールド比較があります。他の言語では、私はキーの配列を作成し、for..eachループを使って各キーをテストすることができます。このような何か:レコードセットのキーとして文字列の配列を使用できますか?
string[] myKeys = { "key1", "key2", "key3" };
foreach(string myKey in myKeys)
{
if(myRecordset!myKey == myTable!myKey) DoSomething()
}
私はVBAでこれを試してみましたが、それは私に実行時エラー「3265」を与える:次のコードを使用している場合、このコレクションに見つかりませんアイテム:
For Each myKey In myKeys
If Not IsNull(myR![myKey]) Then Me.Recordset![myKey] = myR![myKey]
Next myKey
は何ですか私はVBAでも可能なことをしようとしていますか?
をトリガするコメント解除。ありがとう。それが何であるかを明示的に知っていない限り、Fieldsに関する情報はあまりないようです。これはVBAであらゆるタイプのプログラミングを行うのは初めてのことですが、実際には他の言語とは大きく異なります。 –
VBAはいくらか使い慣れています。 :-) 'myR'が' DAO.Recorset'の場合、コードに 'myR.'と入力して、Intellisenseに利用可能なメソッドとプロパティを表示させます。もしそれが 'ADODB.Recordset'であり、Microsoft ActiveX Data Objectsのリファレンスを設定していれば、同じことができます。 – HansUp