2008-07-31
先日、事務のほうからアクセスでラベル印刷をするので、開始位置を調整できるようにしてほしいと依頼がありました。
アクセスのレポート機能を使い、ラベル印刷を行っているのですが、いつも先頭から印刷できるわけではないので、当然の要求ですね!
しかし、今まで行ったことがなく、ネットで調べてみました。 マイクロソフトのサポートサイトに情報が載っていたので、それを参考に作りました。
サイトに乗っていた情報はおそらくアクセス2003のものだと思うのですが、現在使っている2007でも同じようにできるようです。
ます、ラベルを印刷するフォームはすでにあるので、そのフォームに開始を指定する機能を追加していきます。
レポートのデザインを開きます。初期設定では、「レポートヘッダー/フッター」が非表示になっているのですが、表示させる必要があります。
アクセス2007で表示させる方法ですが、「配置」タブの「表示/非表示」の項目の中に、「レポートヘッダー/フッター」のボタンがあります。 一番右端にあると思いますので、クリックします。
クリックすると、デザイン画面の上下に「レポートヘッダー」と「レポートフッター」が表示されると思います。
まず最初に、「レポートヘッダー」をクリックして選択し、プロパティを開きます。
プロパティの「イベント」タブの、「フォーマット時」に「イベントプロシージャ」を指定し、VBAエディターを開きます。
まず最初に変数を登録します。
この変数は、共通でつかうので、「General」に登録します。
要は開いた画面の先頭に登録すればよいです。
*************************
Option Explicit
Dim i, k As Integer
*************************
登録したら、フォーマットのところにも登録します。
上で登録した、「i」と「k」の変数を設定します。
*************************
i = 0
k = inputbox("開始位置")
*************************
以上のように入力します。
これでレポートを印刷するときに開始位置を入力するための 画面が表示されます。
次はデザイン画面の「詳細」を選択し、プロパティを開いてください。
「詳細」のプロパティでも「フォーマット時」に「イベントプロシージャ」を選択し、VBAエディターを起動してください。
*************************
If i < k - 1 Then
Me.MoveLayout = True
Me.NextRecord = False
Me.PrintSection = False
i = i + 1
End If
*************************
以上のように入力します。
これで設定は完了です。
印刷プレビューで画面を開くと、最初にインプットボックスが開き、開始位置を入力するように促されますので、開始したい数値入力して、「OK」を押してください。
正しく設定されていれば、指定した場所から表示されていると思います。
今回はインプットボックスから入力しましたが、フォームに項目を作成し、前もって設定しておくことも可能なので、状況に応じて利用してみてください。
セ記事を書く
セコメントをする