- ベストアンサー
Accessのコンボボックスを使ったデータ入力で不具合が生じた原因と対策方法
- Accessにおいて、コンボボックスを使ったデータ入力で不具合が生じました。
- 材料分類の”材料分類名”をコンボボックスで選択後、該当する材料の”名称”をコンボボックスで選択し”分量”を入力する形式にしたいです。
- 入力を行うたびに、T_材料内に入力した食品のデータが追加される現象が出ました。何が原因だったのか、対策方法をご教授お願いします。
- みんなの回答 (16)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (15)
- chayamati
- ベストアンサー率41% (260/624)
>ボックスが”非連結”と表示されますが ★この現象はボックスを追加したときに発生します ・ボックス名はプロパティシートのその他タグの名前行 ・フィールド名はプロパティシートのデータタグの コントロールタグ行 ・フィールド追加のときは、フォームデザインリボンの 既存のフィールド追加ツールより ※ラベルの表示は少し違って、書式タグの標題行 >No.13の方法でよろしいのでしょう これでよいのですが、 オートナンバー型の分類コード順でなく【T_材料.名称】にしては --------------------------------------------------------------------------- SELECT T_料理内容.*, T_材料.名称 FROM T_材料 INNER JOIN T_料理内容 ON T_材料.材料コード = T_料理内容.材料コード ORDER BY T_材料.名称;
- chayamati
- ベストアンサー率41% (260/624)
>以下のSQLで行いましたが、表示されませんでした。 非連結のコンボボックスでよろしいのでしょうか。 ★表示されないのは分類名ですね ・T_材料分類をルックアップしたT_材料.材料分類コードを配置します ・クエリのテーブルはT_材料とT_料理内容だけです
お礼
度々申し訳ございません。 >・T_材料分類をルックアップしたT_材料.材料分類コードを配置します ボックスが”非連結”と表示されますが、No.13の方法でよろしいのでしょうか。 >・クエリのテーブルはT_材料とT_料理内容だけです クエリについては以下のSQLでよろしいでしょうか。 SELECT T_材料.材料分類コード FROM T_材料 INNER JOIN T_料理内容 ON T_材料.材料コード = T_料理内容.材料コード;
- chayamati
- ベストアンサー率41% (260/624)
>SELECT T_料理内容.*, T_材料.材料分類コード, T_材料.登録日 FROM T_材料 INNER JOIN T_料理内容 ON T_材料.材料コード = T_料理内容.材料コード ORDER BY T_材料.材料分類コード; ★これはサブフォームのクエリのSQLビューですねこちらでも同じです 1.T_料理内容の【ID】フィールド除去しましたか 2.【料理コード】と【材料コード】セットで主キーにしましたか 3.ルックアップについて触れておきます ①テーブルのデザインビュー ②ルックアップへの切り替え ③テキストボックスボックスをコンボボックスに変更 ④先ず項目を選択→右端の【…】でクエリビルダ起動 ⑤連結列:リレーションシップ項目のフィールドの位置【料理コード】 ⑥列数:=表示対象の数 通常2 (料理コードと名称) ⑦表示列幅 ;区切りで㎝、非表示のときは0 ⑧リスト幅:自動はボックス幅、⑦の合計
- chayamati
- ベストアンサー率41% (260/624)
- chayamati
- ベストアンサー率41% (260/624)
>入力を行うたびに、T_材料内に入力した食品のデータが追加される現象が出ました。 提示頂いた添付を観ています 1.T_材料 ・名称のインデックスプロパティを重複無しに ・名称を1行上げる T_レシピ内容.材料コードでのルックアップ定義の為 ・T_材料分類へのリエーション不要 2.レシピ内容 ・IDを外す ・料理コードと材料コード セットで主キー 料理コードクリック、材料コード右クリック主キー 3.単票形式の食品レシピ登録フォーム帳票形式に変更 デザインビューで ・料理情報サブフォームをフォームフッターに移動 ・詳細内のボックスを横1列に ・詳細枠の高さを低く ・フォームプロパティの書式タグの2行目の単票を帳票に
- chayamati
- ベストアンサー率41% (260/624)
- chayamati
- ベストアンサー率41% (260/624)
★今回は【M_レシピ明細】レコードソースとして帳表形式の 【F_レシピ登録明細】の作成の手順です ※【F_レシピ登録】のサブフォームとする為 ナヴィゲーション内の【M_レシピ明細】にマウスカーソルを移動 →【複数のアイテム】 2ステップで【M_レシピ明細】が開いています →【空白部分を右クリック】 フォームデザインの画面になり、リボン列が変わり、 配置リボンが表示されました ここで次のツールをクイックアクセスツールバーに追加 ・配置リボンのサイズ/間隙ツールの【自動調性】 【高いコントロールに合わせる】【低いコントロールに合わせる】 【広いコントロールに合わせる】【狭いコントロールに合わせる】 ・配置リボンの配置の【左】【右】【上】【下】 ・配置リボンの配置の【スペースの調整】 →【フォームヘッダーの枠の左辺上側クリック】→【Deleteキー】 ∵フォルダーのインデクス同じの為 →【フォームフッタのIDの下から上へドラッグして、 IDのテキストボックスとラベルボックスをアクティブに】 →【Deleteキー】 ∵IDはオートナンバー型の為表示不要 →【フォームヘッダ枠の左辺の上から下までドラッグ】 ボックス全てがアクティブになる →【スペースの調整の右のv:】→【なし】 添付図 →【フォームデザインビュー終了】→【はい】 →【「F_発注登録明細」と入力】 →【OK】 ------------------------------------------------------------------- 次回【F_発注登録】に【分類名】を追加
- chayamati
- ベストアンサー率41% (260/624)
- chayamati
- ベストアンサー率41% (260/624)
- chayamati
- ベストアンサー率41% (260/624)
今晩はお待たせしました。 見当はずれを覚悟で、発注システムを作りました 添付はサブフォームを持つ帳票形式のフォームです 左辺のレコードセレクタが黒色のサブフォーム ・サブフォームをフォームフッタに配置する事でこのような事が可能 ・ルックアップにより、コードの管理は不要 ・とはいえ発注№に郵便番号のような定型入力 (データ形は半角英数字のテキスト形 ・ここでは発注№順に表示 全てのリレーションシップが参照整合性にすためにリンクする フィールドのインデックスを重複なしにするために 空のAccessファイルに今のファイルをインポートします。 空のファイル作成時にファイル名枠の下で種類を選択選択出来ます ・Access2007-2016形型式データベース(*.accdb) ・Access2000形式データベース(*.mdb) ・Access2002-2003形式データベース(*.mdb) 今のファイルの拡張子はどれですか インポートの流れ 【外部データ】→【新しいデータソース】→【データベースから】 →【データベースから】→【Access】→【旧ファイルを選択】→【OK】 →【テーブルタグ】→【すべて選択】→【オプション】 →【テーブル構造のみ】 →【他のタグはすべて選択】→【OK】
- 1
- 2
お礼
長期間にわたりに有難うございました。