wazawaza
wazawaza
2022/05/26 (木) 12:07:39
イミディエイトウィンドウの結果は以下のようになりました。
daoRs![依頼者]: 齋藤 cmb依頼者.Value: 齋藤
daoRs![W_No]: コ01980Z cmbWNo.Value: コ01980Z
daoRs![品名]: ####品名#### txt品名.Value: ####品名####
daoRs![希望処置]: 検品のみ cmb希望処置.Value: 検品のみ
daoRs![ロット番号]: A1 txtロット番号.Value: A1
daoRs![ロット枝]: cmbロット枝.Value:
daoRs![巻き長さ]: 8888 txt巻き長さ.Value: 8888
daoRs![依頼理由_1]: 表面不良一般 cmb依頼理由1.Value: 表面不良一般
daoRs![依頼理由_2]: cmb依頼理由2.Value:
daoRs![依頼理由_3]: cmb依頼理由3.Value:
daoRs![補足説明]: ダミー txt補足説明.Value: ダミー
前に「フォーム上で検索をかけた…」と書きましたが、
これは、テーブル「T_依頼」からクエリ「Q_依頼履歴」を作り、
レコードソース「Q_依頼履歴」からなるフォーム「F_依頼履歴一覧」の中に、
書籍に掲載されていた検索機能を盛り込んだものです。
書籍の作例は、検索フィールドが全てテキストボックスでしたが、
私の製作したものはコンボボックスが3つ出来てしまっています。
これをテキスト形式に変更すれば...といった素人考えから発展した醜態です。
過去データの読込にはコンボボックスの方が望み通りの結果になりますが、
一方の検索では、、、といった感じです。
ならばと、コンボボックスの値もヒットする方法も調べてみましたが
見つかりませんでした。
「F_依頼履歴一覧」の検索コード
Private Sub btn解除_Click()
Dim db As dao.Database 'データベースへの参照を代入する変数を宣言
Dim rs As dao.Recordset 'レコードセットへの参照を代入する変数を宣言
Set db = CurrentDb() 'カレントデータベースを参照
'「Q_依頼履歴」クエリを開きレコードセットを取得
Set rs = db.OpenRecordset("Q_依頼履歴", dbOpenDynaset)
'フォームのレコードセットを再設定
Set Me.Recordset = rs
Me.Requery 'フォームのデータを更新
Me.txt検索文字列.Value = "" '検索文字列を空欄にする
End Sub
Private Sub btn検索_Click()
Dim db As dao.Database 'データベースへの参照を代入する変数を宣言
Dim rs As dao.Recordset 'レコードセットへの参照を代入する変数を宣言
Set db = CurrentDb() 'カレントデータベースを参照
'「Q_依頼履歴」クエリを開きレコードセットを取得
Set rs = db.OpenRecordset("Q_依頼履歴", dbOpenDynaset)
'コンボボックスで選択されたフィールドでテキストボックスに指定された文字を検索
rs.Filter = Me.cmb検索.Value & " Like '*" & Me.txt検索文字列.Value & "*'"
'レコードを再取得
Set rs = rs.OpenRecordset
'フォームのレコードセットを再設定
Set Me.Recordset = rs
Me.Requery 'フォームのデータを更新
End Sub
Private Sub btn並べ替え_Click()
Dim db As dao.Database 'データベースへの参照を代入する変数を宣言
Dim rs As dao.Recordset 'レコードセットへの参照を代入する変数を宣言
Set db = CurrentDb() 'カレントデータベースを参照
'「Q_依頼履歴」クエリを開きレコードセットを取得
Set rs = db.OpenRecordset("Q_依頼履歴", dbOpenDynaset)
'昇順・降順の確認
If Me.frm昇降選択.Value = 1 Then
rs.Sort = Me.cmb並べ替えフィールド.Value
Else
rs.Sort = Me.cmb並べ替えフィールド.Value & " DESC"
End If
Set rs = rs.OpenRecordset 'レコードセットを開く
Set Me.Recordset = rs 'レコードセットを再設定
End Sub
通報 ...