![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
Access2007で業務用のデータベースを構築しております。
Excelは良く利用するのですが、Accessでは初めてになります。
ご教示のほど、よろしくお願いします。
加工食品の原料のデータベースを構築しております。
原料の分類ごとに通し番号を付与し、それをフォーム上で既定値として表示させたいと考えております。
現状は「T_原料リスト」があり、フィールドに「分類ID」・「原料No」・「原料ID」・「原料名」・・・となってます。
別途「T_分類マスタ」があり、リレーションで「分類ID」と結合しています。
実現したいのは、フォームで「分類ID」をコンボボックスから選択すると、その分類の「原料No」の最大値を既定値として表示させることです。また、「分類ID」と「原料No」を結合し「原料ID」にしたいと考えております。
例えば、分類IDで「10(糖類)」を選ぶと、原料Noの最大値が「121」と表示され、原料IDが「10121」と決まる、といった具合です。
原料IDはイレギュラーに「99999」を入力したい状況もあるかもしれませんので、手入力でも良いかなと思ってます。
私なりに調べましたところ、フォームの「原料No」のプロパティシートの既定値に
=Dmax("原料No","T_原料リスト","[分類No]=&[Forms]![F_原料リスト].[分類No]")+1
と入力すれば良いはずだと思いやってみたのですが、エラー表示になってしまいます。
質問ですが、
(1)上記の式が間違っているのでしょうか?
(2)もっと良い方法があればお教えいただきたいです。
(3)分類IDと原料Noを結合して、自動で「原料ID」を入力するにはどうすれば良いでしょうか?
以上です。何卒よろしくお願いします。
No.2ベストアンサー
- 回答日時:
> 実現したいのは、フォームで「分類ID」をコンボボックスから選択すると、その分類の「原料No」の最大値を既定値として表示させることです。
コンボボックスの更新後処理のイベントプロシージャを下記のように記述してください。
Me.原料No.DefaultValue = Nz(Dmax("原料No","T_原料リスト","[分類No]=" & Me.分類No))+1
あるいは、
Me.原料No.Value = Nz(Dmax("原料No","T_原料リスト","[分類No]=" & Me.分類No))+1
度々のご返答ありがとうございます。
御礼が遅くなって申し訳ありません。
実のところ、まだうまくいっていません。。。
何度も見直しているのですが、どこも悪くないように思います。
何故だ・・・・(;-;)
No.1
- 回答日時:
> =Dmax("原料No","T_原料リスト","[分類No]=&[Forms]![F_原料リスト].[分類No]")+1
> と入力すれば良いはずだと思いやってみたのですが、エラー表示になってしまいます。
>
> 質問ですが、
> (1)上記の式が間違っているのでしょうか?
& が余分ですね。あとNz関数でNullを0に変換した方がいいでしょう。
=Nz(Dmax("原料No","T_原料リスト","[分類No]=[Forms]![F_原料リスト].[分類No]"))+1
分類No が数値型なら下記のようにしてもいいです。
=Nz(Dmax("原料No","T_原料リスト","[分類No]=" & [分類No]))+1
> (3)分類IDと原料Noを結合して、自動で「原料ID」を入力するにはどうすれば良いでしょうか?
原料ID は不必要ですね。
テーブルのデザインビューで、分類ID と 原料No で複数フィールドに主キーにしておいて、
クエリを作成して
原料ID: [分類ID] * 100000 + [原料No]
とすればいいです。
クエリをテーブル代わりにフォームやレポートのレコードソースとします。
* 100000 の部分は[原料No]の最大桁数に合わせます。
ご回答ありがとうございます!
質問文で分類Noと分類IDを混同していました。分類Noが正しいです。申し訳ありません。
早速試してみましたが、コンボボックスで分類Noを選択しても、原料Noは1としか表示されません・・・
おそらくDmaxの部分はNullになっていますよね。何故だ。。。
分類Noも原料Noも数値型にしています。+1等の演算があるので、数値型じゃないとダメかなとおもったので。
フォームの分類Noの型は特に指定していませんが、関係ないでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(データベース) accessでの請求管理について 2 2022/06/13 21:51
- Access(アクセス) Accessの参照フィールドの列がずれてしまいます 1 2023/07/19 15:00
- 英語 「所有格+数量詞+名詞」と「数量詞+of+所有格+名詞」の意味やニュアンスの違い等について 4 2023/06/28 11:34
- その他(法律) 危険物の丙種免許につきまして 1 2023/05/14 02:08
- その他(ニュース・時事問題) 最近、電気代が上がりましたが、ちょっと気になったので、質問です。 東日本大震災以降、停止した原発がい 7 2023/05/26 11:10
- 日本語 違う ちげー(よ) 違く(て) 6 2023/02/01 18:31
- Excel(エクセル) 【Excel】指定のセル内容を基に別シートのセルを検索して選択する【VBA】 1 2022/06/16 16:16
- Excel(エクセル) コンボボックス及びリストボックスを5段階連動させる方法をご存知の方ご教授頂きたいです。 Excelで 3 2022/04/03 21:43
- 経営情報システム accessでの請求管理について 12 2022/06/11 16:20
- docomo(ドコモ) 自分以外の家族分の料金が自分では確認できません!携帯を家族でドコモを契約しています。どうすれば? 4 2023/05/18 05:40
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Microsoftにofficeアプリについ...
-
【スプレドシート】IMPORTRANGE...
-
大学のレポート A4で1枚レポー...
-
Office2021を別のPCにインスト...
-
英数字のみ全角から半角に変換
-
会社のPCに入っているExcelでバ...
-
複数の写真を1枚に印刷
-
Windows 11で、IME言語バー(IM...
-
以下マクロの処理を最終行まで...
-
エクセルでXLOOKUP関数...
-
Microsoft Formsの「個人情報や...
-
Outlook で宛先が複数の場合の人数
-
teams設定教えて下さい。 ①ビデ...
-
Microsoft365で写真をアルバム...
-
SUMIFS関数について
-
VBAファイルの保存先について
-
エクセルで英文字に入れた下線...
-
PCを買い換えました。 今使って...
-
Excel 日付を比較したら、同じ...
-
Excel VBA 日程表からスケジュ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ジーンズの適正価格は?
-
LUSHの買い方教えてください ボ...
-
大阪・JR環状線福島駅から阪神...
-
エポスカードキャッシング経験⇒...
-
今度NIKEのエンプロイストアに...
-
ユニクロでクレジットカード使...
-
韓国のファッションブランドEXR...
-
昔は月賦百貨店(例えば、マル...
-
イランイランのシュシュ
-
新宿ミロードのセール
-
オロビアンコのバッグの修理に...
-
ユニクロ
-
OIOIの商品券ってあるんですか...
-
千葉県のしまむら
-
大阪でタケオキクチ、ポールス...
-
このFILAのペアルックトレーナ...
-
GAPの店舗
-
マルイのロゴは【OIOI】なんで?
-
WEGOってどこの店舗でも女物も...
-
ジョージアのCM
おすすめ情報