• 締切済み

ACCESS2000のフォームからの入力でデータが上書きされる

書類の受付簿を作成しました。 ユーザー1件ごとに受付日を入れると 規則性無く、時々入力したはずの日付が 前のレコードに書き込まれてしまいます。 内容としては【テーブル】 ユーザーテーブル(約2000件) 受付簿テーブル(3種類をそれぞれmm/ddで) ユーザーでは無くなった退会テーブル(Yes/No) 3つのテーブルで管理しています。 【クエリー】 日付入力をするためにクエリーを1つ作成 しました。上記3つのテーブルの合体させたもの。 それぞれのテーブルはユーザーIDでリレーションし ました。 【フォーム1】→これで入力するとおかしくなる ユーザーIDで検索し、ユーザー名が表示されたら 3項目ある受付枠に日付を入力する画面 フォームビューで作成 【フォーム2】 同じクエリーをデータシートビューで表示させ 検索機能なしで、直接ユーザーIDの該当枠に入力 する画面 を作成しました。フォームビューで作成したフォーム 1で入力したときに、どういう規則性があるか まったく判らないのですが、1件前のユーザーIDに セットされ、入力したはずの部分は空欄になって しまいます。 また、この現象に関連するのでしょうが、すでに入力 されていた日付が、消えてしまう現象もおきます。 何が原因でこのような現象になっているか、まったく 検討がつきません。どこら辺を、チェックしたら 良いか、回答をお待ちしています。

  • senho
  • お礼率47% (10/21)

みんなの回答

noname#182251
noname#182251
回答No.3

#1です。ご呈示いただいたクエリーは確認できました。いぜんとしてトラブルの原因はわかりませんが、 ・フォーム1→トラブル ・フォーム2→正常 ・クエリーは同一 からするとフォーム1が何か余計なことをやっているとしか考えられません。その内容ですが ひょっとして ユーザー一覧のユーザー番号 または 受付簿のユーザー番号 が書き換えられている可能性はないでしょうか?検証方法としては ユーザー一覧と受付簿 のコピーを作成し、トラブル発生後に書き換えが発生していないか比較しては如何でしょう。

  • O_cyan
  • ベストアンサー率59% (745/1260)
回答No.2

フォーム1とフォーム2は同じクエリを使っていてフォーム1のみおかしいという事ですよね。 フォーム1はユーザーIDで検索して入力というのであれば一番怪しいのは検索の仕方だと思います。しかしユーザーIDでリレーションするさい不整合等のエラーが出ないのであれば正しく入力されるはずなのですが。 フォーム1のヘッダにコンボボックスを作りユーザーテーブルのユーザーIDを表示するようにしてそのコンボボックスで指定された値をフォーム上に検索し表示して入力するように変更してみてはいかがですか。 そのくらいしか質問内容からは判断できません。

senho
質問者

補足

実は、検索方法はご指摘いただいた方法で 行っておりまして、検索後ユーザー名と ユーザーIDは、上書きできないようにロックを かけていて、日付入力しかできないように しています。 検索結果では、該当するID、名称、過去に入力した 日付が表示されていますが、今回の現象は 入力の有無にかかわらず発生しています。 例えば入力時に、日付を10/12と入れていますが これが全角・半角、もしくは桁数などの 制御が関係しているのか(10/1とか) わかりません。。。

noname#182251
noname#182251
回答No.1

面白い現象ですが【クエリー】の具体的SQL文を提示しないと、回答が出にくいと思います。 クエリーのデザインで、SQLビューにして得られたものを補足として貼り付けできないでしょうか?

senho
質問者

補足

クエリーのSQLビューは、こんな感じです。 これがすべてです。 SELECT ユーザー一覧.ユーザー番号, ユーザー一覧.ユーザー名, 受付簿.用紙1受付日, 受付簿.用紙2受付日, 受付簿.用紙2の項目, 受付簿.用紙2の備考, 受付簿.用紙3受付日, 受付簿.用紙3受付日, 退会.退会, 受付簿.備考 FROM (ユーザー一覧 LEFT JOIN 受付簿 ON ユーザー一覧.ユーザー番号 = 受付簿.ユーザー番号) LEFT JOIN 退会 ON ユーザー一覧.ユーザー番号 = 退会.ユーザー番号;

関連するQ&A

  • ACCESS フォームで入力データを残したいです。

    いつもお世話になっております。 今回はACCESSについてご指導お願い致します。 テーブルからフォームを作成したのですが、テキストボックスで1件目の入力データの内容を2件目入力するときに、そのまま残しておきたいのです。 テキストボックスには日付や品番など入力していくのですが、同じ場合は入力を省きたいと思っています。難しいでしょうか・・? 最近ACCESSの勉強をはじめたところなので、用語などもほとんどわかりません。 宜しくお願い致します。

  • Access2016 フォームに入力したデータ

    こんにちは。よろしくお願いします。 Access2016で本をみながらどうにかフォームまで作成しました。 フォームにデータを入力し あとでテーブル確認すると内容が一部反映していないのは どこが悪いのでしょうか? クエリで確認すると反映されています。 フォームの作り方が悪いのか、リレーが悪いのか 例えば、フォーム内で 担当者コード 100と入力したら 自動でフォーム内に 山田と入っています。 でもテーブルで確認すると 100だけあって 山田はありません。 クエリで確認すると 100も山田も反映されています。 素人なので変な質問になっているかもしれません。 上記内容の改善策を教えて下さる方いらっしゃいましたら よろしくお願い致します。

  • access フォームで情報表示かつ、データ入力業務について

     accessのフォームでデータ入力業務の場合について。  作成者が退職しており、システムにどうしても理解できない所があり、ご教授願います。  現状、お客様の情報表示(社名、住所等)かつ、お客様に関する調査結果のデータ入力を1つのフォームで表示させています。サブフォームは使用しておりません。  疑問点は、IDをテキストボックスに手入力し、エンターキーを押すと、お客様情報が表示されるという仕組みです。検索ボタン等はありません。それらしき記述もありません。 テーブル1・・・ID、お客様情報  テーブル2・・・ID、調査結果 テーブル3・・・上記全情報の保存用テーブル 選択クエリ・・・テーブル1+テーブル2(IDで結合)(IDは、テーブル2のものを使用) フォーム・・・クエリを基にしたもの。 ・テーブル1は完全にユニークなデータです。 ・テーブル2は調査結果の保存テーブルではなく、「サブフォームを使う事無く、既知の情報表示とデータ入力を1つのフォームで表示できる」ようにする為の、言わば「ダミー」のようなテーブルと思われます。テーブル2に事前に情報入力はしません(フォームで入力する事になります)。またテーブル2を後々参照する事もありません。 ・テーブル3は最終的な保存先です。フォームにはその為の保存ボタンがあります。その際にはADOを使っているようです。(ここらへんは今の私の知識の限界です。)  例えば新規IDをテーブル1に作成します。テーブル1にはデータはありますが、テーブル2にはまだ存在しない状態です。この時点で、その新規IDを抽出条件に、このクエリを実行すると、1行だけ抽出されます。普通に考えれば「抽出結果は0件」ではないかと思うのですが・・・。  新たにシステムを構築する為、この仕組みがどうしても必要なのです。  お願いします。

  • アクセスのフォームで入力ができない

    Accessの操作が出来る程度なのに、頑張って「社員台帳」たるものを作成し始めました。 テーブルに ・社員基本データ ・公的資格・学歴データ ・略歴・賃金データ を作成し、社員IDをキーにその3つのデータでクエリーとフォームを作成しました。 テーブルの各データではデータの編集及び追加が可能なのですが、フォーム画面で入力が出来ません。 説明不足かもしれませんが、どなたか教えてください。 宜しくお願いいたします。

  • ACCESS フォームからサブフォームのデータを更新・入力したい

    ACCESS フォームからサブフォームのデータを更新・入力したい tbl_プロジェクトというテーブルにIDとプロジェクトコード、プロジェクトの基本情報を持たせ、f_プロジェクトフォームからプロジェクトコード、件名、契約日等のデータ及び、f_テーマサブフォームにテーマを入力できるようなフォームを作成しています。フォームで入力したものをそれぞれのテーブルに保存したいのですがうまくいかない部分があります。 フォームから入力すると、tbl_プロジェクトに所属する情報は更新されます。そのtbl_プロジェクトに所属するプロジェクトコードをサブフォームのtbl_テーマのプロジェクトコードにも反映したいのですがどのようにしたらよいでしょうか? そういったことは可能でしょうか?分かりにくい説明で申し訳ないですが教えていただけると助かります。よろしくお願いします! DBの構成 【テーブル】 tbl_プロジェクト (1件1件のIDとプロジェクトコードを持つ) (フィールド:P_ID、プロジェクトコード、件名、契約日など) tbl_テーマ(プロジェクト毎に関連のあるキーワードを持つ) (フィールド:P_ID、プロジェクトコード、テーマ)←これのプロジェクトコードにtbl_プロジェクトのデータが入るようにしたい。 tbl_顧客(プロジェクトを依頼した顧客情報を持つ) 【クエリ】 q_テーマ(プロジェクト、テーマ、顧客を抽出するクエリ) 【フォーム】 f_プロジェクト (プロジェクトを1件ずつ表示・参照・新規作成するフォーム) f_テーマサブフォーム (f_プロジェクトフォームのプロジェクトコードにづきテーマを          表示・入力するサブフォーム) リレーションはP_IDをキーに一対多で作成しています。

  • フォームから複数のデータを抽出

    作業が進まず困っております。どうかお力をお貸し頂ければ幸いです。 数字のみが羅列されているものが2種類あります。(ID(1)・ID(2)とします) ID(1)は重複されていないデータです。 ID(2)は重複されているデータです。 テーブルに下記のように並んでいます。 ID(1)   ID(2) 123444  987654 123456  987654 123465  986431 このID(2)を元に、ID(1)のみが表示される新たなテーブルを作成します。 問題は、ID(1)の全データを新なテーブルに表示されるのではなく、ID(2)の中から1件~複数件抽出した状態で表示させる事です。 クエリで、1件のみならばテーブル作成が出来たのですが、仕事の内容としては不十分で使えません。(パラメータで入力出来る様にしました) ID(2)がそのつど何件出るか分からない為です。 自分だけが作業を行うならば、クエリでID(2)を入れれば問題ないのですが、 複数の人間がこのAccessを利用してID(1)のデータ抽出を行う予定です。 上司から、ID(2)を1件から複数件入力して、テーブルが作成出来るように作るように指示されています。 そこで、フォームを作成し、ID(2)を入れられるテキストボックスを複数作成し、 クエリにID(1)を表示させ、隣に下記の式をテキストボックスの数だけフィールドに入力しました。 式 IIf(IsNull([Forms]![フォーム 1]![ID(2)条件1]) , True,[ID(1)]=[Forms]![フォーム 1]![ID(2)条件1]) ※テキストボックスの数だけ「ID(2)条件」の最後の数字を増やしました。 しかし、表示されるのは1つのIDのみで、複数件表示させる事が出来ませんでした。 同じフィールドでは表示させる事は出来ないのでしょうか? 長くなってしまいましたが、宜しくお願い致します。

  • ACCESS フォームで入力した日付をクエリで読み

    ACCESS フォームで入力した日付をクエリで読み替えたい ACCESS フォームで入力した日付をクエリで使用しているテーブルの書式に変換したい フォーム テキスト名:日付にyyyymmdd で入力します クエリ テキスト名:日付はパラメータとして使用しています クエリ内で使用しているテーブルの日付書式は 日付:yyyy/mm/ddです パラメータは 「日付始」と「日付終」の2箇所のテキストに入力されたデータを使用しています。以下がパラメータです。 Between [Forms]![フォーム]![日付始] and [Forms]![フォーム]![日付終] フォームのテキストボックスにyyyymmddと入力してもクエリでエラーが出ることない パラメータを日付に設定したいのですがどうしたらよいでしょうか? ちなみに、以下の式を入れたらエラーです。 Between CDate(Format([Forms]![フォーム]![日付始],"yyyy/mm/dd")) and CDate(Format([Forms]![フォーム]![日付始],"yyyy/mm/dd")) と入力しましたところ、、、、「式が複雑すぎるか、、、」のエラーメッセージが出てしまいました。 どなたか助けてください。お願い致します。

  • Accessでフォームとレポートの新規作成ができない

    Access2003でテーブルとクエリを作成し、フォームを作ろうと思ったら、新規作成を含むフォームのメニューが全てグレーになっていて、新規作成することができません。 また、デーブルはクエリの画面には「デザインビューでテーブルを作成する」等の言葉が入っていますが、フォームには何も入っていません。 フォームの新規作成をするにはどうしたらよいのか教えて下さい。よろしくおねがいします。

  • アクセスのフォームについて

    アクセスのフォームについて2件質問させてください。 その1 クエリーからあるフォームを作っていますが、元になるクエリー(テーブルにも)には項目がなく、ただそのフォームに表示されればいいというデータをそのフォーム上で入力したいのです。 そこで非連結でテキストボックスを作ったのですが、1ヶ所に入力するとどのページにも同じデータが表示されています。 それぞれのページに違うデータをフォームから直接入力するにはどのようにしたらいいでしょうか? その2 大変むずかしい依頼がきて悩んでいます。 フォームでラベルや図形で1ヶ月を3等分した簡単な図を作り、 フォーム上のある日付をその図の中に●や▲で表示したいのです。 イメージは下のような感じですが、このようなことは可能でしょうか?      2002/3       2002/4           ┃  │   │  ┃  │ ● │  ┃   以上2件一緒にして申し訳ございませんが、ご存知の方がいらっしゃいましたらよろしくお願いします。

  • アクセスでフォームから入力した後に残らないくなりました。?

    アクセスでフォーム入力した後今までは最後のレコードに残っていたのですが、突然消えてしまうようになりました。一旦登録はされるのですが、そのフォームを閉じると表示されません。この現象はフォームだけで、テーブルやクエリにはきちんと表示されるのです。どこか変なところを触ったのでしょうか?どなたか教えてください。よろしくおねがいします。