ID非公開

2020/9/14 21:04

22回答

Access VBA についてお願いします。 テーブルのレコードを一つずつ取得し、取得したレコードを引数として関数を呼ぶようにしたいのですが可能でしょうか。

Access VBA についてお願いします。 テーブルのレコードを一つずつ取得し、取得したレコードを引数として関数を呼ぶようにしたいのですが可能でしょうか。

ベストアンサー

0

>レコードを一つずつ取得し ときたら、下記のようなレコードセット処理の外枠がパッと浮かぶように訓練します。訓練しなくても、自分でテンプレートを用意して再利用しても良いです。 あとは、その中で各レコードの処理の記述をすれば良いだけです。 Public Function Sample() Dim DB1 As DAO.Database Dim RS1 As Recordset Set DB1 = CurrentDb() Set RS1 = DB1.OpenRecordset("テーブル名", dbOpenTable) Do Until RS1.EOF 'ここで各レコードに対する処理 RS1.MoveNext Loop RS1.Close DB1.Close End Function

ThanksImg質問者からのお礼コメント

ありがとうございました。参考にさせていただきました。

お礼日時:9/16 20:46

その他の回答(1件)

0

可能です。 例えば"テーブル1"の全レコードを順に取得して、各レコードの中の"フィールド1"を引数にして関数"test"を実行する場合です。 Sub sample() Dim rs As Recordset Dim dmy As Integer Set rs = CurrentDb.OpenRecordset("select * from テーブル1") Do While Not rs.EOF dmy = test(rs("フィールド1").Value) MsgBox dmy rs.MoveNext Loop End Sub '関数 Function test(n As Integer) As Integer test = n + 1 End Function