SendKeyで解決できないでしょうか?
こんにちは。どうぞ、よろしくお願いします。
テーブル作成のクエリに関することです。
コマンドボタンのクリック時のイベントに
テーブル作成クエリを指定しています。
其の場合、以下のような確認のダイアログボックスが出ますが、
これを出ないように、出来ないものでしょうか?
(2つのダイアログボックス共に、"Y"を押下します。)
テーブル作成クエリを実行すると、
新しくテーブルが作成されます。
**** 件のレコードが新規テーブルにコピーされます。
--------------
クリック時のイベントに付いてですが、
SendKeyを使ってみましたが、上手く行きませんでした。
SendKeyはアクティブウィンドウについて作用するとのことなので、
フォームを閉じて…、などを考えて、次のような感じでやりました。
DoCmd.Close acForm, "フォーム名"
DoCmd.DeleteObject acTable, "テーブル名"
DoCmd.OpenQuery "作成クエリ", acNormal, acEdit
SendKeys "y", True
SendKeys "y", True
DoCmd.OpenForm "フォーム名"
DoCmd.DeleteObjectは、
テーブルを削除していないと上書きするかどうかを聞いてくるので、
削除しておこうと思い書きました。SendKeyでは、可能に出来ないのでしょうか?
DoCmd.SetWarnings False も少し試しましたが、違うようですし。
それとも、簡単には解決できないようなことでしょうか。どうぞ、お願いします。
お礼
DoCmd.SetWarnings Trueがコマンドボタンのコードの一番下にあったのが悪かったみたいで、 クエリ実行のすぐ下に持ってきたらちゃんと動くようになりました。 位置が違うとそんなに動作が違うんでしょうか… でも無事に動くようになったのでよしとします。