dポイントプレゼントキャンペーン実施中!

OS Windows2000
ACCESS 2000

レコードが、住所、名前、DATA1・・・・DATA100
のような時

Set ws = DBEngine.Workspaces(0)
Set db = ws.Databases(0)
Set qd = db.CreateQueryDef("", Sql)
Set rs = qd.OpenRecordset()

DATA1~DATA100を取得するのに
me.text1.text = rs!data1
me.text2.text = rs!data2
.
.
me.text100.text = rs!data100
上記のようすると大変なので
配列のように扱う方法は、ないでしょうか?
宜しくお願いします

A 回答 (3件)

DATA1・・・DATA100は質問上こういう連番付きな名前にしてあるだけかな~と思ったのですが違いますか?



>レコードが、住所、名前、DATA1・・・・DATA100
で「SELECT *」でとって来たと仮定すると、
rs.Fields(0) : 住所
rs.Fields(1) : 名前
rs.Fields(2) : DATA1
rs.Fields(3) : DATA2
・・・
rs.Fileds(101): DATA100
と、数値で取れるみたいなので、
ループにはrs.Fields("DATA" & i)
よりも
rs.Fields(i+1)がよろしいかと思います。
もちろんDATA1・・・DATA100が実際の名前ならば、
rs.Fields("DATA" & i)で良いと思います。
    • good
    • 0
この回答へのお礼

時間が無いのに、はまってましたぁ(T.T)
ありがとうございます。

お礼日時:2005/02/12 17:08

間違えました


×Me.Controls("test" & i).text = rs.Fields("data" & i).Value

○Me.Controls("text" & i).text = rs.Fields("data" & i).Value

「text」プロパティ?「Value」プロパティ使用したほうが良いような...
    • good
    • 0

Dim i As Integer


For i = 1 To 100 Step 1
  Me.Controls("test" & i).text = rs.Fields("data" & i).Value
Next

こんな感じですかね
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!