Access (VBA)

Access VBAに関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 10 Home : Access 2016)
フォームのデータを連続して印刷
投稿日時: 19/03/19 13:41:03
投稿者: miyama2305

フォーム工事台帳にコンボボックス(cmb1)を設置
cmb1は、値集合ソースを工事NOとしています。
工事NOの内容は以下です。
30001
30002
30003
30004
30005
以降2000件程度あります。
cmbで工事NOを選択すると、帳票フォームに
その明細が一覧表示されます。
以下のコードです。
Private Sub cmb1_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyDown Then
    '↓キーならコンボをドロップダウン
cmb1.Dropdown
End If
End Sub
1工事ごとに選択して表示します。
できれば、自動的に連続表示することは出来ないのでしょうか。
というのは、連続で印刷したいのです。
1つずつ選択して印刷するのは、大変なものですから。
excelだと、
以下のコードで連続印刷できます。
Sub 工事台帳一括a4印刷()
Sheets("工事台帳").ComboBox1.ListIndex = 0
Dim i As Long
Dim h As Long
For i = 0 To ActiveSheet.OLEObjects("Cmb1").Object.ListCount - 1
Range("q13").Value = ActiveSheet.OLEObjects("Cmb1").Object.List(i, 0)
-----
ご指導お願いします。
 
 
 

回答
投稿日時: 19/03/19 14:48:05
投稿者: sk

引用:
というのは、連続で印刷したいのです。
1つずつ選択して印刷するのは、大変なものですから。

何を(どのオブジェクトを)印刷なさりたいのでしょうか。
 
引用:
フォーム工事台帳にコンボボックス(cmb1)を設置
cmb1は、値集合ソースを工事NOとしています。

引用:
cmbで工事NOを選択すると、帳票フォームに
その明細が一覧表示されます。

引用:
1工事ごとに選択して表示します。

それはそういう機能として完結しているのではないでしょうか。
(帳票フォームのレコードソースをパラメータクエリとしているのか、
フォームフィルターを制御しているのか、実装の方式が不明ですが)
 
引用:
できれば、自動的に連続表示することは出来ないのでしょうか。
というのは、連続で印刷したいのです。
1つずつ選択して印刷するのは、大変なものですから。

帳票フォームのレコードソースであるテーブルの
全てのレコードを印刷したいのであれば、
そのテーブルをレコードソースとするレポートを
作成なされば済む問題ではないのでしょうか。

投稿日時: 19/03/19 17:24:47
投稿者: miyama2305

sk様ありがとうございます
 
工事台帳フォームのcmb1に30001を表示します。enterをクリック
工事台帳コードに以下を記述
rivate Sub cmb1_AfterUpdate()
Me.textbox1 = Me.cmb1.Column(0)
kouziboerUpdate
Me.cmb1.SetFocus
end sub
以下のコードは、仕訳帳の中から、該当する
工事NOのデータを集めて、取引内容を
表示するためで、最終的に工事台帳テーブルに表示します。
kouziboerUpdate
 
 
工事台帳フォームのレコードソースを工事台帳テーブルに。
帳票フォームにテキストボックスを配置
工事台帳テーブルのデータをそのまま表示です。そして印刷
再度cmb1に30002を表示します。enterクリック
----以上繰り返しです。
 
お願いしたのは、30001を表示して終了したら
cmb1に自動的に30002を表示してクリック、データを表示。
今度は30003というように自動で繰り返すことが
出来ればと、お願いした訳です。
 
 
 
 
 
 

回答
投稿日時: 19/03/19 17:55:42
投稿者: sk

引用:
以下のコードは、仕訳帳の中から、該当する
工事NOのデータを集めて、取引内容を
表示するためで、最終的に工事台帳テーブルに表示します。
kouziboerUpdate

([工事台帳テーブル]ではなく)
[仕訳帳]をレコードソースとするレポートを
作成なさればよいのではないでしょうか。
 
引用:
お願いしたのは、30001を表示して終了したら
cmb1に自動的に30002を表示してクリック、データを表示。
今度は30003というように自動で繰り返すことが
出来れば

そのレポートにおいて、[工事NO]ごとに
グループ化/並べ替え/改ページが行なわれるように
なっていれば充分なのではないでしょうか。

投稿日時: 19/03/19 18:34:25
投稿者: miyama2305

 sk様 ありがとうございます。
>[仕訳帳]をレコードソースとするレポートを
>作成なさればよいのではないでしょうか。
>そのレポートにおいて、[工事NO]ごとに
>グループ化/並べ替え/改ページが行なわれるように
>なっていれば充分なのではないでしょうか。
 
レポートの使い方が、あまり解らないので
勉強してみます。
ありがとうございました
[/quote]