- ベストアンサー
ある表のあるフィールドの参照値を配列に取り込みたい
フォームに表データとしてある、特定のフィールドのデータ(レコード数:1からN個)を新規に作成した配列A(I)に取り込みたいのですが、フィールドの繰り返しと配列A(I)の繰り返し方がわかりません。教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
ダサイ例ですが、 フォームのコントロール名が特定の規則に従っているのなら、 コントロール名が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)
ゴメンナサイ。 レコードが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だとセッティングが多少異なります。