- ベストアンサー
Requeryは保存もするのか?
クエリのデータを変更し、保存ボタンを押さずに DoCmd.Requery を実行するとデータ保存されているようですが Requery は保存もするのでしょうか? というのは いろいろなコート゛が書かれていて 保存はRequeryの所為なのか、 他のコート゛の所為なのか 正確に知ることが困難です。 よろしくお願い致します。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (1)
- tag1701
- ベストアンサー率54% (67/123)
関連するQ&A
- この場合どちらのクエリが実行されるのか?
クエリ1とクエリ2が開いている状態で DoCmd.Requery を実行した場合、 どちらが実行されるのでしょうか? 実験してみたのですがイマイチよくわからなかったです。
- ベストアンサー
- オフィス系ソフト
- アクセスのメインフォームのみRequeryしたい
アクセスでフォームを作製しています。 シンプルに「メインフォームの中にサブフォームがある」形で作製し各フォームにはクエリをレコードソースとして指定しています。検索したいデータのコードを入力してそのデータを表示させる・・・という一般的なフォームなのですが、メインフォームのみRequeryさせたいのですができますか? [Forms].[メインフォーム].requery とするとサブフォームまで再計算されてしまいますが、ここでサブフォームは再計算させないで、メインフォームだけ再計算させたいのです。宜しくお願いします。
- 締切済み
- オフィス系ソフト
- 実行時エラー2118
アクセス2010です。 アクセスVBAのコードで Forms("フォーム1").Controls("サブフォーム").Requery を実行しようとすると 実行時エラー2118 ”Requery/再クエリ”アクションを実行する前に、 カレントフィールドを保存する必要があります。 となります。 VBA実行中に、手作業でデータを修正した事により発生したエラーなのですが そもそもVBA実行中にデータをいじる事は可能なのでしょうか? 出来る時とできない時があります。 更に、上記のエラーが発生しているときは、 VBAが中断の状態で、 そのデータを保存することができません。 データの保存が出来ないと、コードが進まないのですが こういう時はどうすればいいのでしょうか? VBAを停止して、手作業で修正したデータを保存するしかないのでしょうか?
- 締切済み
- オフィス系ソフト
- Access レイアウト変更したサブフォーム内のクエリを保存しないようにするには?
OS:WindowsXP Access Version:Access2003 メインフォームにチェックボックスを配置、非連結のサブフォームにクエリを表示させています。 チェックボックスラベルにはクエリのフィールド名を表示させており、チェックボックスをオン/オフにすることでクエリのフィールドを表示/非表示に切り換えております。 ※切り替え方法はColumnWidthで操作しています。 ところで、表示/非表示と切り替え操作をしてメインフォームを閉じるコマンドボタンをクリックして閉じようとすると、 「”○○○(クエリ名)”のレイアウトが変更されています。保存しますか?」 という内容のメッセージが表示されてしまいます。 ここでレイアウトの変更は保存したくないのです。 そこで、私のした処置とは、 (1)メインフォームを閉じるコマンドボタンに DoCmd.Close acForm "○○○(フォーム名)" DoCmd.Close acQuery "○○○(クエリ名)",acSaveNo と記述しました。 acSaveNoのヘルプを見ると、 メッセージを表示せずに保存しないで閉じる、 とあったのですがこれでもメッセージが表示されてしまいました。 そこで、 (2) DoCmd.SetWarning False DoCmd.Close acForm "○○○(フォーム名)" DoCmd.Close acQuery "○○○(クエリ名)",acSaveNo DoCmd.SetWarninf True と記述したところ、メッセージを表示させなくすることには成功したのですが、無条件でレイアウトしたクエリが保存されてしまいました。 どのように記述すればメッセージを表示させず、かつレイアウト変更したクエリを保存せずに閉じることができますか? 初心者のため、誤字脱字があると思いますがすみません。 丁寧に教えていただければ幸いです。よろしくお願いいたします。
- ベストアンサー
- その他(データベース)
- 実行時エラー’2118’
アクセスvbaで いつも問題なく動いているコードなのですが 「実行時エラー’2118’ ”Requery/再クエリ”アクションを実行する前に、カレントフィールドを保存する必要があります。」 というエラーが出ます。 エラーが発生するコードは Forms("フォーム1").Controls("SF").Requery です。 中断中のvbe画面でctrl+sで保存をしてみたのですが 変わりません。
- ベストアンサー
- オフィス系ソフト
- アクセス2000でVBAを使ってクエリを実行したいのです
Access2000でVBAを使っています。 Docmdでクエリを実行させたいのですが、 DoCmd.OpenQuery stDocName1, acNormal, acHidden とするとクエリの実行結果が表示されます。 クエリだけ実行されて実行結果を非表示にする方法は ありますでしょうか? Form1のコマンドボタンを押下後、クエリが実行されて 別のFormにデータ表示させたいので、なるべくクエリの実行結果を表示させたくないのです。 よろしくお願いいたします
- ベストアンサー
- オフィス系ソフト
- Accessでのデータ更新のキャンセルと再クエリについて。
初心者で申し訳ありません。 (1)Accessで、フォームを作り簡単なデータを管理しています。そこで、入力フォームを開き、データを追加し ているときにキャンセルをしたいと思った場合はどの ようなイベントを記述すればよろしいでしょうか。 (入力したデータを更新したくない) docmd.cancel..を記述しても、結局テーブルに追加 されてしまっているのですが・・・。 (2) ★docmd.requery "○○○" ★Forms![フォーム名].requery ・・・上記のような再クエリの方法を目にしてるのですが、上と下の違いはあるのでしょうか?この場合はこう・・・とかあるのでしょうか? よきアドバイスお願いいたします。
- ベストアンサー
- オフィス系ソフト
- Access VBA Me.Requery レコードは削除されています エラー
Me.Requery すると「レコードは削除されています」エラー 予約テーブル → 確定テーブルにデータ移し、予約テーブルのレコードは削除 という処理をしています。 予約詳細というクエリを作り、フォームで開きました。 [確定]ボタンを設置し、フォームの値を確定テーブルに追加できるようにしました。 確定済みの予約レコードは、削除します。 ここまでは成功したのですが、フォームには、確定済みの予約レコードが表示されたままです。 Me.Requery というコードを追加しましたが、エラーになります。 「レコードは削除されています」エラーです。 単純に[削除]ボタンで1レコード削除した後、 Me.Requery した場合には、問題なく、きれいに再表示されます。 -------------------------------- Private Sub 削除ボタン_Click() Dim ADOcmd As ADODB.Command Set ADOcmd = New ADODB.Command ADOcmd.ActiveConnection = CurrentProject.Connection ADOcmd.CommandText = "Delete from 予約 where 予約ID=" & me.予約ID ADOcmd.Execute Set ADOcmd = Nothing Me.Requery ' <<<< これは成功します。gannersさん感謝<(_ _)> End Sub -------------------------------- 途中で何かのプロパティが変化しているからでしょうか? 解決方法わかる方いらっしゃいますか?
- 締切済み
- その他(データベース)
- Accessのフォームについて
データ1、データ2というテーブルがあり データ2の中身を データ1に追加するという 「追加クエリ」を作りました。 それで、この「追加クエリ」を フォームのボタンをクリックしたときに実行させるようにしたいのですが どのようにすればいいのでしょうか。 (ボタンクリックで作成した「追加クエリ」自体を実行させることができるのか、 それとも追加クエリと同じ動作をさせるコードを記述して更新するようにしないとダメなのか) Accessを始めたばかりであまり詳しくないので 申し訳ないのですが ボタンクリックで作成した「追加クエリ」を実行出きるというのであれば(前者) コードとその説明を簡単でいいので 教えていただけないでしょうか。 よろしくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- Access のクエリの一時保存
Access でテーブルから様々な処理をしてクエリを作成しているのですけれども、 クエリが終了するまで時間がかかってしまいます。 普段、そのクエリに対して、データの取得等をすることが多いので、 毎回、クエリが実行されるのは非効率です。 もともとテーブル自体、それほど更新するわけではないので、 クエリを行った結果をどこかに保存しておいて、テーブルが変更されたときのみ、 クエリが実行されるというようなことは、Access ではできないのでしょうか? また、ほかの DB では、そのような機能があるものなのでしょうか? あまりデータベースに対して詳しくないので、教えていただければと存じます。
- ベストアンサー
- その他(データベース)
お礼
「Dirty」プロパティ試してみます。 ご丁寧な解説有難うございました。