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

投稿日: 2003/01/17(Fri) 02:01
投稿者A221
Eメール
URL
タイトルRe^6: こんボックスで指定したものを別フォームへ表示

#うーん。どこから手をつけようか、悩みますが。

まず、
Private rs As New ADODB.Recordset
としておいてください。

> Private Sub basyoj_Click()
>     'Label12.Caption = B1.Text
>      B1.AddItem "0 板橋区"
------------------------------------------------------------
1.コマンドクリック時にコンボボックスへ値を.additemしていますが、
これだと、クリックのたびに足されます。
したがって、フォームの起動時に読み込むようにしたほうがよいのでは?

Dim i As Long

With Rs
    .Open "SELECT 区域 FROM 関東",Cn,adOpenStatic
    i=0
    Do Until .EOF
        B1.AddItem Format$(i,"000 ") & .Fields(0)
        i=i+1
    Loop
    .Close
End With

------------------------------------------------------------
>      ZZZ = "板橋"
>      MsgBox "板橋区実行〜"
>      mySQL = "SELECT * FROM  関東 " _
>          & "WHERE 区域 LIKE '%板橋%'"
------------------------------------------------------------
2.ここで、MySQLに板橋を含むものを読むようにしていますが、
DBをあけずに、上書きしてしまっています。      
------------------------------------------------------------
>      B1.AddItem "1 江戸川区"
>      ZZZ = "江戸川"
>      MsgBox "江戸川区実行〜"
>      mySQL = "SELECT * FROM  関東 " _
>          & "WHERE 区域 LIKE '%江戸川%'"
------------------------------------------------------------
ここですね。ですから、この場合は、

Private Sub basyoj_Click()
Dim SelText As String

Set rs = New ADODB.Recordset

SelText = Mid$(B1.Text,5,(B1.Text)-4)

MySQL="SELECT * FROM  関東 WHERE 区域 LIKE '%" & SelText & "%'"

With rs
    .CursorLocation = adUseClient
    .Open mySQL, Cn, adOpenStatic
End With

Set Form2.DataGrid1.DataSource = rs
Form2.abc.Caption = SelText
Form2.Show
End Sub
これで、選択されたコンボボックスの値で、SQLを発行します。
------------------------------------------------------------

ところで、これ、全部のデータが選ばれるのですか?
いまのプログラムでは、

>      mySQL = "SELECT * FROM  関東 " _
>          & "WHERE 区域 LIKE '%江戸川%'"

が実行されているはずです。


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

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

- Web Forum -