• ベストアンサー

ある表のあるフィールドの参照値を配列に取り込みたい

フォームに表データとしてある、特定のフィールドのデータ(レコード数:1からN個)を新規に作成した配列A(I)に取り込みたいのですが、フィールドの繰り返しと配列A(I)の繰り返し方がわかりません。教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
noname#79209
noname#79209
回答No.1

ダサイ例ですが、 フォームのコントロール名が特定の規則に従っているのなら、 コントロール名がHoge1~HogeNだった場合 Dim lngI As Long Dim lngMyArray(N) as Long For lngI = 1 To N lngMyArray(lngI) = Me("Hoge" & LngI) Next フォームのコントロール名がバラバラなら、 Dim lngI As Long Dim lngMyArray(N) as Long Dim strControlName as String For lngI = 1 To N Select Case lngI Case 1 strControlName = "Momotaro" '<-コントロールの名前 Case 2 strControlName = "Saru" Case 3 strControlName = "Inu" Case 4 strControlName = "Kiji"       ・       ・       ・ Case N strControlName = "Oni" End Select lngMyArray(lngI) = Me(strControlName) Next

その他の回答 (1)

noname#79209
noname#79209
回答No.2

ゴメンナサイ。 レコードが1~Nでしたね。 Dim lngMyArray() As Long ' <-データが数値の場合です。 Dim rstMySet As Recordset Dim lngRecCount As Long Dim lngI As Long lngRecCount = Dcount("Hoge","MyTable") ReDim lngMyArray(ingIRecCount) Set rstMyset = CurrentDb.OpenRecordset("MyTable") lngI = 1 Do Until rstMySet.EOF lngMyArray(lngI) = rstMySet!Hoge lngI = lngI + 1 rstMySet.MoveNext Loop rstMySet.Close ちなみにDAOですから、ADOだとセッティングが多少異なります。

関連するQ&A