• 締切済み

Accessフォームの新規レコードについて

noname#64217の回答

noname#64217
noname#64217
回答No.2

補足ありがとうございます。 複数テーブルを結合したということは、同じフィールド名がありますよね。 例えば・・・ 「商品マスターテーブル」の「商品コード」と 「売上入力テーブル」の「商品コード」などです。 この場合、「商品マスターテーブル」の「商品コード」が主キーになってますよね。 その主キー側をクエリーに追加していませんか? 主キーをクエリに追加しても、主キーは重複入力ができないので、新規レコードの追加ができなくなります。 主キーではない方をクエリに追加すれば、新規レコードが入力できるはずですよ。 これをご確認いただくと、解決されるはずです。

nana_ko
質問者

お礼

早々のご回答ありがとうございました。 重複を防ぐために主キーをクエリ内に入れてはいないんですが…残念ながらやはり新規レコードの追加ができません。

関連するQ&A

  • Accessでフォームからレコードの追加について

    Access2016をWindows10で利用しています。 あるテーブルの単票形式のフォームをフォームウィザードから作成しました。 入力規則などがテーブルの各列の設定に沿って作成されていてとても便利なのですが、フォームにいくつか値を入れた時点でレコードが新規追加されてしまいます。 レコードの追加を、すべての入力が終わって「新規追加」ボタン(あとから自分で作成)を押してから行いたいです。 レコードウィザードを使わずにフォームを作成し、フォームの値とクエリを結び付けてボタン押下時にクエリを実行する、というフォームにすれば実現できると思うのですが、それはなかなか手間がかかってしまうので出来るだけ簡便に実現できたらと考えています。 細かい話なので参考ページ、あるいはヒントになる検索キーワードを教えていただけないでしょうか m(‗ ‗)m ?

  • アクセスでフォームでレコード編集、追加不可能

    エクセル2010でデータをテーブル作成をしました。アクセス2010でインポートして、インポートしたテーブルでフォームを作成。作成したフォーム使用して、データ変更できない。初心者用のテキストでは、フォーム・クエリから、レコード追加、既存レコードの編集が可能とありました。初心者なので、教科書通りでないと、何処が、どの様になり、フォームで追加、編集が不可能か分かりませんので教えて下さい。 ※OKWAVEより補足:「ひかりTVのサービスやISPぷらら」についての質問です。

  • Accessのフォームから削除したレコードをテーブルに保存したい

    Accessを利用してフォームからデータを入力しているのですが、クエリを使わずフォーム画面から不必要なレコードをコマンドボタンで削除しています。削除したレコードをテーブルに保存したいのですが、追加クエリで条件を決めずにフォームの画面から判断したレコードだけを削除し、かつ削除したレコードを削除専用のテーブルに追加する方法を教えてください。よろしくお願いします。

  • access フォーム上で複数行のレコードを追加したい。

    宜しくお願いします。 仕様環境:WinXP access2002 フォーム上にコマンドボタンで空白のレコードを 追加したいのですが、一行だけなら「値の代入」マクロで 追加できるのですが、複数行だとやり方がわかりません。 「追加クエリ」を作ってコマンドボタンにマクロで乗せてみたのですが、 テーブル上では複数の空白レコードが追加されてますが、 フォーム上には反映してくれません。 「値の代入」マクロを使って、複数行のレコードをフォーム上に追加するか、 「追加クエリ」を使って、複数行のレコードをフォーム上に反映させるか したいのですが教えてください。 ※ ちなみにこのフォームはサブフォームです。   また5行追加しようとしています。   この方法では無理でしたらご指導お願いします。 宜しくお願いします。

  • Accessでレコードの保存をせずにフォームを閉じたい

    Accessでデータベースのレコード追加を行うフォームを作成しています。 コマンドボタン(1)をクリック→新しいレコードの追加 コマンドボタン(2)をクリック→フォームを閉じる としています。(ウィザードを使用して、埋め込みマクロ?を設定しています。) コマンドボタン(1)でレコードが追加されるのは問題ないのですが、 コマンドボタン(2)をクリックした場合も、レコードが追加されていることに気がつきました。 一般的に入力する人は、 データを追加しようと思って入力していたけれど、 途中でやめてフォームを閉じることってありますよね? そういう場合にレコードが追加されてしまったら問題だと思ったのです。 ですが、どうしたらレコードの追加をせずにフォームを閉じられるかがわかりません。 それって可能でしょうか? Access初心者です。難しいVBAとかはまだよくわかりません。 何か方法、アドバイス等ありましたら よろしくお願いします。

  • accessのクエリとフォームの関係についてお尋ねします。

    accessのクエリとフォームの関係についてお尋ねします。 IDを主キーとした同じような構造のテーブルを3つ繋いでクエリを作成し、更にそのクエリをレコードソースとしたフォームを作成しました。 ところがフォームが動かない。テキストボックスを3つ作っていますが、何も表示してないし、レコードも移動しません。 まいった。 accessは2003、vistaを使っております。 素人です。よろしくご教授くださいませ。

  • フォームのレコードソース(Access2000)

    質問させていただきます。 フォームの「レコードソース」でテーブルとクエリーのほかに、「SELECT テーブル名、フィールド名・・・」というのがあります。これもクエリーなのでしょうか? ちなみに、レコードソースの右にある「---」をクリックすると「SQLステートメント:クエリビルダ」というものが開きます(クエリー画面と同じ?)。 また、フォームのレコードソースはテーブル、クエリー、SOLステートメントのどれにすれば良いのでしょうか?

  • [ACCESS]フォームで、レコードを抽出して編集するには?

    ACCESS2003、初心者です。 納品テーブルを作成して、それをフォームで入力しています。 フィールドは、 ID,製品名,セイヒンメイ,メーカー,仕入先,単価,在庫数,残高 です。 納品テーブルのレコードを元にフォームを作成したいのですが悩んでいます。 (1).納品テーブルから、表形式で商品レコードを並べて表示させる (2).セイヒンメイでグループ化。 (3).セイヒンメイを昇順で並び替え (4).在庫数、残高を編集 (1)~(4)の作業を行いたいのですが、いろいろ試した結果、うまくできません。 テーブル作成クエリ→実行→在庫フォーム開く(この場合のソース元はクエリ) のパターンで可能だったのですが、フォームを開いた時にグループ化や並び替えを行う方がスマートなので実現したいのです。 もしくは、フォーム上でコマンドボタンを押せばグループ化や並び替えができればそれでも構いません。 いろいろ調べて、SQL(GROUP BYやHAVING)を使わないと駄目なようですが、どのようなコードを書いたらよいのでしょうか?

  • ACCESSのフォームからレコードの追加

    ACCESS(2000です)で検索結果をフォームで表示して探しています。目当てのレコードのみを別のテーブルに追加するにはどうしたらいいですか。(フォームで探すところまではできていますのでその後を教えてください。)

  • Accessのフォームで

    Accessで2つほど質問いたします。 (1)テーブルにフィールドを追加したのですがフォーム上でそのフィールドが追加できません(プロパティで選択できない)、多分クエリーを経由してフォームを作成したのですが、どのクエリーだかわからなくなってしまいました、参照しているクエリーがどれなのかを調べる方法を教えてください。 (2)検索フォームを作成して入力した文字を含む検索をしたいのですが どのようにしたら良いのでしょうか、今は入力の文字列の最初と最後に「 * 」を入力して検索しています。