VB6.0用掲示板の過去のログ(No.2)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [管理用]

投稿日: 2005/01/06(Thu) 13:37
投稿者KASHO
Eメール
URL
タイトルRe^6: データグリッドから・・・

> > 例えばですが、このような処理はADOデータコントロールを使用しなくても実現可能なのでしょうか?
> 可能です。各DataSourceにRecordsetをコードで設定してください。

    Set rsgrid = New ADODB.Recordset
    chksql = "select * from *****"
    rsgrid.Open chksql, cn, adOpenStatic, adLockOptimistic
    Set KubunGrid.DataSource = rsgrid
    Text(0).DataField = "*****"
    Text(1).DataField = "*****"
    Text(2).DataField = "*****"
    Text(3).DataField = "*****"
    Text(4).DataField = "*****"
    Text(5).DataField = "*****"
    For cnt = 0 To 5
        Set Text(cnt).DataSource = rsgrid
    Next cnt
※*は例えばの値です^^;

としたらできました。
ありがとうございます^^
しかしそこでまた質問が発生してしまいました^^;
フォーム内にある各テキストボックスをクリアするボタンがあるのですが↓

    Dim cnt As Integer
    cnt = 0
    Do While cnt <= 5
        Text(cnt).Text = ""
        cnt = cnt + 1
    Loop

手順
1.データグリッドから選択してテキストボックスにデータを表示
2.フォーム内のクリアボタンをクリックしてテキストボックス消去
3.データグリッド内のレコードのフォーカスをほかのレコードに移動
させるとレコードがすべて空欄になってしまいます。
データフィールドを連結させているからそうなるのかなぁ、と思ったりしているのですが

    Text(cnt).DataField="" ※1

※1 0〜5でループさせています

としても、リンクは切れますが上記の問題はうまくいかないようです。
どうすれば宜しいでしょうか?


> (ConnectionString自動生成ツールとしては、よく使います。
> その場合、Formに貼り付けて、プロパティページで接続テストに成功したら、
> ConnectionStringだけコピーして、ADODCは消します。)

それはすごく使えますね!
私も使わせていただきます^^


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- VBレスキュー(花ちゃん) - - Web Forum -