|
▼まさ7251 さん:
おはようございます。
コードをずらずら書くのも何かと思いまして、遠慮しておりました。すみません。
以下に検索のコードを書きます。
Private Sub 検索_Click()
Dim cnn As ADODB.Connection
Dim recN As ADODB.Recordset
Dim recM As ADODB.Recordset
Dim strSQL As String
Dim strSearch As String
Set Me.Recordset = Nothing
Me.商品分類コード.ControlSource = ""
Me.JANコード.ControlSource = ""
Me.商品名.ControlSource = ""
On Error GoTo LBL_ERROR
Set cnn = New ADODB.Connection
Set recN = New ADODB.Recordset
Set recM = New ADODB.Recordset
Set cnn = Application.CurrentProject.Connection
strSQL = "SELECT * FROM SHOHIN "
If IsNull(Me.検索ワード) = False And Len(Me.検索ワード) <> 0 Then
strSearch = "SELECT * FROM 環境設定 WHERE 選択フラグ=1;"
recN.Open strSearch, cnn, adOpenDynamic, adLockReadOnly
If recN.EOF = False And recN.BOF = False Then
strSQL = strSQL & "WHERE " & recN(CInt(Me.検索区分)).Name & " "
Select Case recN(CInt(Me.検索区分))
Case 0
strSQL = strSQL & "='" & Me.検索ワード & "' "
Case 1
strSQL = strSQL & "LIKE '" & Me.検索ワード & "%' "
Case 2
strSQL = strSQL & "LIKE '%" & Me.検索ワード & "' "
Case 3
strSQL = strSQL & "LIKE '%" & Me.検索ワード & "%' "
End Select
End If
recN.Close
End If
strSQL = strSQL & "ORDER BY SHOHIN_CODE;"
recM.Open strSQL, cnn, adOpenKeyset, adLockReadOnly
If recM.EOF = False And recM.BOF = False Then
Set Me.Recordset = recM
Me.商品分類コード.ControlSource = recM("01").Name
Me.JANコード.ControlSource = recM("SHOHIN_CODE").Name
Me.商品名.ControlSource = recM("SHOHIN_NAME").Name
End If
今回、商品分類コードの部分が変更した箇所です。recMの01という名は、元のテーブルごと分かり易く名前を変更してみました。
しかし、相変わらず検索はしてくれません。
以前同じように改造して、店番という名前に変更したときはうまく行ったのですが、コードを見比べてもMeの名前と、recMの名前の他は違いはないようにみえるのですが。
ごく簡単なミスだと思うのですが、アドバイスお願いします。
|
|