• ベストアンサー

テキストボックスに入力してフィルタできるボタン

access2000です。 フォームで テキストボックスに文字列を入れると商品フィールドと完全一致するデータだけ表示するボタンを付けたくなりました。 テキスト5 というテキストボックスをつけ コマンドボタンを貼り付け コマンドボタンのプロパティからイベントプロシージャーから Me.filter="商品='" & textテキスト5 & "'" を貼り付ければいいと考えましたが、うまくいきません。 手持ちの書籍ではMe.filterの解説がないので手探りでやっています。 どうすればいいのでしょうか? お願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
noname#212058
noname#212058
回答No.2

Access がせっかくエラーメッセージを出してくれているのですから、 そのメッセージで調べてあげましょうよ。 http://okwave.jp/qa/q2181884.html http://www.accessclub.jp/bbs2/0064/beginter20832.html

その他の回答 (1)

noname#212058
noname#212058
回答No.1

Me.FilterOn に True を入れてなかったりしませんか?

参考URL:
http://accessvba.pc-users.net/form/filter.html
yuukiyuuki
質問者

補足

Me.filter="商品='" & textテキスト5 & "'" Me.filteron=true と入力し テキスト5に文字列を入れてボタンを押しました。 「直前の操作はキャンセルされました」と出ました。 まだおかしいようです・・・。

関連するQ&A

  • VBAで日付型とテキストでフィルタをかけるには?

    テーブルのデータは フィールド1 2012/1/1 2012/1/2 2012/1/3 2012/1/4 2012/1/5 2012/1/6 2012/1/7 2012/1/8 2012/1/9 2012/1/10 フィールド2 A A A A A B B B B B です。 このクエリをもとに票フォームを作成して、 ・txt_始まりテキスト ・txt_終わりテキスト ・txt_フィールド2テキスト を作りました。 あとコマンドボタン(cmd_抽出)も作りました。 このコマンドボタンを押して 日付とテキストを抽出したいのですがVBAでのやり方を教えてください。 クエリなら ------------------------------------------------------------ SELECT テーブル1.フィールド1, テーブル1.フィールド2 FROM テーブル1 WHERE (((テーブル1.フィールド1) Between #1/4/2012# And #1/6/2012#) AND ((テーブル1.フィールド2)="A")); でできました。 ------------------------------------------------------------ しかしVBAで ------------------------------------------------------------ Private Sub cmd_抽出_Click() Me.Form.Filter = "フィールド1 Between #" & Me.txt_始まりテキスト.Value & "# And #" & Me.txt_終わりテキスト.Value & "#" & _ "' And フィールド2 like '*" & Me.txt_フィールド2テキスト.Value & "*" & "'" Me.Form.FilterOn = True End Sub ------------------------------------------------------------ をすると、 ------------------------------ 実行時エラー3075 構文エラー:演算子がありません。 ------------------------------ になります。 どうすればいいか教えてください。 結果は、 ------------------------------ フィールド1 フィールド2 2012/01/04 A 2012/01/05 A ------------------------------ です。 ご回答よろしくお願いします。

  • Access VBAボタンでテキストボックスを入力

    access2010を使用しております。 フォームでボタンをクリックしたときに、テキストボックスを書換える コードを作りたいのですが、 Private Sub コマンド111_Click() ME!テキストボックス.value= "あああ" End Sub としても、テキストボックスは書き換わりません。 でも、ボタンをクリックした後にそのテキストボックスをクリックすると ちゃんと「あああ」と入力されています。 つまり、ボタンをクリックしても入力はされても表示がされず、 ただ、テキストボックスをクリックすると「あああ」と表示されると言った具合です。 また、テキストボックスをクリックする以外にも 違うレコードに移動してもとのレコードに戻ってもおなじように 表示されます。 これを押した時に表示を変更させるには どのようにすればよろしいでしょうか?

  • Access_vbaフィルタ機能

    現在テーブルに格納されている顧客情報から任意のキーで検索できる様、検索用フォームを作成しています。 複数条件(or)を用いる、あいまい検索(Like*)の式がうまくいかず苦労しています。 T_顧客情報(テーブル) フィールド名1:氏名(テキスト型) フィールド名2:氏名フリガナ(テキスト型) フィールド名3:住所(テキスト型) [氏名フリガナ]だけのあいまい検索の式は ME.Filter = "氏名フリガナ Like""*" & ME!テキストボックス名 & "*""" でうまくいきました。 住所だけのあいまい検索も同様にうまくいっています。 しかしこの2つをORでつなぐと『型が一致しません』のエラーがでます。 ME.Filter = "フリガナ氏名 Like""*" & ME!テキストボックス名 & "*""" Or "住所1 Like ""*" & ME!テキストボックス名 & "*""" よろしくお願いします。

  • テキストボックスが未入力のときメッセージを表示したい

    テキストボックスが未入力のときコマンドボタンを押下したらメッセージを表示させるようにしたいんですができません。 教えてください。 (1)テキストボックスを作成。(txt_入力) (2)コマンドボタンを作成。 下記のようにコードを記述。 Private Sub コマンド45_Click() On Error GoTo Err_コマンド45_Click If Me![txt_入力] = "" Then MsgBox "データをいれろ" End If 以下省略 ""をNULLにしても出来ません。お願いします。

  • 連番入力について。

    連番入力について。 環境:ACCESS2000 状況:フォーム(名称:在庫管理)    フォーム上にテキストボックス(名称:text品番頭)          テキストボックス(名称:text品番start)          テキストボックス(名称:text品番last)          テキストボックス(名称:text商品名)          テキストボックス(名称:text仕入先)          コマンドボタン(名称:command登録)    テーブル(名称:在庫マスター)    フィールド  品番    商品名   仕入先 今回やりたい事:    text品番頭にアルファベット3文字、    text品番startに数字4桁(登録したい番号の開始数字)、    text品番lastに数字4桁(登録したい番号の最後)、    text商品名に商品名、text仕入先に仕入先    を入力し、command登録でテーブルに入れる。 その際、品番はtext品番頭+text品番start~text品番lastでフィールド品番に連続登録、    商品名及び仕入先はtext商品名(text仕入先)に入力されたものを全ての品番に対応した    商品名及び仕入先フィールドに登録。 Private Sub command登録_Click() Dim db As Database Dim rs As Recordset Dim i As Long Dim s As String Set db = CurrentDb Set rs = db.OpenRecordset("在庫マスター", dbOpenDynaset) If IsNull(Me!text品番last) Then With rs rs.AddNew rs!品番 = Me!text品番頭 + text品番start rs!商品名 = Me!text商品名 rs!仕入先 = Me!text仕入先 End If If Not IsNull(text品番last) Then For i = Me!text品番start To text品番last ← ここがエラー(エラー13 型が一致しません) With rs rs.AddNew rs!品番 = Me!text品番頭 + CStr(i) rs!商品名 = Me!text商品名 rs!仕入先 = Me!text仕入先 End If rs.Update End With Next i rs.Close Set rs = Nothing db.Close Set db = Nothing End Sub 上記動作は問題ないのですが、 何故か text品番last が空白の場合 2・3回に1度エラーがでます。 ※成功する時もある。 これを回避するにはどうしたら良いのでしょうか? 何卒ご教授の程宜しくお願い致します。

  • ボタンを押すとテキストボックスが増えるJavaScriptについて教えてください

    Javascriptで質問です。 <input type="text" name="hoge1" value=""> <input type="text" name="hoge2" value=""> <input type="text" name="hoge3" value=""> というようなテキストボックスがあり、「追加」というボタンを押すと 新たなテキストボックス <input type="text" name="hoge4" value=""> が追加されるようなJavascriptを作成したいと考えています。 新たに作られたテキストボックスには name="hoge4" name="hoge5" ・ ・ ・ というように、nameの部分に「hogeの右にある番号に1ずつ加算された名前」を付けていきたいのです。 検索すると、テキストボックスを追加していくだけのサンプルはいくつかあったのですが、nameの部分を加算していく、という例が無くて行き詰っています。 よろしくお願いいたします。

  • NULL値を含む場合のフィルタ

    アクセスです。 テーブルに フィールド1 フィールド2 A    B       B  C       C と入ってるとします。 フィールド2についてはNULL値のレコードもあれば、 値が入ってる場合もあります。 このテーブルをフォームにひもづけていて、(帳票フォームにしています) フォームヘッダーにテキストボックス2つとコマンドボタンがあり Private Sub コマンド_Click() Me.Form.Filter = _ "フィールド1 like '*" & Me.テキスト_1.Value & "*'" & " and " _ & "フィールド2 like '*" & Me.テキスト_2.Value & "*'" Me.Form.FilterOn = True End Sub としたときに、レコードのフィールド2に文字が入ってる場合は、抽出できるのですが、 フィールド2がNULLの場合は、1件もヒットしません。 テキスト_1にはAを入れて テキスト_2には何も入れないで検索してみると、1件もヒットしませんが、 テキスト_1にBを入れて検索すると、Bのレコードが抽出されます。 もちろん テキスト_1もテキスト_2もBをいれても、Bのレコードが抽出されます。 VBAコードで & "フィールド2 like '*" & Me.テキスト_2.Value & "*'" としてるので、NULL値でも抽出されると思ったのですがなぜ何も抽出されないのでしょうか? ワイルドカードでnull値も検索されないのでしょうか? テーブルのフィールド2のデータをNull値ではなく、””にしたら、問題なく抽出されましたが データのNull値はNull値のままにして、空白などの文字には置き換えたくないです。 (というか、すべてのNULL値に空白を入れる作業が大変なのでやりたくないです。 実際のフィールド数は50個くらいあります) よろしくお願いします。

  • Accessテキストボックスの未入力チェック

    いつも参考にさせて頂いております。 Accessテキストボックスの未入力チェックで上手くいかず悩んでいます。過去の情報等調べましたが、わかりませんでした。 どなたか宜しくお願い致します。 フォーム1にテキストボックス1、ボタン1があります。 テキストボックスを何も入力せず、Enter等で移動する時にチェックをかけたいです。 もし、テキストボックスに何も入力がなかったら、メッセージを出し、フォーカスをテキストボックスに戻す。 何か入力があれば、ボタンにフォーカスが移動する。 If IsNull(Me.テキストボックス1) = "" Then msgbox "未入力です。" Me.テキストボックス1.SetFocus End If 宜しくお願い致します。

  • テキストボックスの入力で困っています

    アクセス2010で請求書を作成しています 請求データベースの入力フォーム上の(商品コード)テキストボックス(非連結)に入力して、その値を使い、Dlookupで商品コードデータベースから商品名を入力フォーム上の(商品名)テキストボックスに表示させています 商品コードデータベース上で商品コードを長整数型で設定してあります 商品コードには、40011などの整数型の範囲を超えたデータがあります いろいろな理由から、商品コードは主キーに設定せず、インクリメント型でもありません 入力フォーム上の(商品コード)テキストボックスに整数型の範囲(-32768から32767)なら正常に動作します しかし整数型の範囲を超えて入力すると、「このフィールドに入力した値が正しくありません」が表示され、先に進めません 申し訳ありませんが、何か打開策をお知らせいただけると幸いです

  • アクセスで期間抽出

    お尋ねします アクセスで納品書のデータベースがあります   納品書データFormには 伝票番号、日付、客先名、数量のフィールドのフォームで テキストボックス1:始めの日 テキストボックス2:終了日 コマンドボタン1:期間で抽出 が配置しています テキストボックス1,2に日付、記入後、コマンドボタン1をクリックして 所要期間でフィルターで抽出するのですがうまく行きません コマンドボタン1クリック時のコード Private Sub コマンド1_Click() Me.Filter = "日付= 'Between" & Me![テキスト1] & "And" & Me![テキスト2] & "'" Me.FilterOn = True End Sub のコードで抽出してくれません、不都合をご指摘下さい なお 指定日での抽出は以下で出来ました。 Private Sub コマンド1_Click()  Me.Filter = "日付= '" & Me![テキスト1] & "'" Me.FilterOn = True End Sub エクセルのモジュールは少しかじったのですがアクセスは 始めたばかりでなかなか要領を得ません 宜しくお教え下さい。

専門家に質問してみよう