• ベストアンサー

Accessの宛名ラベルウィザードでレコードを縦に並べて印刷したい

Accessの宛名ラベルウィザードでレコードを縦に並べて印刷したいのですがどうすればいいでしょうか? 横並びではなく縦並びにしたいのです。 例えば横4列×縦6列のラベルがあったとして(1ページに24個のラベル)、全部で10ページあったとしたら1列目に1ページから10ページまでのレコードを順番に並べて次に2列目に並べて印刷できるようにしたいのです。 うまく伝えることができたかな…。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • palmmy
  • ベストアンサー率38% (841/2170)
回答No.5

すいません。 判定文を変更していただけますでしょうか? (-1を右辺に&等号をはずしてください。)  If j * lngOffset + i > lngCount - 1 Then

taru_thunder
質問者

お礼

おおおおお~!! 完璧です!! ありがとうございます!!! 本当に助かりました!!! (^^)v

その他の回答 (4)

  • palmmy
  • ベストアンサー率38% (841/2170)
回答No.4

>「ユーザ定義型は定義されていません」と出てしまいます。 ・フォームのデザインを開き ・[表示]-[コード]でコードを表示し ・[ツール]-[参照設定]を確認し、 (1)Visual Bsic For Application (2)Microsoft Access XX Object Library (3)Microsoft DAO XX Object Library (4)‥ となっているか確認してください。(XXはバージョンで違う) DAOが3番目に無いとエラーが出ます。 >テーブルとクエリとレポートしか使っていないのです。 それでも出来ますでしょうか? 出来ると思います。 ・クエリにもテーブルに追加した[Number]フィールドを追加してください。 ・Set MyTBL = MyDB.OpenRecordset("テーブル1", dbOpenDynaset) のテーブル1をクエリーの名前に変更してください。 ・レポートは[Number]順でソートしてください。 一部バグがありましたので修正しました。 Dim i As Integer Dim j As Integer Dim MyDB As Database Dim MyTBL As Recordset Dim lngCount As Long Dim lngOffset As Long Set MyDB = CurrentDb Set MyTBL = MyDB.OpenRecordset("クエリ1", dbOpenDynaset) i = 0 j = 0 MyTBL.MoveLast lngCount = MyTBL.RecordCount lngOffset = 4 MyTBL.MoveFirst Do Until MyTBL.EOF  MyTBL.Edit  MyTBL![Number] = i + j * lngOffset  MyTBL.Update  j = j + 1  If j * lngOffset + i - 1 >= lngCount Then   i = i + 1   j = 0  End If  MyTBL.MoveNext Loop

taru_thunder
質問者

お礼

おおお~~!! できました!! 思い描いているように並びました!! ありがとうございます!!! 明日さっそく仕事場でやってきます^^ 助かりました!! ありがとうございました^^

taru_thunder
質問者

補足

今日さっそく仕事場でやってきました^^ ですが、最後のページの最後の行のあたりが少し変なのです。ソートがかかっていないのです。 最後の行と手前の1行だけですので前に比べると随分ラクになり助かりました^^ もし、何かアドバイスがありましたらお教え願えませんでしょうか? たびたびすみません。

  • palmmy
  • ベストアンサー率38% (841/2170)
回答No.3

>しかし私はVB知らないのです…(>ロ<;) VBA使うしか手が無いと思います‥(+o+) (1)元になるテーブルに[Number]というフィールドを追加する。(数値) (2)フォームのデザインでボタンを配置する。 (3)ボタンのプロパティーで"クリック時"に#2のプログラムを貼り付ける。 (4)参照設定に"Microsoft DAO‥"を追加する。 という手順ですが、どうしましょう‥。

taru_thunder
質問者

お礼

お返事ありがとうございます! 手順通りにやってみたのですが MyDB As Database のところでエラーが出てしまいます。 「ユーザ定義型は定義されていません」 と出てしまいます。 それと宛名ラベルを印刷する際は (オブジェクトっていうのかな…)テーブルとクエリとレポートしか使っていないのです。 それでも出来ますでしょうか? たびたびすみません…><

  • palmmy
  • ベストアンサー率38% (841/2170)
回答No.2

テーブルに1つダミーのフィールドを作り、印刷前にVBAで番号を振って、印刷はその番号順にすればいかがでしょう。 ◎4列でテーブル1にデータがある場合 Dim i As Integer Dim j As Integer Dim MyDB As Database Dim MyTBL As Recordset Dim lngCount As Long Dim lngOffset As Long Set MyDB = CurrentDb Set MyTBL = MyDB.OpenRecordset("テーブル1", dbOpenDynaset) i = 0 j = 0 MyTBL.MoveLast lngCount = MyTBL.RecordCount lngOffset = Int(lngCount / 4 + 0.5) MyTBL.MoveFirst Do Until MyTBL.EOF  MyTBL.Edit  MyTBL![Number] = i + j * lngOffset  MyTBL.Update  j = j + 1  If j = 4 Then   i = i + 1   j = 0  End If Loop

taru_thunder
質問者

お礼

お返事ありがとうございます。 しかし私はVB知らないのです…(>ロ<;)

  • o23
  • ベストアンサー率36% (64/175)
回答No.1

こんばんは!ちょっとわかりにくいので補足してください。 例えば横3列×縦2列のラベルがあったとして(1ページに6個のラベル)、全部で2ページあったとしたら --- 1P ABC DEF 2P GHI JKL ---- 1P ACE BDF 2P GIK HJL ---- 1P ACE GIK 2P BDF HJL とか、どうしたいのでしょう?

taru_thunder
質問者

補足

わかりにくくてすみません。 1P目は AIQY BJRZ CKS DLT 2P目は EMU FNV GOW HPX というふうに印刷したいのです。

関連するQ&A

  • アクセスでの宛名ラベル作成

    お世話になります。 アクセス(WINXP アクセス2002)で住所録を作成しました。 クエリで抽出したデータを元に宛名ラベルを作りたいのですが、 ウィザードで作成されたラベルは1枚に複数レコードが入るラベルです。 1つのレコードで1枚の宛名ラベルを作成したいのですが・・・。 1枚の宛名ラベルに10枚ラベルシールがあるとしたら、10枚全て 同一のものを作成したいのです。 エクセルデータを元にワードの差込印刷だと出来るのですが・・・。 アクセスのみで行いたいので困っています。 宜しくお願いします。

  • アクセス レポートの宛名ラベルウィザード 5行しか表示されない

    お世話になります。 Access2003で、レポートの宛名ラベルウィザードを使用して宛名ラベルを作りました。 宛名ラベルは、42mm×84mm 2列のタイプです。 通常は、1ページに、6行(ラベル12個分)表示されると思うのですが、 5行(ラベル10個分)しか表示されません。 そのため、1ページ分の下部分が余白になっています。 なぜでしょうか?? よろしくお願いします。

  • Access2013での宛名ラベルウィザードにない

    お世話になります。 Access2013での宛名ラベルウィザードで質問がございます。 「PLUS ME558T」の宛名ラベルを作成したいのですが、 ウィザードでこのラベルの種類が見当たりませんでした。 この場合、ユーザー定義ラベルで作成するしかないのでしょうか? メーカーサイト「PLUS社」やMicrosoft社でラベルのデータフォーマット のダウンロードができたりしますでしょうか? (検索したのですが見当たりませんでした) どうぞよろしくお願いいたします。

  • アクセスの宛名ラベル作成について教えてください

    アクセスのレポートで宛名ラベルを作成しようと 思っていますが、 ユーザー定義ラベルでサイズを調整はできるのですが、 「列数」だけ設定できて、 「行数」が設定できません。 縦7列、横3列にしたいのですが、どうしたらよいでしょうか?

  • Access97での宛名ラベルについて

    Access97で宛名ラベルを作っています。 ラベルはA-oneの31063を使いたいのですが、Access97の ラベルウィザードにはA-oneの31063がありません。 ユーザー定義ラベルで出そうと思ったのですがうまくいかず、 どうすればよいのか悩んでいます。 使用目的はバーコード化しての印刷です。

  • はがき宛名印刷ウィザード レコードを削除したい

    Word2007ではがき宛名印刷ウィザードより宛名を「個々のドキュメントの編集」でレコード(宛名)毎にレイアウトを編集しています。 印刷するときに不要な宛名を除外したいので個々のドキュメントより印刷しないレコード(宛名)を削除したいので方法を教えてください。 メイン文書作成の時に「アドレス帳の編集」で不要な宛先のチェックを外しておけば良かったのですが忘れていました。 各レコード(宛名)は改ページで区切られているのですがそのページの削除方法がわかりません。 よろしくお願いします。

  • アクセス2000の宛名ラベル印刷について

    基礎的なことだと思いますが、お答えをお願いします。 アクセス2000において宛名ラベル印刷を行う際、3列6行の18枚の宛名ラベルシールがあるのですが、18名分印刷する人数がいない場合、次回に残りの途中からの印刷はできるのでしょうか? 向かって左上からしか印刷ができないと、どんどん宛名ラベルシールが無駄になっていってしまうので、途中から印刷できる方法をお知りの方は、教えてください。 よろしくお願いします。 仕事で私用してるので、早めのご回答がかなり嬉しいです。

  • Accessでの宛名ラベルの印刷について

    Access2003で抽出した1件の住所録データを 宛名ラベル2列x6段のすべてに印刷させたいのですが 方法がよくわかりません。 教えていただけませんか。

  • Access2003のラベル印刷について教えてください。

    前任者が作った印刷ラベルを修正しました。 差出人のラベルなので、同じデータが何コマも印刷される様式です。 コマ数は縦3×横10あります。 修正前は、30コマが1ページに印刷されるようになっていたのですが、一コマ内に一行増やしたので、 1ページ目に印刷されるのは縦3×横8、 2ページ目に印刷されるコマ数が縦3×横2になって余白幅が広くなってしまいました。 私は1ページ目だけ縦3×横8の24コマが印刷され、2ページ目はカットしたいのです。 もっとラベルが必要なら印刷時の「印刷部数」の調節で対応したいのです。 どこの設定を変えればそのようにできるのでしょうか? どなたかご教示ください。 宜しくお願いいたします。

  • ACCESSで、1ページに全て同じ宛名を印刷するには?

    宛名ラベル印刷について教えてください。 テーブルに1件(1レコード)の宛名があります。それをソースに宛名ラベルを作成 すると、1枚分の宛名ラベルが印刷されるのですが、1ページの宛名ラベル全てに (12枚とか16枚とか)同じ宛名を印刷する方法はありますか? テーブルに、12レコードとか16レコードぶん同じ内容をコピーすればできますが、 あくまで1レコードで・・・。 どなたかお教えください。

専門家に質問してみよう