
こんにちは。
フォーム上で、データベースを検索するものを作っています。
SELECT ~ WHERE ~ で条件に合致するレコードを、サブフォームを連続表示しています。
リセットボタンを作成して、検索結果を消したい(カラにしたい)と思うのですが、
Me![subform].Form.RecordSource = ""
Me![subform].Requery
上記のVBAを実行すると、1レコードだけ表示され、コントロール上では「#Name?」が出てしまっています。
参照するテーブルが無いためにこういうことが起きているのだと思うのですが、防ぐ方法が分かりません。
教えてください。
宜しくお願いします。
No.2ベストアンサー
- 回答日時:
ソースを空にしておいて再クエリなど出来ません
>SELECT ~ WHERE ~ で条件に合致するレコードを
表示している時
>リセットボタンを作成して、検索結果を消したい(カラにしたい)と思うのですが、
こうしたければWhere条件を何も抽出しないものに変えます
No.1
- 回答日時:
tab1:
ID_fld1
01_AAAA
02_BBBB
03_CCCC
04_DDDD
' ------------------------------
' WHERE節で検索対象ゼロを指示
' ------------------------------
Private Sub コマンド4_Click()
Me.RecordSource = "SELECT * FROM tab1 WHERE ID<1"
End Sub
' ------------------------------
' Filterで検索対象ゼロを指示
' ------------------------------
Private Sub コマンド5_Click()
Me.FilterOn = False
Me.Filter = "ID<0"
Me.FilterOn = True
End Sub
' ------------------------------
' WHERE節で検索対象有りを指示
' ------------------------------
Private Sub コマンド6_Click()
Me.RecordSource = "SELECT * FROM tab1 WHERE ID>1"
End Sub
レコードソースを空にしたらコントロールソースも空にしないとエラーが出るでしょう。
が、この場合は、復活のコードも必要となるのでややこしいと思います。
Private Sub コマンド7_Click()
Dim ctl As Control
For Each ctl In Me.Controls
If ctl.ControlType = acTextBox Then
ctl.ControlSource = ""
End If
Next
Me.RecordSource = ""
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
ACCSESS2013VBA フォームのレコードソースを変更する
その他(データベース)
-
Access サブフォームでの選択行の取得
その他(データベース)
-
MS Accessでフォームの「開く時」と「読込み時」のイベントの違い
Access(アクセス)
-
-
4
親フォームからサブフォームのレコードソースを設定
Access(アクセス)
-
5
Accessの画面更新を一時的に停止する方法。
その他(データベース)
-
6
2回目に画面のレコードセットの値が読めない
その他(データベース)
-
7
日付型のフィールドに空白を入れる方法を教えてください
その他(データベース)
-
8
フォームを開くときに、コンボボックスの値を選択(アクセスVBA)
Visual Basic(VBA)
-
9
アクセスのフォームのビューが表示されないのですが、
その他(データベース)
-
10
access2021 VBA メソッドまたはデータメンバーが見つかりません エラー発生
Access(アクセス)
-
11
Accessのオブジェクトの表示順はかえられる?
Access(アクセス)
-
12
ADOでRecordsetオブジェクトをレコードソースに設定したい
その他(データベース)
-
13
access マクロでのフィルタの解除の方法
Access(アクセス)
-
14
SQL文で パラメータが少なすぎます エラー
Access(アクセス)
-
15
Accessを開きなおすとテキストボックスの値がエラー#Name?になる
その他(データベース)
-
16
AccessからExcelにエクスポートする時に常に上書きしたい
Excel(エクセル)
-
17
AccessのRefresh・Requery・Repaintの違い
Access(アクセス)
-
18
Access コンボボックスの値をクリアしたい。
PowerPoint(パワーポイント)
-
19
Access サブフォームのレコードソースを変更するには
Access(アクセス)
-
20
Accessの桁区切りについて教えてください。
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
新規レコード行を非表示にしたい
-
レコードを保存するコード ア...
-
アクセスの自動保存解除はでき...
-
ACCESSフォームのリストボック...
-
Accessでフォーム上に 直前の...
-
ACCESS起動時に所定フォームを...
-
accessのクエリで、該当するデ...
-
Access 更新キャンセルするには?
-
アクセス データの競合を非表...
-
レコード削除時に(サブ)フォー...
-
アクセスでフォームビューがみ...
-
アクセス帳票フォームのループ...
-
フォームから離れる際にテーブ...
-
Access 「このレコードを保存す...
-
Access2003 ~入力のみ可能なフ...
-
レコードをダブルクリックする...
-
Accessでレコードの保存をせず...
-
Access レポート印刷するときに...
-
アクセスで数値型のフィールド...
-
passwordが入れられません・・・・
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
レコードを保存するコード ア...
-
アクセスでフォームビューがみ...
-
新規レコード行を非表示にしたい
-
レコード削除時に(サブ)フォー...
-
フィルタ後のフォームの件数の...
-
アクセス:フォーム入力で、最...
-
アクセスの自動保存解除はでき...
-
ACCESSフォームのリストボック...
-
AccessVBA RecordSourceのリセ...
-
レコードをダブルクリックする...
-
Access 「このレコードを保存す...
-
Access:フォームプロパティ「...
-
ACCESSでフォームを使って、テ...
-
Accessでフォーム上に 直前の...
-
ACCESS起動時に所定フォームを...
-
アクセス データの競合を非表...
-
Access サブフォームにフィルタ...
-
Accessでレコードの保存をせず...
-
Accessで上の行を自動でコピー...
-
Access レコード移動時イベント...
おすすめ情報