電子書籍の厳選無料作品が豊富!

いつもお世話になっていますm(__)m
オフィス系で回答を得られなかったため
あちらを削除してこちらに移動してきました。
アクセス2000で在庫管理・発注書フォームを作っているアクセス初心者です。
発注書フォーム内で
サブフォームの発注明細に入力するため、
メインフォームで連動するコンボで、絞込みをしながら商品を選択
(大項目・中項目・小項目と3つのコンボで商品を絞込み)すると
サブフォーム内のコンボボックスに小項目まで絞り込まれた商品数点が表示され、(4つめの絞込み)
そこで選択すると、
見た目一行の状態で(1レコード)、
IDや単価などの詳細がそれぞれのテキストボックスに表示、
数量を選択するとこの商品の小計金額を表示するという形になっています。(意味が伝わるでしょうか。。?^^;)
最後の項目まで行き、enterキーを押すと
次の新規レコード(2行目)に移動するのですが
そこで、大項目のコンボボックスから選択しようとすると
最初のレコード(1行目)に戻ってしまいます。

理想としては商品を選択し、数量など最終項目まで入力してenterキーを押すと、
次の行(次のレコード)に移動すると同時に
メインフォームのコンボボックスが空白の状態になって
また再度選択したものが2個目のレコードに反映される。。
という形にしたいのですが
どうもうまくいきません。

説明がうまくできなくて恐縮ですが
どなたかご教授のほどよろしくおねがいします。。

A 回答 (5件)

>サブフォームをさわるとレポートまで影響するのか気になったので


フォームの変更がレポートに影響したりはしません
テーブルやクエリをさわると大変ですけどね

>帳票にしても うまくコンボの選択は働きませんが
帳票にしただけでうまくいくようになる訳じゃありません
帳票なら仕掛けを組み込めるようになるということです

メインフォームに非連結のコンボボックスを置く方法ですと
サブフォームとの連携が面倒です
大項目、中項目もサブのソースの方に取り込んでしまう方が簡単なのでそれで説明しますね

サブのソースである発注明細テーブルを下のようなものにします

●発注書明細
「明細コード」「発注書コード」「大項目」「中項目」「商品コード」「数量」「摘要」
この大項目、中項目をフォームで上ではコンボボックスにするのです
非連結でなくテーブルに連結していますから、新規レコードでは自動的に空欄になります

絞り込みは同じように行ってください
絞り込みのタイミングは上位コンボボックスの更新後とレコード移動時の2つです

帳票フォームですからあるレコードの大項目、中項目にあわせて絞り込みを行うと
他のレコード下位の項目の表示が出来なくなります
ですから中項目、商品コードは同じソースで絞り込みを行わないコンボボックスを作り
絞り込みを行うコンボボックスの下にぴったり重ねておきます
絞り込みを行う方は背景を透明にしておきます

以上です
納得がいくまで、簡単なものを作っていろいろ試してみてください

この回答への補足

こんにちは いつも手取り足取りご指導いただき
本当にありがとうございます

上記の仕組みは
他のサイトでも同じように図解しているのを何箇所かみかけたので
いろいろ試してみたいと思います。
ありがとうございます
しかし、、、、
何故かサブフォームを帳票にしても
やはりレコードが1つしか表示されません。。。

サブフォーム自体最初から作り直してみたいと思います。

補足日時:2008/11/12 09:38
    • good
    • 0
この回答へのお礼

おかげさまで完成しました!
詳しく教えていただき本当にありがとうございました。
助かりました!
CHRONOS_0様には感謝の気持ちでいっぱいです

もう少しステップアップしたいので
新しい質問に切り替えさせていただきます
本当にありがとうございました!!

お礼日時:2008/11/14 14:43

>サブフォームの中が1つの商品(1つのレコード)しか表示されなくなってしまいました。


帳票フォームになってないのでは、1レコードずつ表示するのは単票フォームです
>データシートのように発注商品がずらっと並ぶようにすることも可能でしょうか?
そうなるのが帳票フォームです

>印刷するときは自動で2枚になったりすることが必要なのですが影響はあるでしょうか?。
フォームをそのまま印刷しているのですか?
レポートを作って印刷した方がいいのですけどね

元のものを作成した方も余りよくAccessを分かっておられないみたいですね
この様子では難しいことはやっていないでしょう
しかし実際に使用しているシステムですから下手なことをして壊してしまうと大変ですから
さわるのはコピーの方にした方がいいですね

実物をいきなりさわるのが難しければ簡単なものを作成してスキルアップしてからの方がいいかも

この回答への補足

いつもありがとうございます
>フォームをそのまま印刷しているのですか?
フォーム上でレポートを印刷するボタンを設置しています。
サブフォームをさわるとレポートまで影響するのか気になったので

ご助言ありがとうございます
さすがにマスターを触るのは怖いので
test用コピーを使用していて成功したら雛形を変更しています

スキルアップするにも時間があまりなくて苦戦しています。
前任者も本を片手に頑張っていたそうです。。

帳票にしても うまくコンボの選択は働きませんが
解決策をご存知でしたらご教授いただけると助かります。。。

補足日時:2008/11/11 16:32
    • good
    • 0

>サブフォームの規定のビューはデータシート型で


これが問題ですね
データシートや帳票形式で表示すると複数のレコードが表示されますが
使用されるコントロールは共通のものですからあるレコードにあわせて
絞り込んでしまうと他のレコードの表示がおかしくなります
帳票形式ならこれに対処する方法もありますが
データシートビューではどうすることも出来ません

帳票形式に変えることは出来ますか?

別件ですが

>●発注書明細
>「明細コード」「発注書コード」「商品コード」「品番」「商品名」「色」「サイズ」「重さ」「単価」「数量」「摘要」
これはテーブルですね
だったら商品コード以外の商品マスタにあるフィールドはこのテーブルには必要ありません
というより入れてはいけません

この回答への補足

何度もありがとうございます。
帳票形式に変更してみたところ
サブフォームの中が1つの商品(1つのレコード)しか表示されなくなってしまいました。
データシートのように発注商品がずらっと並ぶようにすることも
可能でしょうか?
また、発注数が多いのでスクロール表示になったり
印刷するときは自動で2枚になったりすることが必要なのですが影響はあるでしょうか?。

>商品コード以外の商品マスタにあるフィールドはこのテーブルには必要ありませんというより入れてはいけません

リレーションしていない項目で複数のテーブルに同じ項目が重複するのはNGっていう解釈でいいのでしょうか?
前任者がくんだテーブルなので
削除したら他のフォームなどにどう影響がでるか調べてみてから
後ほど調整したいと思います。ご指摘ありがとうございます!!

補足日時:2008/11/10 15:39
    • good
    • 0

関係する全てのテーブルの情報が必要です、最低でも以下のテーブルのフィールド構成を教えてください


「発注テーブル」
「発注明細テーブル」
「商品テーブル」

>すいません、ソースとかリンクとか
>どこの部分をさすのかいまいちわかっていません
ソースはフォームのプロパティーのレコードソースと言うところを見ると分かります
リンクはフォームをデザインビューで開きサブフォームをクリックすると
サブフォームのプロパティーのところに
「リンク親フィールド」「リンク子フィールド」というのがあります、

この回答への補足

すいません、エラーが出て3度目の投稿なので、抜けていたらすいません。。
●発注書(項目が多いので明らかに不要なものは非公開にします)
「日付」「発注書コード」「仕入先」「仕入先コード」
●発注書明細
「明細コード」「発注書コード」「商品コード」「品番」「商品名」「色」「サイズ」「重さ」「単価」「数量」「摘要」
●商品マスタ
「商品コード」「品番」「大項目」「●●1」「●●2」「中項目」「色」「商品名」「サイズ」「●●3」「●●4」「単価」「●●6」「●●7」「●●8」「仕入先コード」

です。
レコードソースは「発注書」

「リンク親フィールド」「リンク子フィールド」ともに
「発注書コード」です。

サブフォームのコンボに絞りこみするまでは問題なくできています。
メインフォームで以下のコンボに
大項目・中項目・商品名でしぼりこみ、
その値をサブフォームの
商品コードコンボ欄で表示しています

そのクエリは以下です
SELECT 商品マスタ.商品コード, 商品マスタ.品番, 商品マスタ.商品名, 商品マスタ.色, 商品マスタ.サイズ, 商品マスタ.単価
FROM 商品マスタ
WHERE (((商品マスタ.商品名)=[forms]![発注書]![商品名]))
ORDER BY 商品マスタ.品番;


です。
サブフォームの規定のビューはデータシート型で
ビュー設定はフォーム/データシートです。

どうかよろしくおねがいいたします。。

補足日時:2008/11/10 13:34
    • good
    • 0

メインフォーム上の大中小項目のコンボは連結?非連結?


メインフォーム、サブフォームのソースはどういうもの?
メインとサブのリンクはどうなっているの?

この回答への補足

コンボは非連結です
サブフォームは発注書明細で
「商品ID」「品番」「商品名」「色」「サイズ」「単価」「数量」「明細金額」「適用」「明細金額合計」の項目に分かれています
メインフォームは
「仕入先コード」「仕入先名」「担当者」「○○コード」「受注先」「発注合計」「発注書コード」「発注者」「発注日」「納期日」

などです。

テーブルは
「仕入先」「○○」「社員」「商品」「発注書」「発注書明細」
になっています


今までは サブフォーム内でひとつのコンボで商品を選択していたのですが
あまりにも多いので、絞込みをしたいとのリクエストでコンボボックスをメインフォームに置いてみたのですがうまくいきません。
(最初、サブフォームにおいて見たらフォームを開いたときに表示されなかったので...)


すいません、ソースとかリンクとか
どこの部分をさすのかいまいちわかっていません
(前任者の引継ぎなので。。すいません)

お手数おかけいたしますが、詳しく指定いただけますか?

補足日時:2008/11/10 09:18
    • good
    • 0
この回答へのお礼

最終コンボのコードです

Private Sub 4個目のコンボ_AfterUpdate()
Me.品番 = Me.4個目のコンボ.Column(1)
Me.商品名 = Me.4個目のコンボ.Column(2)
Me.色 = Me.4個目のコンボ.Column(3)
Me.サイズ = Me.4個目のコンボ.Column(4)
Me.単価 = Me.4個目のコンボ.Column(5)
End Sub

で発注明細を表示しています。

お礼日時:2008/11/10 11:31

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す