- 締切済み
Access「レコードが削除されました」のエラー
お世話になります。 あるデータベースを作成し、クエリで条件抽出しています。 そのクエリを実行しても、「レコードが削除されています」という エラーが出てしまうようになりました。 どうしてなのか、どうしたらいいのか教えていただけませんでしょうか。 テーブル3つをリレーションしています。 テーブルAは、テーブルBとCにつながっています。 クエリA:テーブルAのチェックボックスAでYesの人だけを選択し、 それに連動するテーブルAのデータを選択したいと思っています。 カテゴリーごとに抽出できるようパラメータをいれ、 抽出条件に「yes」を入れてあるのですが、 実行するとエラーになります。 同じ条件で作成しているクエリBは、同様にテーブルBの チェックボックスBのYesの人だけを選択するようにしているのですが、 実行しても問題がありません。 同じ設定をしている2つのクエリなので、 あとは元のテーブルデータがおかしいのかと思っているのですが 情報はちゃんと入力されています。 情報の閲覧が出来ないので非常に困っています。 復活するときもあるのですが、不安定です。 どうかチェックする部分を教えてください。 なぜこういうことが起きるのかも教えていただければと思います。 私は素人なので、VB等は組めません。 クエリ上で行ないたいのですが、 どうしたら宜しいでしょうか。 Access2000、複数人で入力しています。 宜しくお願い致します。
- aoitaiyo
- お礼率83% (67/80)
- オフィス系ソフト
- 回答数3
- ありがとう数3
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- nicotinism
- ベストアンサー率70% (1019/1452)
外している可能性が無限大ですが ○○8/19 等というフィールド名はまずいかと思います。 ○○8_19 としてみたらどうですか? / を /演算子と判断されているのかも? / を _ にしてその後で 新規MDBに全てインポートしてみたらどうでしょう。
- nicotinism
- ベストアンサー率70% (1019/1452)
付け加えるべきか迷ったのですが・・ Accessは元々個人ユース向けに作成されているので ファイル共有で使用するとかなりの確率で破壊します。 それを防ぐためには相当作りこむ必要があります。 または、データの競合が起こらないように適宜排他で開き 各使用者にある程度我慢してもらうとか。 100%入力だけでしたら、データMDBも分割して一日の終わりに 母体のMDBに追加クエリなどで統合させるとか。 http://www.naboki.net/access/achell/achell_01.html http://www.naboki.net/access/achell/achell_02.html
お礼
ありがとうございました。 とりあえず時間がないこともあったので、 新規にテーブルを作成しなおしました。 Accessは個人ユース向けなのですね。 セキュリティが甘い状態なので、 人数を減らす等の対策をしたいと思います。
補足
回答ありがとうございます。 クエリはパラメータを外してもまったく変化ありません。 問題になっているテーブル名は、「GGR」というテーブルです。 下記、SQLを貼り付けてみますので もしよろしければ見ていただければと思います。 私が普段、SQLを見ながらの設定をしておりませんので、 貼り付けたものの、中身のことはいまひとつ分かっていないのですが・・・。 こんな素人で申し訳ありません。 SELECT CD区分1.表示順序, CD区分2.表示順序, 個人情報.シリアルNo, 個人情報.区分1, 個人情報.区分2, 個人情報.氏名, 個人情報.所属団体1, 個人情報.役職1, GGR.招待可否, GGR.[観戦希望会場8/19], GGR.[座席レベル8/19], GGR.[同伴者有無8/19] FROM (CD区分2 INNER JOIN (CD区分1 INNER JOIN 個人情報 ON CD区分1.code_区分1 = 個人情報.区分1) ON CD区分2.code_区分2 = 個人情報.区分2) INNER JOIN GGR ON 個人情報.シリアルNo = GGR.シリアルNo WHERE (((GGR.招待可否)=Yes) AND ((GGR.[観戦希望会場8/19]) Like [Forms]![F選択パネル]![コンボ70] & '*')) ORDER BY CD区分1.表示順序, CD区分2.表示順序;
- nicotinism
- ベストアンサー率70% (1019/1452)
エラーメッセージは正確ですか? パラメータクエリをその抽出内容で通常の選択クエリにしても エラーが出ますか? 差し支えなければ実際のクエリ名とそのSQLビューを公開されては?
関連するQ&A
- Access チェックボックスを利用した絞込検索のクエリ記述
ここ数日、試行錯誤やgoogle検索したのですが、分からないためヒントを下さい。 Accessで、チェックボックス(Yes/No)を含むテーブルがあります。 検索フォームを作成し、ここにチェックを入れることで、テーブルから一致するデータを抽出したいです。 ただし、「Yes」のみが有意なデータで、「No」は無視したいです。 チェックA チェックB チェックC 1 Yes No No 2 Yes Yes No 3 Yes Yes Yes (得たい結果) チェックAをYesで検索…1,2,3 チェックA+BをYesで検索…1,2 チェックA+B+CをYesで検索…3 単に検索フォームのチェックボックスの値を「抽出条件」に入れますと、「No」まで一致するように抽出するので意図と違います。 チェックを入れなかった項目については無視して、クエリを働かせられればよいのですが...。 どのようにクエリを記述したらよいのでしょうか。 フォームにあるチェックボックスからのデータの取得や抽出結果のフォームへの表示などはできています。 よろしくお願いいたします。
- ベストアンサー
- その他MS Office製品
- 新規レコードから抽出されない。
アクセス2007で簡単な名簿を作成しています。 テーブルは1個 レコードの内容は、名前、郵便番号、住所1、住所2,会社名、会社郵便番号、会社住所1,会社住所2,入力日、個人・職場 となっています。 フォーム 入力と閲覧を兼ねたフォームを1個作成しています。 クエリー 選択クエリーを2個作っています。 【選択クエリー個人】はレコード「個人」を抽出条件を「個人」としています。 【選択クエリー職場】はレコード「職場」を抽出条件を「職場」としています。 クエリーでは、登録が個人か職場を選択出来るようにしています。 テーブルには、手元にあったエクセルのデータ(xlsx)を読み込ませました。 この時点では、【選択クエリー個人】【選択クエリー職場】どちらのクエリーでも希望通りのデータが抽出出来ました。 実際の運用を初めフォームから入力を始めた所、新規に入力したデータが【選択クエリー個人】【選択クエリー職場】個々のクエリーで抽出されない事に気がつきました。 確認した事 テーブルを確認した所、データは全てテーブルに入力されている。 テーブルで「個人・職場」の列でフィルタを掛けると、新規入力分が抽出されない。 なぜ抽出されないかを知りたい。 入力フォームにて 「個人・職場」の部分はコンボボックスにしています。 テーブルにて 入力フォームを利用せず、テーブルに直接データを入力してもフィルタで抽出されません。 対策 テーブルの内容をいったん全てを「テキスト」でエクスポートしました。 エクスポートしたデータには、フォームから入力したデータも含まれています。 テーブルをコピーして、貼り付けの際「テーブルの構造みの」として新規テーブルを作成。 新規作成したテーブルにエクスポートした「テキスト」データを読み込み。 エクスポートしたテーブルは削除し新規作成したテーブルを同じ名称に変更した。 上記対策を行った後フォームから新規データ入力後、テーブルのフィルタで抽出されるようになり、クエリーで抽出されるようになりました。旧テーブルの時に入力したデータも抽出されます。 アクセスにデータをインポートする際にエクセルのデータとテキストでは違い有るのでしょうか。 上記の対策を行いましたが、この状態で運用して問題ないでしょうか。 同じような経験された方がおればアドバイス頂ければ嬉しく思います。
- ベストアンサー
- オフィス系ソフト
- ACCESS2007 クエリの抽出条件について教えてください
ACCESS2007で、ルックアップ列(コンボボックス)を使用したテーブルがあります。そのテーブルをクエリにて、コンボボックスの条件別に抽出させたいのですが、その抽出条件を教えていただけませんでしょうか。 コンボボックスリストの中身(A,B,C) A→Aのみ抽出したクエリ B→Bのみ抽出したクエリ C→Cのみ抽出したクエリ という風に作成したいのですが。 お忙しいところ申し訳ありません。よろしくお願いします。
- 締切済み
- オフィス系ソフト
- チェックボックスでレコードの全選択
ACCESS2000をWin98で使用しています。 今回、とてもややこしいのですが・・・ マスタテーブルAのワークスペーステーブルBを作成しました。レコードの抽出はマスタAからクエリでワークスペースBに出しています。 フォームのサブフォームには、ワークスペースBをリストで表示しています。 そのリストにチェックボックスがあるのですが、そのチェックボックスをボタン1つで全選択・解除を行いたいと思っています。 現在は「チェック」フィールドがありません。というエラーがでています。 何がやり方を教えていただけないでしょうか?
- ベストアンサー
- その他(データベース)
- Access97 → Access2002
最近会社でAccess97からAccess2002へ乗り換えた(パソコンもOSも変更)のですが、ファイルを変換(2000形式に)してから、不具合がおきています。 あるデータベースからデータを抽出する作業なのですが、 [A]・[B]二つのテーブルからテーブル[C]を作成する[テーブル作成クエリ]があり、これで作成した[C]をもとにクエリ[D]を実行し、Excelに[D]をエクスポートするという形になっています。 [テーブル作成クエリ]を手動で実行すると正常にテーブルが作成されるのですが、 マクロで実行するとうまくいきません。 マクロは メッセージの設定 ・・・いいえ クエリを開く ・・・テーブル作成クエリを実行 ワークシート変換 ・・・[D]をExcelのワークシートにエクスポート メッセージボックス・・・"Excelへの書き出しを終了しました" となっています。 具体的には、テーブル作成クエリを実行するときには、 集計開始日と終了日をパラメータとして入力する必要があり、 作成されたテーブル[C]には入力した開始日と終了日が書き込まれます。 [D]のクエリを実行する際には[C]の開始日と終了日が抽出条件となります。 手動で[テーブル作成クエリ]を実行したときには [C]に開始日と終了日が書き込まれているのですが、 マクロで実行したときには、[C]にこの開始日と終了日が書き込まれないため、 結果的にフィールド名だけが入力されたデータの全くないExcelファイルが作成されます。 ちなみにマクロで実行する場合は、あらかじめ日付範囲を入力するフォームに開始日と終了日を入力してから実行します。 長々と書いてしまいましたが、これでおわかりいただけるでしょうか? わかりにくければまた補足いたしますので、 マクロで実行したときに正常に動作するようにするにはどうすればいいのか なにか解決策がありましたら教えてください。
- 締切済み
- オフィス系ソフト
- 「#エラー」を含んでいても、並べ替えができるようになりたい。
テーブル1 A-a B-b テーブル2 A-a C-c クエリ1 SELECT Replace(テーブル1![1],"-","") AS 1 FROM テーブル1; クエリ2 SELECT Replace(テーブル2![2],"-","") AS 2 FROM テーブル2; クエリ3 SELECT クエリ1.[1], クエリ2.[2] FROM クエリ2 RIGHT JOIN クエリ1 ON クエリ2.[2] = クエリ1.[1]; ****************************************************************** 各テーブルのクエリを作成し、Replace関数で置換して、 その置換後の各クエリを、さらにクエリを作成して結合しています。 その時に、 テーブル1にはあるのにテーブル2にない値が 「#エラー」となるのですが、 この状態でも並べ替えを出来るようにするにはどうすればいいでしょうか? 他の値にデータ型を変えるのでしょうか? 「#エラー」があるフィールドは並べ替えも出来ないですし、 デザインビューの抽出条件で 「Not Like "#エラー"」 としても 「抽出条件でデータ型が一致しません。」 というエラーになり、データシートビューで表示できません。 アドバイス宜しくお願い致します。
- ベストアンサー
- オフィス系ソフト
- Accessの削除クエリで「クエリが複雑すぎて実行できません」
困っています。どなたかご存知の方がいらっしゃいましたらお願いしますm_ _m (1)Aクエリ(選択クエリ)とBテーブルを削除クエリでつなぐ(結合プロパティはAクエリ全件から→B) (2) (1)の削除クエリは、 B全件から(From B*) Bのフィールド40列ぐらい(数値列)を落とし、 (Where 条件「0」←数値ゼロをいれる) (3)削除クエリを実行すると、「複雑すぎて実行できません。」というエラーメッセージがでてきて実行できません。何か駄目なのでしょうか? やりたいことは、 Bテーブルを、 Aクエリにあるレコードは抽出し、のちフィールドの値が0のものは削除したいのです。 よろしくお願いします。
- 締切済み
- オフィス系ソフト
- Accessのリストボックスを使って抽出
抽出用のフォームを作成しているのですが、その中にリストボックスがあり、何も選択しなかった場合は、すべての項目が表示される様にしたいと思っております。自分なりに色々と調べたのですが、どうしても希望の動作になりません。どの様にすれば良いのか教えて頂けないでしょうか? Access2003を使用しております。 Form-A(メインフォーム名)←テーブルAを元に作成(項目名同じ) 番号(主キー)、氏名、性別、A1、A2・・・ A1、A2は、する・しないのどちらかを入力。 Form-B(サブフォーム名)←テーブルBを元に作成(項目名同じ) ID(主キー)、番号、担当、訪問日、次回訪問日、期間 担当は、値集合タイプ:テーブル/クエリ、値集合ソース:テーブルあ(フィールドは担当のみ)5名程の名前を登録しし、リストボックスにて選択できる様にしています。 現在、下記の様な抽出用のフォームがあります。 Form-抽出(抽出用フォーム名) A1(チェックボックス) A2(チェックボックス) 担当(リストボックス:値集合タイプ:テーブル/クエリ、値集合ソース:テーブルあを設定) [OK]ボタンを押すと抽出(クエリQにて条件を設定)する様にしています。 クエリQ(テーブルA、テーブルBを元に作成) 番号(主キー)、氏名、性別、A1、A2、ID(主キー)、番号、担当、訪問日、次回訪問日、期間 現在設定しているのは、 A1の抽出条件:IIf([forms]![Form-抽出]![A1]=True,True,False) A2の抽出条件:IIf([forms]![Form-抽出]![A2]=True,True,False) 担当の抽出条件:[Forms]![Form-抽出]![担当リストボックス] 訪問日の抽出条件(複数情報がある為、最近の訪問日のデータのみ対象となる様にしています。):DMax("訪問日","テーブルB","[テーブルB]![番号] ='" & [テーブルB]![番号] & "' And 訪問日 <Date()") 今の設定ですと、担当を選択しなかった場合、何も抽出されてきません。 これを、すべて表示出来る様にしたいのが希望です。 Access初心者の為、説明がわかりづらかったり情報が足りないかもしれませんが、すぐに補足致しますので、どうぞよろしくお願い致します。
- ベストアンサー
- オフィス系ソフト
- Accessのクエリでレコード追加
Access初心者です。 バージョンは2010をつかっています。 テーブルを14テーブル含み、フィールド数が100ほどある選択クエリを作りました。 抽出条件などは設定していません。 このクエリで新しくデータを入力、レコードを追加し、上書き保存した後クエリを閉じます。 それからまた、そのクエリを開くとレコードが追加されていません。 テーブルにはその入力したデータは追加されています。 このクエリにもそのデータを追加表示させるためにはどうすればいいですか? 表示されない原因はなんなのかお教えお願いします。
- ベストアンサー
- その他MS Office製品
- Access2000のサブフォームで…
今、サブフォームにデータを入力する時に、コンボボックスを使ってリストから入力させたいと思っています。 それで、サブフォームにコンボAとコンボBを作成しました。コンボAで選択した項目を条件として、コンボBのリストとして使用する値を抽出したいのです。 コンボAの更新後処理でコンボBを再クエリさせるVBAを組んでみたのですが、エラーメッセージが出て実行されません。 サブフォームを単独で表示させている時にはこのVBAが実行されるのに、親フォーム内のサブフォーム上では動かなくなってしまうんです。 どのたか、解決策を教えてください。お願いします!!
- 締切済み
- オフィス系ソフト
お礼
回答ありがとうございました。 /をつけていても、これまでずっと見ることが出来て いたのですが、 とりあえず時間がないこともあったので、 新規にテーブルを作成しなおしました。