`Option Compare Database
Option Explicit
Dim argcount As Integer
Dim mysql As String, msg As String, mysource As String, mycriteria As String, mysource1 As String, mysql1 As String
Private Sub AddtoWhere(FieldValue As Variant, FieldName As String, mycriteria As String, argcount As Integer)
' Create criteria for WHERE clause.
If FieldValue <> "" Then
' Add "and" if other criterion exists.
If argcount > 0 Then
mycriteria = mycriteria & " and "
End If
' Append criterion to existing criteria.
' Enclose FieldValue and asterisk in quotation marks.
mycriteria = (mycriteria & FieldName & " Like " & Chr(34) & FieldValue & Chr(42) & Chr(34))
' Increase argument count.
argcount = argcount + 1
End If
End Sub
Private Sub Search_Click()
Dim Search As String
here:
argcount = 0
' Initialize SELECT statement.
mysql = "SELECT * FROM tbltab WHERE "
mycriteria = ""
mysql1 = "SELECT * FROM tblTemp WHERE "
mycriteria = ""
' Use values entered in text boxes in form header to create criteria for WHERE clause.
AddtoWhere cboProduct, "ABC1", mycriteria, argcount
AddtoWhere cboSource, "ABC2", mycriteria, argcount
AddtoWhere cboPType, "ABC3", mycriteria, argcount
'If no criterion specifed, stop the search.
'you'll be glad you did if there are thousands of Persons maybe.
If mycriteria = "" Then
mycriteria = True
End If
' Create SELECT statement.
mysource = mysql & mycriteria
mysource1 = mysql1 & mycriteria
Dim strval As String
'set the recordsource of the subform to the resultset
Me!sfrmCap.Form.RecordSource = mysource
Me!sfrmCapTemp.Form.RecordSource = mysource1
Exit_cmdsearch_Click:
Exit Sub
Err_cmdsearch_Click:
DoCmd.Hourglass False
DoCmd.Echo True
MsgBox Err.Description & " Person Search Command Cancelled", vbInformation, "Person Search Command Cancelled"
Resume Exit_cmdsearch_Click
End Sub
`私は2つのサブフォームがあるフォームを持っています。コンボボックスの値を使って検索レコードをクリックすると検索ボタンが表示されますが、コンボボックスには完全な検索ではなく関連するレコードのみが表示されます。Msアクセスフォーム - 検索ボタンを使用してテキストを完全にフィルタする方法
誰でも私を助けることができます。
ありがとうございます。 AddtoWhere()
で
"[...] 1つのコンボボックスには、完全な検索ではなく関連するレコードのみが表示されます。 - 私はそれが何を意味するのか分かりません。私はコンボボックスが検索の入力パラメータを提供するために使用されたと考えましたが、これは検索結果を表示する必要があるように聞こえます。あなたは精緻化できますか? – Leviathan
申し訳ありませんが、私はうまく説明していない場合、コンボボックスは、値やテキストを選択するために使用され、次にテキストは、データシートをフィルタリングするために使用する必要があります。コンボボックスは検索の入力パラメータを提供します。イメージで見ることができるように、完全な結果を表示するのではなく、関連するレコードを表示します。完全なテキストを検索する必要があります。 – Beginner
1つのコンボボックスでは、画像に表示されるように5つのコンボボックスがあることを意味し、残りはうまく動作し、うまく動作しないソースコンボボックスが問題を把握できません。 – Beginner