

こんにちは。
アクセス初心者です。
練習のため給与管理をAccessで作っています。
単純なクエリを基に入力フォームを作りましたが
(1)新規データを入力すると
「インデックスまたは主キーにはnull値を使用できません」
というエラーが出ます。
すべてのフィールドにデータは入っているのですが・・。
確認すべき場所があれば教えてください。
(2)またフォームに、1列目が会社リスト、2列目が会社名というコンボボックスを作りました。
コンボボックスで選択後、フォームで表示されるのは会社名、
テーブルに入力されるのは会社リストという設定はできますか?
どうぞ宜しくお願いします。
No.3ベストアンサー
- 回答日時:
> 単純なクエリを基に入力フォームを作りましたが
> フォームを非連結とはどのようにするのでしょうか?
「単純なクエリ」と言っておられますが、複数のテーブルをジョインしたクエリですか?
フォームを非連結にするのは、レコードソースプロパティにあるクエリ名をクリアします。
これでフォームとクエリ(あるいはテーブル)とのリンクが切れます。
レコードの追加はVBAで行います。
> コンボボックスで選択後、フォームで表示されるのは会社名、
> テーブルに入力されるのは会社リストという設定はできますか?
コンボボックスの
「連結列」プロパティを「1」
「列数」は「2」
「列幅」は「0cm;1.5cm」(1.5cmは会社名が入る幅に調整してください)
ただしこれだと、プルダウンされたときも会社名しか表示されないので
「列幅」を「1cm;1.5cm」、「幅」を列幅の合計以上にしてください。
普通は、最初の方法を採ると思います。会社のコードなど覚える必要はないと思いますので。
No.2
- 回答日時:
フォームを非連結にしては?
テーブルに連結してしまっているから、新規レコードを追加すると
インデックスあるいは主キーに設定されているフィールドにNULL値が
入ってしまい、エラーが出るのです。
No.1
- 回答日時:
(1)利用しているテーブルのデザインで、インデックスが はい になっている項目をチェックしてください
また主キーになっている項目も 特にこの項目では値がNULLは許されていません。 主キーでない場合は、空文字列の許可が なし になっていないかどうか なっていれば あり にする。
インデックス項目は、基本的にNULLを使わない方がよいと思います。
多分yukipongさんはインデックス項目に値を設定されていないのだと思います。 調べてみてください
(2)コンボボックスは、基本として参照になると思います。
フォームデザインの指定のコンボボックスのプロパティで列幅をしていすれば表示できます。
1列目からカンマ区切りで幅を指定します(通常cm)
この例では 0,5
1列目は表示されない 2列目はリスト幅で最初表示されます。
コンボボックスのプルダウン時は5cmで一覧が表示されます。
また、データの処理では通常見えていない1列目が使われます
(連結列 通常1)
試してください
この回答への補足
ありがとうございます。
(1)に関してですが、主キーですが、オートナンバーになっているので
NULL値になることはないと思います。
他にはインデックスはついていないのですが…
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) Accessの参照フィールドの列がずれてしまいます 1 2023/07/19 15:00
- Access(アクセス) Accessテーブルの結合で別々のテーブルのフィールドを組み合わせて値を出す方法について 2 2022/07/20 19:43
- Access(アクセス) Access 登録ボタンからサブフォームの更新 1 2022/07/22 10:23
- その他(データベース) 更新クエリをリンクデータベーステーブルに実行し実行時エラー3362固有インデックスに重複する値が含ま 1 2022/09/21 11:44
- Access(アクセス) アクセス フォームの自動入力 1 2023/03/20 00:18
- Access(アクセス) Accessフォーム 一部のレコードだけを抽出する方法について 1 2022/06/28 18:45
- Access(アクセス) AccessVBAで降順にするテーブル作成クエリを使用して作成したテーブルを削除し同一のテーブル作成 1 2023/01/06 11:17
- Access(アクセス) アクセスの更新クエリでカレントレコードのみ更新したい 1 2022/06/02 23:32
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- Chrome(クローム) 入力フォームの履歴を消したい 2 2023/06/29 13:02
このQ&Aを見た人はこんなQ&Aも見ています
-
Access 「主キーにはnull値を~」のエラー
その他(Microsoft Office)
-
インディックスまたは主キーには、Null値を使用で
その他(Microsoft Office)
-
Accessのテーブルのフィールドに式を入れる方法
Access(アクセス)
-
-
4
ラベルとテキストボックスのグループ化を解除したい
Access(アクセス)
-
5
ACCESS VBA でのエラー解決の根拠がわかりません エラー「イベントプロパティに指定した式・・
Access(アクセス)
-
6
Accessでコードを入れると名前がでるようにしたい
Access(アクセス)
-
7
ACCESS 複数のフォームから同一テーブル参照
Access(アクセス)
-
8
エクセルからアクセスにインポートすると、エラーが出てしまいます。原因を教えていただけませんか。
Access(アクセス)
-
9
アクセスで数値型のフィールドにNullをいれたい
その他(データベース)
-
10
Access レポートの文字間を設定したい
PowerPoint(パワーポイント)
-
11
アクセスで入力したデータの順番が変わってしまいます
その他(ビジネス・キャリア)
-
12
Access VBA Me.Requery レコードは削除されています エラー
その他(データベース)
-
13
ACCESS 「パラメータの入力」を消したい!!
Access(アクセス)
-
14
フォームで入力しても反映されない
Access(アクセス)
-
15
テキストボックスにクエリ結果を表示させたい
その他(データベース)
-
16
Access サブフォームでの選択行の取得
その他(データベース)
-
17
ACCESSで空白のデーターをクエリで判定/識別する方法を教えてくださ
Access(アクセス)
-
18
Accessのコンボボックスでリストが選択できない
Word(ワード)
-
19
「フォームを作成できませんでした」
Access(アクセス)
-
20
AccessでのNullと長さ0の文字列につきまして
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
前のレコードの値を自動で入れたい
-
Accessでフォームに自動入力し...
-
access別のテーブルを参照して...
-
テキスト型のフィールドでハイ...
-
インデックスまたは主キーにはn...
-
ACCESS フォームで入力データ...
-
アクセスでコードを入れると名...
-
Accessで、最後(更新)にエラ...
-
Accessフォーム上の値を条件と...
-
アクセスのフォームの必須項目...
-
ACCESS2000の帳票フォームでテ...
-
Accessでデータを更新したらそ...
-
入力した値をコンボボックスに...
-
ACCESSでフォームのチェックボ...
-
エクセルで、抽出したデータだ...
-
Access サブフォームでの選択行...
-
「パラメータが少なすぎます。3...
-
ACCESS 複数のフォームから同一...
-
AccessでIDを入力したら他の項...
-
アクセス 同じフィールド(テキ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
前のレコードの値を自動で入れたい
-
Accessでデータを更新したらそ...
-
インデックスまたは主キーにはn...
-
入力した値をコンボボックスに...
-
access別のテーブルを参照して...
-
テキスト型のフィールドでハイ...
-
Accessフォームが入力できません。
-
AccessVBAの値によっ...
-
ACCESS フォームで入力データ...
-
Accessで、最後(更新)にエラ...
-
Accessフォーム上の値を条件と...
-
アクセスでコードを入れると名...
-
Accessでフォームに自動入力し...
-
accessでファイル名とテーブル...
-
フォームのテキストボックス→ク...
-
アクセスのフォームの必須項目...
-
「バリアント型でない変数に Nu...
-
アクセスで自動でレコードを増やす
-
ACCESS2000の帳票フォームでテ...
-
ACCESSでフォームのチェックボ...
おすすめ情報