• ベストアンサー

AccessのDAO.ExecuteとDoCmd.RunSqlの違いについて

temtecomai2の回答

回答No.3

> > 非同期であれば実行したクエリの内容が完結しないうちに次の SQL を実行しようとする > 結果どのような問題が発生するのでしょうか? 実行した SQL が実際に DB エンジン側で処理完了する前に、プログラムの次のステップがすぐに実行されるとか。

関連するQ&A

  • 「RunSQL」と「Execute」の違い

    アクセスvbaについて 更新クエリを実行するとき DoCmd.RunSQL strSQL cn.Execute strSQL の違いは、 アクションクエリの確認のメッセージボックスを表示するかしないかの違いだけですか? (Executeは確認画面が表示されない)

  • AccessのDoCmd.ApplyFilterの使い方をおしえてください。

    社内で素人アプリケーション開発担当を買って出ているばか者です。 どうかこの私を助けてください。 商品マスターのようなものをサブフォームにして作っております。 メインフォームのコンボボックスの更新後処理イベントプロシージャに、そのサブフォームへDoCmd.ApplyFilterを実行させようとしてもうまく行きません。 「実行時エラー”2491”フォームがテーブルまたはクエリーを元に作成されていないので、このアクションは向こうです。」となってしまいます。ツールバーの選択フィルター使うとできるのですがイベントプロシージャでは不可能なのでしょうか。ご指導の程宜しくお願い致します。

  • ACCESS コマンドボタンが使えない・・・

    フォームに配置したコマンドボタンが「現在このアクションを実行できません」のメッセージが出て使えなくなります。 マクロを割り当てて作ったコマンドボタンも同様で、「他の作業を実行しているためにこのアクションを実行できません・・」とメッセージが出ます。 最初、フォームを開いたときは問題なく使用できます。フォーム上のコンボボックスに入る値を、クエリから拾っているのですが、その値を別フォームで新規登録しようとするときに発生するみたいです。 他の作業を実行中とありますが、何を実行中で止まってしまうのか、調べる方法はないでしょうか? 良いお知恵をお貸し下さい。お願いいたします。

  • アクセスについて困っています。

    アクセス超初心者です。 フォーム上での期間検索(3/21~4/01)についてですが、 フォーム上でマクロを使い再クエリさせて実行させて行く方法が良いのか、 VBAを使いフィルタをかけて抽出していく方法が良いのか良くわかりません。 どなたか、この違いについて教えていただけませんか?

  • ACCESS クエリの抽出条件

    毎度お世話になります。 クエリをレコードソースとするフォームから、コマンドボタンでアクションクエリを実行するときの抽出条件の書き方を教えて頂けないでしょうか? 二つのテーブル(別のACCESSファイルからリンク)を基にパラメータクエリを作っています。 そのクエリを基にフォームを作っています。 さらに、そのフォームに追加クエリを実行するボタンを置いています。 フォームに表示してあるレコードだけ(パラメータで抽出されたレコードだけ)、他のテーブルに追加しようと思っているのですが、実行ボタンを押すともう一度パラメータが出てきてしまいます。 多分テキストボックスの値を読み取る際にレコードソースがテーブルでないのが問題じゃないかと思うのですが。。。 テーブル:Container / Items クエリ:From_Con(パラメータは[Container]フィールド) フォーム:From_Con(テキストボックス名は[txtContainer]) 追加クエリ:From_Con_App(抽出条件は[Forms]![From_Con]![txtContainer]としてみたがうまく動きません。) デザインビューの抽出条件を使う方法? SQLを使う方法? QueryDefを使う方法? いろいろありそうですが、ネットで検索してもヒットしません。 分かりにくい説明で申し訳ありませんがご教授願います。

  • 「yes」なら実行させて「no」なら実行させない仕組みをAccessのマクロで作れますか?

    以前にも似たようなご質問をしましたが、回答して頂いた内容が私では解らなかったので再度させて頂きます。 “クエリ”を実行させる前に『「本当に実行しますか?」とメッセージを表示させて、「yes」なら実行させて「no」なら実行させない』という仕組みを「マクロ」で作れないのでしょうか? 私が作成した方法は マクロの 1行目 「アクション」のとこで「メッセージボックス」を選択し、アクションの引数「メッセージ」の箇所に「本当に実行しますか?」と入力。 2行目 「アクション」のとこで「クエリを開く」を選択し、アクションの引数「クエリ名」の箇所に「●●クエリ(任意のクエリ)」と入力。 そして保存します。 そのマクロを実行させても「本当に実行しますか?」のメッセージが出て、「OK」のボタンしか表示されないんです。 (当たり前なのかもしれませんが…) そしてその「OK」をESCキーで回避してもクエリが実行されてしまいます。 (当たり前なのかもしれませんが…) 上記の知識しかありません。どなたか柔らかくご説明して頂けないでしょうか?よろしくお願い致します。

  • アクセスのクエリでコンパイルエラーが出ます。

    出るエラーメッセージは 『クエリ式:'Mid([T_住所]![集計],1,2)'のコンパイルエラーが発生しました。』 クエリに書いた式は、フィールドの欄に、 『県コード:Mid([T_住所]![集計],1,2)』 です。 さて、いろいろやってみると、式、自体には、誤りはないようです 新しく、MDBファイルを作り、そこに問題のクエリと 実行に必要なテーブル関係を、外部ファイルの取り込みでインポートして 実行すると、エラーなく実行されます。 すると、MDBファイルの環境に類する違いによるもの ではないか、と想像するのですが、・・・ よろしくおねがいします。 尚、WinXP/ACCESS 2003

  • Access2007のセキュリティ

    Access 2007でテーブル作成クエリを実行すると 「無効モードのため、アクションまたはイベントはブロックされました」というメッセージが出てしまい先に進めません。どうすれば良いか教えてください。

  • Access97 → Access2002

    最近会社でAccess97からAccess2002へ乗り換えた(パソコンもOSも変更)のですが、ファイルを変換(2000形式に)してから、不具合がおきています。 あるデータベースからデータを抽出する作業なのですが、 [A]・[B]二つのテーブルからテーブル[C]を作成する[テーブル作成クエリ]があり、これで作成した[C]をもとにクエリ[D]を実行し、Excelに[D]をエクスポートするという形になっています。 [テーブル作成クエリ]を手動で実行すると正常にテーブルが作成されるのですが、 マクロで実行するとうまくいきません。 マクロは メッセージの設定 ・・・いいえ クエリを開く   ・・・テーブル作成クエリを実行 ワークシート変換 ・・・[D]をExcelのワークシートにエクスポート メッセージボックス・・・"Excelへの書き出しを終了しました" となっています。 具体的には、テーブル作成クエリを実行するときには、 集計開始日と終了日をパラメータとして入力する必要があり、 作成されたテーブル[C]には入力した開始日と終了日が書き込まれます。 [D]のクエリを実行する際には[C]の開始日と終了日が抽出条件となります。 手動で[テーブル作成クエリ]を実行したときには [C]に開始日と終了日が書き込まれているのですが、 マクロで実行したときには、[C]にこの開始日と終了日が書き込まれないため、 結果的にフィールド名だけが入力されたデータの全くないExcelファイルが作成されます。 ちなみにマクロで実行する場合は、あらかじめ日付範囲を入力するフォームに開始日と終了日を入力してから実行します。 長々と書いてしまいましたが、これでおわかりいただけるでしょうか? わかりにくければまた補足いたしますので、 マクロで実行したときに正常に動作するようにするにはどうすればいいのか なにか解決策がありましたら教えてください。

  • アクセスのマクロでの再検索

    ACCESSで住所録を作っています。 入力のためにフォームを作成し、そのフォーム上にボタン「検索」「すべて表示」を作りたいと思っています。 マクロ  1.「検索」はアクションを「フィルタの実行」、フィルタは別にクエリで作成し、別に用意したテキストボックスに文字を入れてボタンを押すことによって検索できるように設定しました。  2.「すべて表示」は1つめのアクションが「全レコードの表示」、2つめのアクションが、検索文字を入れるテキストボックスへの「値の代入」で「""」を指定しました。 これでやってみたのですが、1回目の「検索」はうまく働くのですが、「すべて表示」して、2回目以降「検索」ボタンを押しても、1回目と同じ結果しか出てきません。 この2つのボタンが正しく働き、再検索ができるようにするにはどうすればよいのでしょうか? モジュールを作成するのでしょうか? ぜひご指導をお願いいたします!