今回も力を借りたくここに書き込みました。旗国丸です。
まず環境ですが
VB6
Microsoft ActiveX Data Objects 2.1 Library (ADO)
SQLsever2000
ユーザ名 sa
パスワード sa
テーブル m_User
データベース IMS
表計算 Spread2.5J
これでフォーム1にSpreadをはりつけてm_Userのテーブルのレコードを表示し実行ボタンでフォーム2に飛び、フォーム2のテキストボックスにフォーム1のSpreadでマウス選択したレコードのデータを表示したいのですが。
どうすればよいのでしょうか。
コードは
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
dim c as integer
dim r as integer
cn.conectionでデータベースに接続(ここは問題なし)
cn.open
自己レスです。途中で送信してしまいましたすいません。
コードは
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
dim c as integer
dim r as integer
c = 1
r = 1
cn.conectionでデータベースに接続(ここは問題なし)
cn.open
with rs
.cursoltype
.locktype
.open m_User ,cn
do until rs.eof
vaspread.row = r
vaspread.col = c
vaspread.text = rs.filds("UId")
c = c + 1
vaspread.col = c
vaspread.text = rs.filds("UName")
r = r + 1
rs.movenext
loop
使ったオブジェクトを閉じ終了します。
これでspreadには
1 aaa
2 bbb
という感じで表示されます。
フォーム2にはフォームロード時に
text1/text = form2.vaspread.text
としていますが先ほどのデータだとどこを選択してもbbbしか表示しません
あとできればですが
ヘッダーの名称がAのままで(ここを各フィールドの名称に変えたい)
しかもこのままだと件数が多くなると膨大に時間がかかるので、もっと簡単で少ない処理ですむ方法があるならぜひご教授ください。
変な送信をしてすいませんでした。
それでは説明も下手で見苦しいですがお願いします。
> フォーム2にはフォームロード時に
> text1/text = form2.vaspread.text
> としていますが先ほどのデータだとどこを選択してもbbbしか表示しません
リファレンスには目を通されたでしょうか。
これは、
vaspread.row
vaspread.col
の値がbbbセルの値になっているためと思われます。
リファレンスのColプロパティのところに
Colの値は画面のActive列とは関係ありません。アクティブ列の列番号はActiveColプロパティより取得できます。
とあります。
したがって、
text1.text = form1.vaspread.text(説明文からいくとform1じゃないですか!?)
の前に、
form1.vaspread.Row = form1.vaspread.ActiveRow
form1.vaspread.Col = form1.vaspread.ActiveCol
とすればよい気がします。
> ヘッダーの名称がAのままで(ここを各フィールドの名称に変えたい)
これも、Rowプロパティを0にすればいいだけかと。
あとは同じだと思います。
すみません。
> text1.text = form1.vaspread.text(説明文からいくとform1じゃないですか!?)
ではなくて、
text2.text = form1.vaspread.text(説明文からいくとform1じゃないですか!?)
ですね。
gariさんありがとうございます。
おかげでうまく処理ができました。
ただ列のヘッダーの名前を変えた時にその列のサイズを自動的に合わせる方法はあるのでしょうか。
こんな感じです。
vaspread.col = 1
vaspread.row = 0
vaspread.text = "ユーザの名前" 'ヘッダーの名称を入れる
このユーザの名前が全て表示されるように列のサイズを自動的に合わせるようにしたいのですが。もし方法があるのならご教授をお願いします。
>このユーザの名前が全て表示されるように列のサイズを自動的に合わせるようにしたいのですが。
これも、列のサイズを定義するプロパティがあるので
リファレンスには目を通されたでしょうか。
gariさん、ん〜さんありがとうございました。
おかげでスプレッドでの処理も無事にできました。
ご協力に感謝します。
ツイート | ![]() |