recordsetで次の値をとるには?


name  2005-06-21 04:00:23  No: 122833

いまSQLの実行結果をrecordsetしているのですが、
1件しかないデータをとりだすのはどうしたらよいのでしょうか?
値を取り出すさいに
例えば
1  2  3  4  5・・・EOF

と横に並んでおらず、イメージとしては

1
2
3
4
5
・・・
EOF

というようなかんじなのではないでしょうか?

ようは
1  2  3  4  5  
11 12 13 14 15
21 22 23 24 25

でいうと2.3.4.5などといった横のデータを取得したいのですが。Recordset中
での取得位置がわかりません。皆さんのお力をお借りしたく思います。


ささ  2005-06-21 04:39:10  No: 122834

皆さんのお力の前に過去ログ!
http://homepage2.nifty.com/sak/w_sak3/doc/sysbrd/sak3doc.htm#as_a


どこが  2005-06-21 05:35:38  No: 122835

過去ログ?


もげ  2005-06-21 17:31:46  No: 122836

初心者は、ついついExcelのシートみたいなデータ設計になってしまいがちですが、
RDBの考え方としては、横の列の繰り返しを排除するのが基本です。
検索キーワードは「正規化」。
たとえば、
http://www.kogures.com/hitoshi/webtext/db-seikika/

というのはさておき、
今回の例だと、
レコードセットを仮にrsとして、
rs(0) = 5 だったら、  その次というか、隣のデータはrs(1)で取得可能です。


ささ  2005-06-21 18:57:40  No: 122837

>どこが さんへ

素人の方には"recordset"で
過去ログ検索をしてもらうのは少々酷でしたかね?

--
1.過去ログ"recordset"で検索
  1件目"オラクルに接続するには? "をクリック
2.VB とデータベース接続、SQLはこちらがわかりやすいかも。
http://homepage2.nifty.com/sak/w_sak3/doc/sysbrd/sak3vb.htm
の参考リンクをクリック

同じ、ページが表示されます。
--
ま、このぐらいの探し方ができないようでは、
先が思いやられますな。


もげ  2005-06-21 19:16:18  No: 122838

>rs(0) = 5 だったら、その次というか、隣のデータはrs(1)で取得可能です。
馬鹿?>私
訂正m(__)m
rs(0) = 1 だったら、その次というか、隣のデータはrs(1)で取得可能です。
rs.Fields.Countでヨコの項目数が求めたり、Fieldsコレクションで列挙して、
1件読むごとに、ヨコの項目だけループさせて求めればいいか。


id_rsa+  2005-06-23 04:46:48  No: 122839

Dim Fd As Field
Dim Rs As Recordset

Set Rs = OpenRecordset(SQL)
If Not Rs.Eof Then
    For Each Fd In Rs.Fields
        Debug.Print Fd.Value & ""
    Next
End If
Rs.Close
Set Rs = Nothing


※返信する前に利用規約をご確認ください。




  


  このエントリーをはてなブックマークに追加