質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Access

Accessはマイクロソフトによるリレーショナルデータベース管理システムです。オブジェクト指向のアプリケーション作成に対応しており、テーブルや編集をはじめ、クエリ生成、入力フォーム作成、レポート作成など一通りの機能を備えています。

Q&A

解決済

1回答

1500閲覧

AccessでQuerySQL変更後のForm画面の更新コマンド

ad.sys.soleil

総合スコア28

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Access

Accessはマイクロソフトによるリレーショナルデータベース管理システムです。オブジェクト指向のアプリケーション作成に対応しており、テーブルや編集をはじめ、クエリ生成、入力フォーム作成、レポート作成など一通りの機能を備えています。

0グッド

0クリップ

投稿2021/02/11 03:19

編集2021/02/11 04:29

下記手順でForm画面を表示させています。
その後にQueryTBLのSQL文を変更して、Form画面に反映させたいと思っています。
[画面更新]やForm.Requeryでは内容は反映されませんが、[A->Z並び替え]⇒[すべての並び替えをクリア]では反映されます。444レコードのみ表示する。
並び替えは必要ないので、これと同様な機能のコマンドを捜しています。
ご存じの方宜しくお願い致します。

(作成環境)
テーブル:TBL (項目名:LOTNO 値:111,222,333,444,555)
クエリ:QueryTBL (テーブルTBLより引く)
フォーム:Form1 (QueryTBLより一覧表示)
Access2007

(運用手順)
フォームを起動後に下記ソースにてSQL文を更新。画面を反映させたい!

VBA

1Set objQuery = CurrentDb.QueryDefs("QueryTBL") 2strSQL = CurrentDb.QueryDefs("QueryTBL").SQL 3strSQL = Replace(strSQL, ";", "") 4strSQL = strSQL & " WHERE LOTNO = 444;" 5objQuery.SQL = strSQL

p.s.並び替えのVBAなら反映される。

VBA

1Me.OrderBy = "LOTNO" 2Me.OrderByOn = True 3Me.OrderBy = "" 4Me.OrderByOn = False

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

やるとしたら下記でしょうか。

vba

1 Dim Src As String 2 Src = Me.RecordSource 3 Me.RecordSource = "" 4 Me.RecordSource = Src

抽出条件を設定したいなら、クエリを書き換えなくてもFilterプロパティを使えばいいと思いますが。
クエリを書き換えてしまうと、後で元に戻す必要があったり、すでにWhere句やOrder By句があったりすると面倒だと思いますが。

vba

1Me.Filter = "LOTNO = 444" 2Me.FilterOn = True

投稿2021/02/11 05:19

編集2021/02/11 05:22
hatena19

総合スコア34075

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ad.sys.soleil

2021/02/11 06:29

ご回答有難う御座います。 データ量が多く速度が心配だったので、Me.RecordSource = Srcを使って、丸ごと条件も入れたソースを入れ替えて運用する事にしました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問