投稿時間:2004/09/14(Tue) 11:15 投稿者名:ももたろう
Eメール:
URL :
タイトル:mdb検索方法
下記コードでmdbを検索するプログラムを作りました。 問題なく検索できますが、ネットで見るとスリムな書き方をしているのを見ることがあります。 ADOにこだわらないので、アドバイス頂きたいです。 よろしくお願いします。
Private Function search(file As String, Pin As String, Symbol As String, i As Long, row1 As Integer) Dim cn As New ADODB.Connection 'コネクションオブジェクト Dim rs As ADODB.Recordset Dim strSQL As String Dim cmd As ADODB.Command Dim para1 As ADODB.Parameter Dim para2 As ADODB.Parameter Dim para3 As ADODB.Parameter Dim sFlagmdb As String 'mdbに存在するかのフラグ
Set cn = New ADODB.Connection '接続元のプロバイダとデータベースをConnectionStringで指定 cn.ConnectionString = "provider=microsoft.jet.oledb.4.0;data source=" & App.Path & "\seishiki.mdb" 'コネクションを開く cn.Open
'選択クエリーを設定 strSQL = "SELECT * FROM search where ファイル名=? and ピン数=? and シンボル名1=?" Debug.Print strSQL
'Commandオブジェクトの設定 Set cmd = New ADODB.Command cmd.ActiveConnection = cn cmd.CommandText = strSQL
'パラメータオブジェクトの作成 Set para1 = New ADODB.Parameter Set para1 = cmd.CreateParameter("a", adVarChar, adParamInput, 2) cmd.Parameters.Append para1 Set para2 = New ADODB.Parameter Set para2 = cmd.CreateParameter("b", adVarChar, adParamInput, 5) cmd.Parameters.Append para2 Set para3 = New ADODB.Parameter Set para3 = cmd.CreateParameter("c", adVarChar, adParamInput, 50) cmd.Parameters.Append para3
'検索する値を設定 cmd.Parameters("a").value = Left(file, 2) 'ファイル名 cmd.Parameters("b").value = Pin 'ピン数 cmd.Parameters("c").value = Symbol 'シンボル名1
'Recordsetオブジェクトの作成 Set rs = New ADODB.Recordset 'ファイル名がmdbに存在するか? Set rs = cmd.Execute 'mdb検索 sFlagmdb = 0 With rs Do While Not .EOF If .EOF = True Then sFlagmdb = 0 Exit Do Else sFlagmdb = 1 Debug.Print rs![ファイル名] & " " & rs![ピン数] & " " & rs![シンボル名1] .MoveNext End If Loop End With
'Recordsetオブジェクトを閉じる rs.Close cn.Close Set rs = Nothing Set cn = Nothing End Function
|