• 締切済み

Accessでサブフォームに任意の番号をつけるには

お世話になっております。 アクセスで苦戦しております。ご教授願います。 業務管理で、得意先からの受注から請求書作成までをつくりたいのですが、納品した項目を顧客ごとに1ヶ月単位でまとめて請求をかけるとやりたいと思っています。 そのときに納品内容に請求番号と同じ番号を振りたいのですが、うまくいきません。 納品テーブル 受注ID 顧客名 内容    納品日  1   A社 テスト     5/1  2   B社 サンプル    5/3  3   A社 テスト2    5/2  4   B社 サンプル2   5/4 納品テーブルのデータを顧客名で抽出し、請求フォームのサブフォームに表示 請求フォーム 請求番号 0001   A社  5月度請求 ーーーーーーー以下サブフォームーーーーーーーー 受注ID 顧客名 内容   納品日  請求番号  1   A社 テスト    5/1 0001  3   A社 テスト2   5/2 0001 ーーーーーーーーーーーーーーーーーーーーーーー と、したい場合はどのようにすればよいのでしょうか。 説明が下手なので、補足があればいたします。 どうかよろしくお願いいたします。

みんなの回答

  • O_cyan
  • ベストアンサー率59% (745/1260)
回答No.1

>請求フォームのサブフォームに表示 請求フォームに納品テーブルのレコードを表示する時の抽出はどのようにしているのでしょうか? 納品テーブルには請求番号のフィールドもあるのでしょうか? サブフォームで表示して納品テーブルにも保存したいという事なのでしょうか? それとも表示だけで良いのでしょうか? 表示だけならコントロールを配置してコントロールソースに =[Forms]![請求フォーム]![請求番号] とすれば表示できますが。

wapparice
質問者

補足

お忙しい中ありがとうございます。 抽出は請求のチェックがあり、そこにチェックがついていないものを未請求クエリとして抽出、請求フォームの顧客名と未請求クエリのサブフォーム、顧客名に親子のリンクをはっています。 請求番号は表示だけでなく、納品テーブルに登録できるようにしたいです。 どうかよろしくお願いいたします。

関連するQ&A

  • Access2002で任意のレコードのみをレポートで印刷したい

    http://oshiete1.goo.ne.jp/qa5272888.html の続きです。 テーブルは下記のとおりです。(計4つ) 1.顧客テーブル(データ投入済み) ・顧客ID(テキスト) ・顧客名(テキスト) ・フリガナ(テキスト) 2.納品書テーブル(データはフォームから自動生成) ・納品書ID(オートナンバー) ・納品日付(日付) ・顧客ID(テキスト) 3.注文テーブル(データ投入済み) ・注文ID(テキスト) ・顧客ID(テキスト) ・納品書ID(テキスト) ・数量(数値) ・摘要(テキスト) ・選択(Yes/No) 4.商品マスター(データ投入済み) ・商品ID(テキスト) ・商品名(テキスト) ・単価(数値) 以上の4つのテーブルでテストDBを作っています。 上述したとおり、フォームで、 1.新規レコードの作製 2.納品日付入力 3.コンボボックス(従業員名、カナ)をコンボボックスで選択 という手順を踏み、納品書番号が自動的に振られるフォームまで作成できました。 これを元に、レポートとして、 ・顧客を選択 ・納品書番号を選択 して、選択したレコードをレポートに表示したい、という質問です。 前の質問で、下記ご回答を得ております。 --------------------------------------------------------------- 1.納品書の一覧 以前作成した「納品書番号」のレコードソースを SELECT 納品書テーブル.納品書ID, 納品書テーブル.納品日付, 納品書テーブル.顧客ID FROM 納品書テーブル ORDER BY 納品書テーブル.納品書ID DESC; に変更して、新しいものが先に見えるようにします 2.フォームのプロパティで「データ」の「追加の許可」を「いいえ」にします。 3.ウィザードが起動したら「フォームの操作」「フォームを開く」と進み、「納品書番号(選択)」を開くようにします。これでいつでも新規納品書を作成できます 4.「納品書番号」フォームのイベントで「アクティブ時」を「[イベント プロシージャ]」にし編集ボタン(…)を押して、以下のようにします Private Sub Form_Activate() Me.Requery End Sub これで新規納品書作成後に「納品書番号(選択)」を閉じると、最新の納品書が表示されます 5.レポート「納品書」の作成 レコードソースは SELECT 納品書テーブル.納品書ID, 納品書テーブル.納品日付, 従業員マスタ.従業員名 FROM 従業員マスタ INNER JOIN 納品書テーブル ON 従業員マスタ.従業員ID = 納品書テーブル.顧客ID WHERE (((納品書テーブル.納品書ID)=[Forms]![納品書番号]![納品書ID])); 6.レポートにフィールドリストから「納品書ID」「従業員名」などを貼り付けます 7.「納品書番号」をデザインモードで開き、ボタンを追加し「納品書」レポートをプレビューで開くようにします。これで任意の納品書が印刷できるようになります 8.実際のレポートは納品書番号に対応するアイテムが並ぶ必要がありますが、これはレコードソース(クエリ)を拡張することでもできるし、親子レポートにすることでも可能です。色々試してください --------------------------------------------------------------- fuuten_no_nekoさん、ありがとうございました。 これまでは「フォーム」に関する質問で、今回は「レポート」に関するものに進んできましたので、新規の質問にしたほうがよいとのアドバイスを受け、この質問を立ち上げます。 なお、「今ここまでできている」という部分は、補足に記述します。 どうぞよろしくお願いします。

  • ファイルメーカー 同一IDと日付への番号振り当て

    Aテーブル(伝票)とBテーブル(明細1商品で1レコード)があり A 受注シリアル 日付 顧客ID 合計金額 B 受注シリアル 受注ID 日付 商品名 色 数 小計 フィールドがあり 受注シリアルでリレーションをはり、AにBの内容(商品名、数、色など)をポータル表示させようと考えております。 今回の質問は今まで一つのテーブルで作業をしていたので一度2つのテーブルに別ける事にしました。 今までのデータをBテーブルのフィールド(顧客ID、日付、商品名、数、小計)へ振り分ける事はできたのですが、受注シリアルへ番号を振り分ける作業でつまづいてしまいました。 同日付と顧客IDに番号(受注シリアル)を振り当てるにはどうすればいいでしょうか? 現在Bテーブルに約20000レコードあります。 よろしくお願いいたします。

  • 売上データに会社毎に請求番号を振る(access

    顧客の売上データ(テーブル)があるのですが、 同じ顧客名で、複数のレコードがあります。 売上を1ヶ月毎に、顧客毎に利用分をまとめて請求書を 作成しています。 下記のように、10月分には、すでに請求書番号(連番)が 入っています。 11月分の売上データの空欄の請求番号のところに、 顧客毎に、自動的に連番(2523~)で請求番号を振る方法がありましたら、 教えてください。どうぞよろしくお願いいたします。 (売上テーブル) 売上日   顧客名 金額  請求書番号 12/10/08 C社  \2000  2511 12/10/09  C社  \5000  2511 12/10/10  C社  \3000  2511 12/10/01  D社  \1000  2522 12/11/01  A社  \2000 12/11/06  A社  \1000 12/11/01  B社  \1000 12/11/08  C社  \2000

  • Access サブフォームにフィルターをかけるには

    Access初心者です、教えてください。 AのテーブルにIDと名前、BのテーブルにIDと電話番号と管理番号と業種があります。 メインフォームのテキストボックスでAのテーブルからあいまい検索で電話番号を検索、検索結果のIDでBテーブルのサブフォームにフィルターを掛けたいのですが、 どのようにしたらいいのでしょうか?

  • Access2000 単票フォーム上のボタンを押すと、同じIDを持つフォームが開くよういしたい

    Accessの初心者です。 本当に超がつく初心者ですので、解説もしてくださるととても嬉しいです。 宜しくお願いします。 請求書番号連番を取得するフォーム(テーブルも)があります。 請求書番号は特殊な為、現時点ではじか打ちで作成しています。 それとは別に、顧客ごとに請求データを入力するフォーム(テーブルも)があります。 その二つは、請求書番号でひもづけています。 <請求書番号連番取得フォーム/帳票> ・請求書番号 ・請求日 ・顧客ID <請求データの入力フォーム_A社/単票> ※これがB社、C社と複数存在します。 ・顧客ID ・請求書番号 ・商品CD <請求書番号連番取得フォーム/帳票>上にボタンをつくり、そのボタンを押すと、 同じ顧客IDを持つ<請求データの入力フォーム/単票>が開けたらな・・・と思っているのですが、 わかりますでしょうか・・・・。 どうか、宜しくお願い致します。 <請求書番号連番取得フォーム/帳票> _________________________________________________________________ 請求書番号|請求日 |顧客ID|  _________________________________________________________________ 09BB87ZZ1|2009/04/01|0001 |■(ボタン) -------------------------------------------- 09BS87AA2|2009/04/10|0003 |■(ボタン) -------------------------------------------- ↑この1行目の■(ボタン)を押すと、顧客ID「0001」の請求書番号「09BB87ZZ1」の単票フォームが開き、 (請求書番号欄に「09BB87ZZ1」が入っている。) 2行目の■(ボタン)を押すと、顧客ID「0003」のフォームを開く・・・というような動きです。 説明が下手で申しわけありません。 お願いします。

  • ACCESS2003を使って請求・納品伝票を作っています

    ACCESSの素人です。 本を見ながらこのたびACCESS2003で請求・納品伝票を作っているのですが、クリエで行き詰っています。。 どんな請求・納品伝票を作ろうとしているかご説明します。 現在手書きで使っている伝票(請求書控え、請求書、納品書、納品書控えの4種類を手書き複写式)そのもののフォームをワードで打ち直してワード文章にしてあります。 その原稿にACCESSで打ち込んだデータをはめたいと思っています。 フォームは手書きをする要領(点数計、小計合計、正味合計などは自動で計算できるようにしたいと思っています)で画面上確認しながら打てるようにしたいと思っています。 現段階ではテーブルをようやく作ることができました。 商品マスター、受注明細マスター、伝票情報マスターを作りました。 内容は商品マスターは商品の名称と価格を入れています。 受注明細マスターは受注明細ID、受注ID、顧客ID、数量、割引 伝票情報マスターは顧客ID、受注ID、あとは請求先の送付先や宛名などです。 これらをどういうクリエでつないだらいいのかわかりません。。 そのためここで今本とにらみ合いをしていますが、どうしても打開策が見つかりません。。 どうかご教授くださいますようお願いいたします。。

  • access 請求番号の自動採番

    まったくわかりません! よろしくお願いします。 仕様環境 WinXP  access2002 顧客管理のシステムを作っています。 テーブル 顧客テーブル(主キーは顧客番号 テキスト型) 請求テーブル(主キーは請求番号 テキスト型) 明細テーブル(主キーは明細番号でオートナンバー ダミーみたいな感じで使っています。) そしてリレーションシップで顧客テーブル(1)→(多)請求テーブル(1)→(多)明細テーブルになっています。 顧客情報を入力するフォームを作りました。 主キーは顧客番号(テキスト型,入力モードON,インデックス いいえ)で 他のテキストボックス(例えば名前)に何かしら文字を入力すると自動で顧客番号を採番してくれます。 例:0001 0002 0003~ そしてそのフォームから請求書作成フォームに飛ぶように 「請求書作成ボタン」を作り、顧客情報も一緒にひっぱっていってくれる 請求書作成フォームを作りました。(入力したばかりの情報も最新の情報で更新してくれます。) ・・請求書作成フォームはサブフォームを使い3つのテーブルからなっています。・・ 親フォーム:顧客テーブルから。 子フォーム:請求テーブルから。 孫フォーム:明細テーブルから。 主キーは請求番号で(テキスト型,入力モードON,インデックス はい(重複なし)) 他のテキストボックス(例えば請求日)に何かしら入力すると自動で請求番号を採番してくれます。 例:A0001 そこで問題なのですが、顧客情報は入力する度、次々自動で採番してくれるんですが、 請求番号は一番最初のレコードの”A0001”だけ採番してくれて、 新しいレコードで請求書を作ろうとテキストボックスに文字を入力すると「型が一致しません」というエラーが出ます。 ○ エラー内容 アクションエラーの実行 条件 true アクション名 値の代入 引数 [請求番号],Format(DMax("請求番号","請求マスタ")+1,"A0001") マクロは・・(参考書を参考にしています、マクロ名:自動採番マクロ) ------------------------------------------------- 条件 : DCount("請求番号","請求テーブル")=0 アクション : 値の代入 アイテム  : [請求番号] 式     :"A0001" ------------------------------------------------- 条件    : ... アクション : マクロの中止 ------------------------------------------------- アクション : 値の代入 アイテム  : [請求番号] 式     : Format(DMax("請求番号","請求テーブル")+1,"A0001") ------------------------------------------------- となっています。 念のため、主キーの入力モードを切り替えたり、式の"A0001"を単純に"1"にしたりしましたが、 請求番号はエラーが発生します。 原因がまったくわかりません。 よろしくお願いします!

  • アクセス 2つの条件で差分を取る場合

    ■受注データが下記のような形で膨大なものがあります。 納品月:9月、10月、11月・・・ 商品名:A、B 担当者ID:1、2、3、4・・・ 顧客名:I,II、III、IV・・・ 上記は、全ての受注データが入っているため、9月に顧客IがAを買ったら、それが1行に入っており、 更にBを買っていれば、それが別に1行にはいっています。 上記のようなデータから、月毎に、商品Aだけを買った顧客、商品A,Bを両方買った顧客、商品Bだけを買った顧客、の3つのテーブルにしたいと考えています。 方法としては、 (1)商品A,Bのテーブルを分けて作る (2)商品AB両方買った顧客は、結合プロパティで、商品名同士、納品月同士、をそれぞれ結ぶ ・・・商品Aのみを買った人、もしくは商品Bのみを買った人、を抽出することは出来るのでしょうか? 納品月で一度全てを切ってから、それぞれの差分を取る、という方法しか思い浮かびませんが、 データが3年分あるので大分骨が折れます。 他に簡単な方法があれば、教えて下さい!

  • Access2003 リレーションされたサブフォームの抽出

    Access顧客情報のデータベースを正規化(VBA)している初心者です。リレーションされているテーブルを元にクエリ(3つのテーブルをつなげただけ)を作成しメインフォームにサブフォームを作りました。3つのテーブルは、1対多でリレーションされています。テーブルAのGR_IDやグループ名で検索しそれに紐づいているCOmpanyは抽出できるのですが、サブフォームのテーブルBのCOmpany nameから抽出することができません。メインフォームからオプションボタンを使用してメインとサブの両方のテーブルを検索したいので、子・親リンクの設定をはずせませんよね?以前の類似質問で「サブフォームのフィルターに入力し、フィルター実行でうまくいきました」とありましたが、具体的にどのように設定(マクロやVBA、再クエリ?)すればいいのかわからず悩んでいます。どうぞ初心者向きのアドバイスをよろしくお願いいたします。 テーブルA GR_ID グループ名 ※テーブルA(1):テーブルB(多) テーブルB GR_ID Company_ID Company name ※テーブルB(1):テーブルC(多) テーブルC Company_ID salesman

  • ACCESS。よろしくお願いします。VLOOKUP??

    いつもお世話になっています。よろしくお願いします。顧客管理で困っています。 管理テーブル ID 日付 顧客番号 顧客名 性別 顧客テーブル ID 顧客番号 顧客名 性別 管理フォーム ID 日付 顧客番号 顧客名 性別 そこでお聞きしたいのですが・・ 管理フォームの入力で 顧客番号入力したら 顧客名 性別 を自動で引っ張ってきたいのですが・・ どうしたらできるかわかりません。 よろしくお願いします。 本等かってきましたが・・行き詰っています。 お勧めの本などありましたら教えていただけましたら幸いです。

専門家に質問してみよう