2012-01-30 13 views
1

私がやりたいことはとてもシンプルですが、私はVBAにとって全く新しいものです。レポートを開いてページ番号でフィルタリングして、ページ2だけを開くことができるようにしたいと思います。既にいくつのページがあるかについての変数があります。私はちょうどDoCmd.OpenReport関数のフィルタ引数に何を入れるかを知る必要があります。VBAを使用してMicrosoft Accessのレポートを1ページだけ開きます

全体的な目標は、各ページを個別のPDFとしてエクスポートすることです。私は上記を行うことができれば、私は残りをすることができますが、本当にシンプルな何かが私は行方不明、私は提案に開放されています。ありがとう。

これはAccess 2010です。

答えて

1

単一のページを印刷するには、プリンタオブジェクト(http://msdn.microsoft.com/en-us/library/ff837177.aspx)とPrintOutコマンド(http://msdn.microsoft.com/en-us/library/aa220516(v=office.11).aspx)を使用できますが、顧客レコードなどの自然な中断が発生している可能性がありますOpenReportのWhere引数を使用すると、簡単に別のレポートを取得できます。

EDIT REは非常に大まか

コメント:

sSQL = "SELECT SuitableField FROM Atable ORDER BY Something" 

Set rs = CurrentDB.OpenRecordset(sSQL) 

Do While Not rs.EOF 
    DoCmd.OpenReport "TheReport", acViewNormal, , _ 
     "SuitableField='" & rs!SuitableField & "'" 
    rs.MoveNext 
Loop 

あなたは、あなたがそれらのデータでレポートを選択していることを確認するためにいくつかの作業を行うことを望むかもしれません。

+0

ありがとうございます!私はPrintOutを使うことを考えましたが、ユーザにプロンプ​​トを出させたくありません。最初のフィールドで分割する方法について少し詳しく教えてください。私は最初のフィールドを知っていると仮定しますが、その中に何が入っているのか分かりません。 – Andrew

+0

@Drew最初のフィールドは何ですか?クエリー、テーブル、SQL文字列に基づいたレポートは何ですか? – Fionnuala

+0

私は最初のフィールドが文字列であり、レポートはクエリに基づいていると考えています。私はこのデータベースでこれほど多くのことをしていませんが、これはこの仕事の3週間目です。このレポートのコーディングが完了したら、私は確かにそこにいませんでした。私は今日の午後に戻り、偵察をすることができます。私は今職場にいません。 – Andrew

関連する問題