メールマガジン【アクセスで作るシリーズ】
バックナンバー 【住所録ソフト編】 Vol.46
■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□
ACCESSで作るシリーズ 【住所録ソフト編】
発 行 : Yoshihisa Fukuda 2003.03.22 Vol.46
■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□
--------------------------------------
今回は、住所録印刷の仕組みとその解説です。
______________________________________
□ 住所録印刷条件設定画面の解説。
Vol.42の「□ プログラムでコントロールの制御を行います。」のプログラムの解説
を行います。
1.フォームの[開く時]のイベントプロシージャ
Private Sub Form_Open(Cancel As Integer)
Me.GroupCombo2.Enabled = False
Me.SelectFromCombo.Enabled = False
Me.SelectToCombo.Enabled = False
End Sub
(1)2行目の Me.GroupCombo2.Enabled = False はグループ化の2階層目のコンボ
ボックスを使用不可にしています。
これはフォームを開いた時はグループ化の1階層目は[なし]になっているので、
1階層目が[なし]の場合、2階層目は指定できなくしています。
(2)3行目、4行目の Me.SelectFromCombo.Enabled = False と
Me.SelectToCombo.Enabled = False は、50音抽出条件の開始と終了の50音
の指定コンボボックスを使用不可にしています。
これは、フォームを開いた時は、50音抽出条件は[全て]になっているので
50音の開始、終了を使用できなくしています。
2.グループ1コンボボックスの[更新後処理]のイベントプロシージャ
Private Sub GroupCombo1_AfterUpdate()
If Me.GroupCombo1 = "なし" Then
Me.GroupCombo2.Enabled = False
Else
Me.GroupCombo2.Enabled = True
End If
End Sub
(1)2行目の If Me.GroupCombo1 = "なし" Then はグループ1の指定が[なし]の
場合を判別しています。
(2)3行目の Me.GroupCombo2.Enabled = False はグループ1が[なし]だった場合、
グループ2のコンボボックスを使用不可にして、指定できなくしています。
(3)5行目の Me.GroupCombo2.Enabled = True はグループ1が[なし]でなかった
場合で、グループ2のコンボボックスを使用可能にしています。
3.50音抽出条件オプショングループの[更新後処理]のイベントプロシージャ
Private Sub SelectFrame_AfterUpdate()
If Me.SelectFrame = 1 Then
Me.SelectFromCombo.Enabled = False
Me.SelectToCombo.Enabled = False
Else
Me.SelectFromCombo.Enabled = True
Me.SelectToCombo.Enabled = True
End If
End Sub
(1)2行目の If Me.SelectFrame = 1 Then は50音抽出条件の指定が[全て]か
[50音指定]かを判別しています。
(2)3行目、4行目は50音抽出条件の指定が[全て]の場合で、3行目の
Me.SelectFromCombo.Enabled = False は開始のコンボボックスを、4行目の
Me.SelectToCombo.Enabled = False は終了のコンボボックスをそれぞれ、
使用不可にしています。
(3)6行目、7行目は50音抽出条件の指定が[50音指定]の場合で、6行目の
Me.SelectFromCombo.Enabled = True は開始のコンボボックスを、7行目の
Me.SelectToCombo.Enabled = True は終了のコンボボックスをそれぞれ使用
可能にしています。
次に、Vol.44の「□ 住所録印刷指示画面の印刷ボタンにプログラムを記述する。」
のプログラムの解説を行います。
1.印刷ボタンの[クリック時]のイベントプロシージャ
Private Sub PrintBtn_Click()
On Error GoTo Err_PrintBtn_Click
Dim stDocName As String
Dim stLinkCriteria As String
Call SetGroup
stLinkCriteria = SetWhereStr
stDocName = "AddressRep_W"
DoCmd.OpenReport stDocName, acPreview, , stLinkCriteria
Exit_PrintBtn_Click:
Exit Sub
Err_PrintBtn_Click:
MsgBox Err.Description
Resume Exit_PrintBtn_Click
End Sub
(1)2行目の On Error GoTo Err_PrintBtn_Click はエラーが発生した場合の処理
の流れを指定しています。
この場合、エラーが発生したら Err_PrintBtn_Click: と言うラベルの行へ
処理が飛びます。
(2)4行目と6行目は変数の宣言です。
stDocName と言う変数と、stLinkCriteria と言う変数をそれぞれ文字列型で
宣言しています。
(3)8行目の Call SetGroup は SetGroup と言うサブルーチンを呼び出しています。
(4)9行目の stLinkCriteria = SetWhereStr は SetWhereStr と言うサブルーチン
を呼び出して、その返り値を stLinkCriteria と言う変数に代入しています。
(5)11行目の stDocName = "AddressRep_W" は stDocName と言う変数に文字列
"AddressRep_W" を代入しています。
(6)12行目の DoCmd.OpenReport stDocName, acPreview, , stLinkCriteria は
レポートをプレビューで開いています。
開くレポートは第1引数の stDocName で(5)で代入した "AddressRep_W"
になります。
第2引数の acPreview がプレビューを意味します。
(7)14行目の Exit_PrintBtn_Click: はラベルです。
(8)15行目の Exit Sub は、このサブルーチン、すなわち印刷ボタンの[クリック
時]のイベントプロシージャを終了します。
(9)17行目の Err_PrintBtn_Click: もラベルです。
(1)で指定したように、エラーが発生した場合、このラベルの所に処理が
移動します。
(10)18行目の MsgBox Err.Description はエラー時のエラーの内容をメッセージ
ボックスで表示しています。
(11)19行目の Resume Exit_PrintBtn_Click は Exit_PrintBtn_Click:のラベル
の位置から、プログラムを再開します。
今回はここまでです。
SetGroup と SetWhereStr の2つのサブルーチンは次回に解説します。
______________________________________
□ お知らせ。
ホームページのドメインについて。
失効されると思われたドメインが、何とか失効を免れました。
従来どおり、http://www.fsc-net.com でホームページを継続していきますので
今後とも、よろしくお願いいたします。
______________________________________
■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□
◇ ACCESSで作るシリーズ 【住所録ソフト編】
◇ 発 行 元 :Yoshihisa Fukuda(福田 義久)
◇ ご意見・ご要望
ご質問等 :fukud@nifty.com
◇ このメールマガジンは、インターネットの本屋さん『まぐまぐ』を利用して発行
しています。(まぐまぐID:0000077071)
◇ バックナンバー:http://www.fsc-net.com
◇ 登録・解除 :http://www.fsc-net.com
Copyright(C) 2001-2003 Yoshihisa Fukuda All rights reserved.
◇転載について
このメールマガジンの無断転載などは、一切禁止です。
転載をご希望の方は、事前にメールで連絡をください。
◇免責
このメールマガジン及びホームページの内容による、いかなる損害、障害などに
関して発行者は一切の責任を負いません。
掲載広告についても同様です。
______________________________________
■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□
ACCESSで作るシリーズ 【住所録ソフト編】
発 行 : Yoshihisa Fukuda 2003.03.22 Vol.46
■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□
--------------------------------------
今回は、住所録印刷の仕組みとその解説です。
______________________________________
□ 住所録印刷条件設定画面の解説。
Vol.42の「□ プログラムでコントロールの制御を行います。」のプログラムの解説
を行います。
1.フォームの[開く時]のイベントプロシージャ
Private Sub Form_Open(Cancel As Integer)
Me.GroupCombo2.Enabled = False
Me.SelectFromCombo.Enabled = False
Me.SelectToCombo.Enabled = False
End Sub
(1)2行目の Me.GroupCombo2.Enabled = False はグループ化の2階層目のコンボ
ボックスを使用不可にしています。
これはフォームを開いた時はグループ化の1階層目は[なし]になっているので、
1階層目が[なし]の場合、2階層目は指定できなくしています。
(2)3行目、4行目の Me.SelectFromCombo.Enabled = False と
Me.SelectToCombo.Enabled = False は、50音抽出条件の開始と終了の50音
の指定コンボボックスを使用不可にしています。
これは、フォームを開いた時は、50音抽出条件は[全て]になっているので
50音の開始、終了を使用できなくしています。
2.グループ1コンボボックスの[更新後処理]のイベントプロシージャ
Private Sub GroupCombo1_AfterUpdate()
If Me.GroupCombo1 = "なし" Then
Me.GroupCombo2.Enabled = False
Else
Me.GroupCombo2.Enabled = True
End If
End Sub
(1)2行目の If Me.GroupCombo1 = "なし" Then はグループ1の指定が[なし]の
場合を判別しています。
(2)3行目の Me.GroupCombo2.Enabled = False はグループ1が[なし]だった場合、
グループ2のコンボボックスを使用不可にして、指定できなくしています。
(3)5行目の Me.GroupCombo2.Enabled = True はグループ1が[なし]でなかった
場合で、グループ2のコンボボックスを使用可能にしています。
3.50音抽出条件オプショングループの[更新後処理]のイベントプロシージャ
Private Sub SelectFrame_AfterUpdate()
If Me.SelectFrame = 1 Then
Me.SelectFromCombo.Enabled = False
Me.SelectToCombo.Enabled = False
Else
Me.SelectFromCombo.Enabled = True
Me.SelectToCombo.Enabled = True
End If
End Sub
(1)2行目の If Me.SelectFrame = 1 Then は50音抽出条件の指定が[全て]か
[50音指定]かを判別しています。
(2)3行目、4行目は50音抽出条件の指定が[全て]の場合で、3行目の
Me.SelectFromCombo.Enabled = False は開始のコンボボックスを、4行目の
Me.SelectToCombo.Enabled = False は終了のコンボボックスをそれぞれ、
使用不可にしています。
(3)6行目、7行目は50音抽出条件の指定が[50音指定]の場合で、6行目の
Me.SelectFromCombo.Enabled = True は開始のコンボボックスを、7行目の
Me.SelectToCombo.Enabled = True は終了のコンボボックスをそれぞれ使用
可能にしています。
次に、Vol.44の「□ 住所録印刷指示画面の印刷ボタンにプログラムを記述する。」
のプログラムの解説を行います。
1.印刷ボタンの[クリック時]のイベントプロシージャ
Private Sub PrintBtn_Click()
On Error GoTo Err_PrintBtn_Click
Dim stDocName As String
Dim stLinkCriteria As String
Call SetGroup
stLinkCriteria = SetWhereStr
stDocName = "AddressRep_W"
DoCmd.OpenReport stDocName, acPreview, , stLinkCriteria
Exit_PrintBtn_Click:
Exit Sub
Err_PrintBtn_Click:
MsgBox Err.Description
Resume Exit_PrintBtn_Click
End Sub
(1)2行目の On Error GoTo Err_PrintBtn_Click はエラーが発生した場合の処理
の流れを指定しています。
この場合、エラーが発生したら Err_PrintBtn_Click: と言うラベルの行へ
処理が飛びます。
(2)4行目と6行目は変数の宣言です。
stDocName と言う変数と、stLinkCriteria と言う変数をそれぞれ文字列型で
宣言しています。
(3)8行目の Call SetGroup は SetGroup と言うサブルーチンを呼び出しています。
(4)9行目の stLinkCriteria = SetWhereStr は SetWhereStr と言うサブルーチン
を呼び出して、その返り値を stLinkCriteria と言う変数に代入しています。
(5)11行目の stDocName = "AddressRep_W" は stDocName と言う変数に文字列
"AddressRep_W" を代入しています。
(6)12行目の DoCmd.OpenReport stDocName, acPreview, , stLinkCriteria は
レポートをプレビューで開いています。
開くレポートは第1引数の stDocName で(5)で代入した "AddressRep_W"
になります。
第2引数の acPreview がプレビューを意味します。
(7)14行目の Exit_PrintBtn_Click: はラベルです。
(8)15行目の Exit Sub は、このサブルーチン、すなわち印刷ボタンの[クリック
時]のイベントプロシージャを終了します。
(9)17行目の Err_PrintBtn_Click: もラベルです。
(1)で指定したように、エラーが発生した場合、このラベルの所に処理が
移動します。
(10)18行目の MsgBox Err.Description はエラー時のエラーの内容をメッセージ
ボックスで表示しています。
(11)19行目の Resume Exit_PrintBtn_Click は Exit_PrintBtn_Click:のラベル
の位置から、プログラムを再開します。
今回はここまでです。
SetGroup と SetWhereStr の2つのサブルーチンは次回に解説します。
______________________________________
□ お知らせ。
ホームページのドメインについて。
失効されると思われたドメインが、何とか失効を免れました。
従来どおり、http://www.fsc-net.com でホームページを継続していきますので
今後とも、よろしくお願いいたします。
______________________________________
■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□
◇ ACCESSで作るシリーズ 【住所録ソフト編】
◇ 発 行 元 :Yoshihisa Fukuda(福田 義久)
◇ ご意見・ご要望
ご質問等 :fukud@nifty.com
◇ このメールマガジンは、インターネットの本屋さん『まぐまぐ』を利用して発行
しています。(まぐまぐID:0000077071)
◇ バックナンバー:http://www.fsc-net.com
◇ 登録・解除 :http://www.fsc-net.com
Copyright(C) 2001-2003 Yoshihisa Fukuda All rights reserved.
◇転載について
このメールマガジンの無断転載などは、一切禁止です。
転載をご希望の方は、事前にメールで連絡をください。
◇免責
このメールマガジン及びホームページの内容による、いかなる損害、障害などに
関して発行者は一切の責任を負いません。
掲載広告についても同様です。
______________________________________
■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□