(1)部品ID
(2)日付
(3)入庫か出庫
以上3つを検索したいのですがどうすればいいでしょうか?
(1)の部品IDはリストBOXの一覧から選択し、選択したものをテキストBOXに表示させるという形で作成しました。
(2)の日付はテキストBOXに手入力という形です。
(3)の入庫か出庫はコンボBOXで選択するという形です。
検索ボタンを作成してクエリの更新をかけて表示したいと思うのですが、3つの条件のうちその時により、全ての検索条件を入力しなくても1つでも条件を入力するとその条件が表示させるようにさせたいのです。
あと、何も条件を入力せず、検索ボタンを押すと全てのデータが表示させれるようにもしたいのです。
どのようなコードを記述すればいいでしょうか?
よろしくおねがいします
No.5ベストアンサー
- 回答日時:
>”このオブジェクトに値を代入することはできません”と表示され・・
失礼しました。フィルターのセットで最後が足りませんでした。あと[このオブジェクトに値を代入・・]のメッセージは抽出等で間違った指定方法をしているという事なのですが・・。
多分日付の抽出の仕方だと思いますので日付抽出のセットを少し変えましたのでメインフォーム上のボタンCmd1のクリック時のイベントを下記に変更してみてください。
Private Sub Cmd1_Click()
Dim MyCriteria As String
MyCriteria = "日付 ="
If IsNull(Text2) Then
MyCriteria = MyCriteria & True
ElseIf Not IsNull(Text2) Then
MyCriteria = MyCriteria & "#" & Me!Text2 & "#"
Else
End If
strfilter = MyCriteria
strfilter = strfilter & " And 部品ID Like '*" & Me.Text1.Value & "*' And 区分 Like '*" & Me.Cmb1.Value & "*'"
Forms!フォーム名!サブフォーム名.Form.Filter = strfilter
Forms!フォーム名!サブフォーム名.Form.FilterOn = True
Forms!フォーム名!サブフォーム名.Requery
End Sub
メインフォーム上のテキストボックスやコンボの値をサブフォームのフィルターに代入するときはMe!Text1の指定で良さそうなので上記でサブフォームにフィルターをかけられます。(試したらフィルターかけられました。)
これでどうでしょう。
No.4
- 回答日時:
>抽出条件をサブフォームに表示したいという記述を忘れていました
抽出条件をサブフォームの抽出条件に代入すれば行けるかと思いますが。
strFilter = "部品ID Like '*" & Me.Text1.Value & "*' And MyCriteria And 区分 Like '*" & Me.Cmb1.Value"
Me.Filter = strFilter
Me.FilterOn = True
Me.Filter・Me.FilterOnは自分のFilterのセットとなりますのでこの部分を
Forms!フォーム名!サブフォーム名.Form.Filter = strFilter
Forms!フォーム名!サブフォーム名.Form.FilterOn = True
Forms!フォーム名!サブフォーム名.Requery
としてみてください。
抽出部分も
strFilter = "部品ID Like '*" & [Forms]![フォーム名]![Me.Text1].Value & "*' And MyCriteria And 区分 Like '*" & [Forms]![フォーム名]![Cmb1].Value"
にすれば行けるはずですが。
何度も質問に答えてくださってありがとうございます。
デバックがでるんです・・・
”このオブジェクトに値を代入することはできません”と表示され、Me.Filter = strFilterが黄色にマーカーされます。
O_cyan様の回答をそのままコピーしているのでスペルミスではないと思うのですが・・・。
お時間があればまたよろしくおねがいします
No.3
- 回答日時:
>ACCESSの勉強法やお勧めの本・サイトなど教えていただければありがたいのですが
勉強法といっても特にはないのですが私は自分で考えた処理が動くかどうかSQLでもモジュールでも取りあえず試してみる事にしています。ダメならどこがダメなのか究明する。頭の中で考えた物を記述する感じですが・・。
そのためにはある程度の関数の記述の仕方と関数の概要が分かる本ですかね?
Accessで使う私の持っている本はMicrosoftのAccess開発者用のアプリケーションマニュアルとVB開発者用マニュアルの厚さ3Cmくらいの分厚い本くらいですね。あまり読みませんが・・。^_^;
本は関数の便利な使い方みたいな物が多く載っている方が良いと思います。
サイトは結構いろいろあると思いますが一概にどこが良いとは言えません。
すいませんあくまで主観です。
No.2
- 回答日時:
フォームフィルタを使わないとすれば、クエリを作成するのが良いと思います。
データ一覧を参照するのが目的ならば、選択クエリを作成して抽出ボタンなどを押した際にクエリを実行させればよいと思います。
何か他の目的があるのならば、追加クエリなどで一旦テーブルにデータを入れたほうが良いかもしれません。
クエリを作成する前に、抽出条件をきっちり決めなくてはいけません。
出庫・入庫は必ずどちらかが選択されているものとしても、部品IDと日付が両方入力されている場合の抽出条件をANDにするかORにするかによって、クエリの作り方が少し違います。
直接質問には関係ないですけれど、日付を選ぶのには ActiveXのカレンダーコントロールや、DatePickerなどが便利ですよ。 (クエリを実行させる際に抽出条件によってエラーが起きないよう考えておく必要があります。)
回答ありがとうございます。
クエリでも出来るのですね。勉強になります。
紹介して頂いたActiveXのカレンダーも使ってみます。
ありがとうございました
No.1
- 回答日時:
簡単に処理したいのであれば
Filterを使ってやれば出来ます。
部品IDを選択し表示するテキストボックスをText1、日付を入力するコントロールをText2、入庫か出庫をCmb1としてテーブルのフィールド名を区分、検索ボタンをCmd1とした場合。
Cmd1ボタンのクリック時イベントに
Private Sub Cmd1_Click()
Dim MyCriteria As String
MyCriteria = "日付 ="
If IsNull(Text2) Then
MyCriteria = MyCriteria & True
ElseIf Not IsNull(Text2) Then
MyCriteria = MyCriteria & "#" & Me!Text2 & "#"
Else
End If
strFilter = "部品ID Like '*" & Me.Text1.Value & "*' And MyCriteria And 区分 Like '*" & Me.Cmb1.Value"
Me.Filter = strFilter
Me.FilterOn = True
End Sub
としてフォームにFilterをかければ出来ます。
または
クエリのWhere句で抽出条件に同様となる記述をしないと出来ません。
この回答への補足
早速試してみましたができません(>_<)
抽出条件をサブフォームに表示したいという記述を忘れていました。
また回答いただけるとありがたいです。よろしくおねがいします。
回答ありがとうございます。
早速試してみます。
O_cyan様には本当にいつも助けられています。
もしよければACCESSの勉強法や、お勧めの本・サイトなど教えていただければありがたいのですが・・・。
またお時間のある時よろしくお願いします
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
カンパ〜イ!←最初の1杯目、なに頼む?
飲み会で最初に頼む1杯、自由に頼むとしたら何を頼みますか? 最初はビールという縛りは無しにして、好きなものを飲むとしたら何を飲みたいですか。
-
【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
2024年は「名探偵コナン30周年」「涼宮ハルヒ20周年」などを迎えますが、 あなたが「もうそんなに!?」と驚いた○○周年を教えてください。
-
メモのコツを教えてください!
メモを取るのが苦手です。 急いでメモすると内容がごちゃごちゃになってしまったり、ひどいときには全く読めない時もあります。
-
【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
【お題】 ・買ったばかりの自転車を分解してひと言
-
うちのカレーにはこれが入ってる!って食材ありますか?
カレーって同じルーから作っても、家庭によって入っているものや味が微妙に違っていて面白いですよね! 「我が家のカレーにはこれが入ってるよ!」 という食材や調味料はありますか?
-
Access 複数条件検索の設定が上手く行きません
Access(アクセス)
-
フォームに複数の検索機能をつける方法
Access(アクセス)
-
Accessフォームでの複数条件検索
Excel(エクセル)
-
-
4
複数条件検索について
Access(アクセス)
-
5
アクセスのfilter、複数条件の記述方法を教えてください。
Access(アクセス)
-
6
アクセスでテキストボックスの値が空白だったら
Access(アクセス)
-
7
アクセスVBAのMe!と[ ]
Access(アクセス)
-
8
ACCESS検索★ある文字を複数のフィールドの中から検索したい
その他(コンピューター・テクノロジー)
-
9
access マクロでのフィルタの解除の方法
Access(アクセス)
-
10
access2013 フォームで計算した値をテーブルに代入したい
Access(アクセス)
-
11
年月日を持つテーブルから年月を指定して抽出したいのですが
その他(データベース)
-
12
レコード削除時に(サブ)フォームに表示される#Deleted"について"
Access(アクセス)
-
13
アクセスのレポートのヘッダーを2ページ以降にもつけるには?
Access(アクセス)
-
14
ACCESSのフォームからデータの追加ができない
その他(データベース)
-
15
Accessクエリの抽出条件にフォームから挿入する方法
その他(データベース)
-
16
アクセス 同じフィールド(テキスト型)のレコードを連結させたい
Access(アクセス)
-
17
accessで未入力の場合にメッセージボックスを表示したい
Access(アクセス)
-
18
アクセスでのテキストボックスの複数条件での抽出
その他(Microsoft Office)
-
19
accessで該当するレコードがない場合
その他(プログラミング・Web制作)
-
20
アクセスのエラー「クエリには出力フィールドが1つ以上必要です。」
その他(Microsoft Office)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/12】 急に朝起こしてきた母親に言われた一言とは?
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・好きな「お肉」は?
- ・あなたは何にトキメキますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・チョコミントアイス
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・あなたの習慣について教えてください!!
- ・ハマっている「お菓子」を教えて!
- ・高校三年生の合唱祭で何を歌いましたか?
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・家の中でのこだわりスペースはどこですか?
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
検索フォームで空白を抽出したい
-
アクセス マクロのメッセージ...
-
年月日を持つテーブルから年月...
-
アクセスのフォームにカンマ区...
-
Accessでの検索フォーム作成
-
ACCESSのフォーム上で複数検索...
-
access 検索フォームで検索が...
-
YahooのIDがロックされてしまい...
-
データベースのINT型項目にNULL...
-
「フォームを作成できませんで...
-
レコードを保存するコード ア...
-
フォームで入力しても反映されない
-
Access レポート印刷するときに...
-
【ACCESS】フォーム名/コントロ...
-
アクセスでテキストボックスの...
-
エクセルVBA オプションボタ...
-
Word縦書きで左から右への行
-
ACCESSでコントロールソースの変更
-
EXCEL VBAのユーザーフォームに...
-
サブフォームに対してGoToRecor...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
年月日を持つテーブルから年月...
-
検索フォームで空白を抽出したい
-
SQL*Loader
-
アクセス マクロのメッセージ...
-
Accessのフォームで、空欄のレ...
-
Accessの検索フォームで。
-
ACCESS マクロで検索に...
-
access 検索フォームで検索が...
-
アクセスのフォームにカンマ区...
-
Access2000で文字列中の半角ス...
-
パススルークエリの動的パラメ...
-
ACCESS2003 でクエリの抽出条件...
-
複数条件検索について
-
VBAからクエリのパラメータを設...
-
AccessにてExcelファイル名にパ...
-
Access2007のサブフォームのReq...
-
ACCESSのフォーム上で複数検索...
-
ACCESSのフォームを使っての住...
-
where条件式であいまい検索がし...
-
VBAユーザーフォーム内のテキス...
おすすめ情報