• 締切済み

アクセス初心者です!

アクセス初心者です! アクセスでどうしてもわからないことがあるので教えてください! 仕事上でラベルを作成することがあるんですが、例えば林檎が255個あった場合、 50個のラベルを5枚、 5個のラベルを1枚、作成する必要があります。 ただし送られてくるデータ上では255個の林檎が1点となっています。 これを分割して林檎50個のデータが5件、 林檎5個のデータが1件の合計6件にした上で 5個のデータのみレポートに出力してラベルを作成したいです。(50個のラベルはあらかじめ作成できるため必要ないです。) また、それをできる毎回できるようにフォーム上にボタンを設置しデータをインポートすれば毎回ラベルを作成できるようにしたいです。 また、参考になるサイトがあったら教えてください! ややこしくてすみません、よろしくお願いいたします!

みんなの回答

  • chayamati
  • ベストアンサー率41% (260/625)
回答No.12

ラベルの商品名が(商品IDは長整数型の数値)数字になりますね ルックアップの設定されていない為です。 すみません。回答№9で記述する予定でした。 ---------------------------- 回答№9、T_納品書の商品IDにM_商品のルックアップ定義です。 T_納品書のデザインビューで《商品ID》《ルックアップ》と入ると ルックアップのプロパティーが表示されます。 表示コントロールがテキストボックスで他は空白です。 ①《表示コントロール右端》、《コンボボックス》《値集合ソース》《M_商品》 ②連結列 1 M_商品の1番目の項目 ③列数 2 IDと商品名 ④列幅 0 最初のID は非表示

すると、全ての回答が全文表示されます。
  • chayamati
  • ベストアンサー率41% (260/625)
回答No.11

3.ラベル作成(レポート)  ラベルに配置するのは商品名、端数と伝票№の3項目をテーブルから取り込みます  《作成》《空白のレポート》《すべてのテーブルを表示する》  《納品書》《商品ID》《端数》《伝票№》《商品IDのフォントサイズ、20ポイント  他は10イント添付のように配置デザインビューを右クリックしてプロパティーを表示し  データの右端をクリックするとクエリ画面になり中諸条件を<>0とし、伝票№を昇順とする  印刷プレビューで《ページ設定》《レイアウト》《列数4》とす

すると、全ての回答が全文表示されます。
  • chayamati
  • ベストアンサー率41% (260/625)
回答No.10

回答№6 ラベル確認   回答№7 テーブルデザイン 今回は フォームデザインです。 以下の記述で《》内のリボンまたはツールをクリックします。 1.フォームはナビゲーション上のテーブルの一つをクリックして、  《作成》《フォーム》で単票式のフォーム《作成》  《その他のフォーム》《複数のアイテム》で帳票形式のフォームが  入力可能で開きますが一旦閉じてフォーム名を変更して閉じます。 2.再度フォームをフォームデザインビューで開き編集します。 2-1.IDをラベルボックスとテキストボックスを組で削除 2-2.文字のサイズ、書式 2-3.フィールド間の計算   今回は数値が確定したとき組数と端数   数値フィールドから他へ移動 EXITしたとき   数値フィールでイベントタブでフォーカス喪失時→コードビルダ→OKで 組数 = Int(数量 / 50): 端数 = 数量 - 50 * 組数 If IsNull(起票日) Then 起票日 = Forms!目次!基準日: 納期 = 起票日 + 7   と一気に組数、端数、起票日、納期を計算します。   計算式は算数の式の逆で 答=計算式 2-4.これらの組数、端数、起票日、納期は入力不要なので、   その他のタブのタブストップをいいえにします。

すると、全ての回答が全文表示されます。
  • chayamati
  • ベストアンサー率41% (260/625)
回答No.9

次に進みます。 今回の2つのテーブルの確認です。 リレーショナル型のテーブルでフィールドのリストが確認できます 1.データベースツールリボンからリレーションシップと  リレーションシップのデザインと入ります。 2.テーブルを枠内にドラッグしてサイズを整えます。  各テーブル先頭にオートナンバー型の長整数がたのIDがあります。 3.このテーブルと関連付けのために他のテーブルに長整数型と定義した項目へ繋ぐ  この線が1:∞に成ったとき参照整合性があることになる  これ以外の結合は運用時に不都合を起こす  また、オートナンバー型はシステム内部で管理されるので  フォーム、クエリ、レポートの項目から外します。 4.この○○IDはテーブルデザインビューでルックアップ定義するとコンボボックスになる ◎M_商品  ・ID 主キー、オートナンバー型、長整数型  ・商品名 テキスト型 インデクス/重複なし ◎T_納品書  ・伝票№ テキスト型 フィールドサイズ 6 定型入力(〒を真似て 000\-000;;_)  ・商品ID 長整数型 表示名=商品名  ・組数 数値型  ・端数 数値型  ・起票日 日付/時刻型 初期値は目次の基準日  ・納期 日付/時刻型 起票日の7日後

すると、全ての回答が全文表示されます。
  • chayamati
  • ベストアンサー率41% (260/625)
回答No.8

回答№7の《目次》フォームを最初に開くには、 添付のAccessのオプションに入るには ファイルリボン→再下端のオプションです。

すると、全ての回答が全文表示されます。
  • chayamati
  • ベストアンサー率41% (260/625)
回答No.7

添付図はラベル作成の初期画面の《目次》フォームのデザインビューです。 左の一覧はテーブルが2つ、フォームが3つ、レポートが1つ 右の図には、数個のボックスが配置されています。 表示されているのは表示名で、ボックス名ではありません ボックスにはテーブルの項目と連結しているボックスと非連結のボックス ボックス名はその他タグにあります。 これを訂正して置きましょう。コードリストが読み易くなります。

すると、全ての回答が全文表示されます。
  • chayamati
  • ベストアンサー率41% (260/625)
回答No.6

回答№4です。 これはキャンセルして下さい 先ず添付画をご覧ください。 ②がA4用紙に3×9=27枚のラベルです  プレビュー画面でページレイアウトのツールで段組み設定をします ①がこのレポートのデザインビューです。  ご質問の画像にない伝票№を追加しました  端数は納品書登録フォームで登録時に計算します テーブルはM_商品(マスタ)とT_納品書(トランザクション)

すると、全ての回答が全文表示されます。
  • kkkkkm
  • ベストアンサー率66% (1747/2623)
回答No.5

回答No.2の追加訂正です。 現状ではクエリの結果を開いた状態でモジュールを実行しても元の結果のままですので クエリが開いていたら閉じるようするために 最初の方で以下のようになっているところを Set db = CurrentDb Set rs1 = db.OpenRecordset("テーブル", dbOpenTable) mySQL = "" 以下のように上記の間にIf~End Ifの部分を追加してください。 Set db = CurrentDb Set rs1 = db.OpenRecordset("テーブル", dbOpenTable) If SysCmd(acSysCmdGetObjectState, acQuery, "テストクエリ") = acObjStateOpen Then DoCmd.Close acQuery, "テストクエリ" End If mySQL = ""

すると、全ての回答が全文表示されます。
  • chayamati
  • ベストアンサー率41% (260/625)
回答No.4

>データをインポートすれば毎回ラベルを作成できるようにしたいです。  このデータの媒体は手書き、通信、のどれですか  セット数は総て50でよろしいですか  この条件でフォーム内のクエリービルダーで、作成したのを添付します。  図中 セット:INT(数量/50)と50未満を切り捨てて、端数:数量-[セット]*50で求めます  ラベルについてはラベルのサイズ、プリンターの仕様等確認すべき点が色々あります。  後日にしませんか  

すると、全ての回答が全文表示されます。
  • kkkkkm
  • ベストアンサー率66% (1747/2623)
回答No.3

もうひとつにやり方です。ちょっと面倒です。 連番テーブルというテーブルを作成して 「連番」というフィールドを作成し1から商品名が最大分割されるであろう数まで番号を連番で振ります。 次にもとのテーブルをもとにした「回数クエリ」を作成して 商品名 回数: Int([数量]/50) 数量 納期 というフィールドを作成します。 次に「数量クエリ」というクエリを作成します。 もとになるテーブルとクエリは 「回数クエリ」と「連番テーブル」です。 どこも連結せずに 商品名 数: IIf([回数]<[連番],[数量] Mod 50,50) 納期 回数 というフィールドを作成します。回数は非表示です 数: IIf([回数]<[連番],[数量] Mod 50,50) の並べ替えを 降順 抽出条件を <>0 回数の並べ替えを 降順 抽出条件を >=[連番]-1 として実行してください。 クエリ名は適当ですのでつけなおしてください。

すると、全ての回答が全文表示されます。

関連するQ&A