投稿日 | : 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 '%江戸川%'"
が実行されているはずです。