アクセス小僧:病院⇒薬局名を自動入力 [コンピューター]
医療費控除データベースで、この病院なら、薬局はここ、って決まっているとき、
薬局名を自動的に入力する方法です。
病院マスターテーブルで、薬局IDを追加して、セットで行く薬局の病院IDを設定しておきます。
☆MT_病院
病院ID=1, 病院名=Aクリニック, 薬局ID=2
病院ID=2, 病院名=B薬局, 薬局ID=0
病院ID=3, 病院名=C医院, 薬局ID=0
[説明]
・Aクリニック(病院ID=1)を受診したとき、B薬局(病院ID=2)で薬をもらう。
・B薬局(病院ID=2)のレコードは、薬局ID=0とする。
・C医院(病院ID=3)は診察後、そこで薬をもらうので、薬局ID=0とする。
病院IDから、薬局ID(薬局の病院ID)を求める関数を、標準モジュールに登録します。
Public Function myFPharmacyID1(myHpId As Integer) As Integer
' 【機能】病院ID ⇒ 薬局ID
' 【引数】
' myHpId : 病院ID
' 【変数】
Dim myPhmId As Integer ' 薬局ID
' 【コード】
myPhmId = DLookup("薬局ID", "MT_病院", "病院ID=" & myHpId)
If myPhmId = 0 Then
myFPharmacyID1 = myHpId ' 薬局IDが0なら、病院IDを返す
Else
myFPharmacyID1 = myPhmId ' 薬局IDが0以外なら、薬局IDを返す
End If
End Function
医療費入力フォームの病院IDの既定値を上記の関数を使って、次の様に設定します。
=myFPharmacyID1(DLast("病院ID","T_医療費"))
DLast("病院ID","T_医療費")で最後(1個前)のレコードの病院IDを求めます。
これで、Aクリニック(病院ID=1)の支払いレコードを登録後、新規レコードに移動すると、
病院IDがB薬局(病院ID=2)になっているはずです。
ちなみに、データベースのリレーションは、こうなっています。
薬局名を自動的に入力する方法です。
病院マスターテーブルで、薬局IDを追加して、セットで行く薬局の病院IDを設定しておきます。
☆MT_病院
病院ID=1, 病院名=Aクリニック, 薬局ID=2
病院ID=2, 病院名=B薬局, 薬局ID=0
病院ID=3, 病院名=C医院, 薬局ID=0
[説明]
・Aクリニック(病院ID=1)を受診したとき、B薬局(病院ID=2)で薬をもらう。
・B薬局(病院ID=2)のレコードは、薬局ID=0とする。
・C医院(病院ID=3)は診察後、そこで薬をもらうので、薬局ID=0とする。
病院IDから、薬局ID(薬局の病院ID)を求める関数を、標準モジュールに登録します。
Public Function myFPharmacyID1(myHpId As Integer) As Integer
' 【機能】病院ID ⇒ 薬局ID
' 【引数】
' myHpId : 病院ID
' 【変数】
Dim myPhmId As Integer ' 薬局ID
' 【コード】
myPhmId = DLookup("薬局ID", "MT_病院", "病院ID=" & myHpId)
If myPhmId = 0 Then
myFPharmacyID1 = myHpId ' 薬局IDが0なら、病院IDを返す
Else
myFPharmacyID1 = myPhmId ' 薬局IDが0以外なら、薬局IDを返す
End If
End Function
医療費入力フォームの病院IDの既定値を上記の関数を使って、次の様に設定します。
=myFPharmacyID1(DLast("病院ID","T_医療費"))
DLast("病院ID","T_医療費")で最後(1個前)のレコードの病院IDを求めます。
これで、Aクリニック(病院ID=1)の支払いレコードを登録後、新規レコードに移動すると、
病院IDがB薬局(病院ID=2)になっているはずです。
ちなみに、データベースのリレーションは、こうなっています。
ヤバイぜ! ありがとうございます(^_0)ノ
ビリギャルを見たケド、ヒロインは恵まれた環境(私立の中高一貫校、問題が起きると、学校に説明に行くやさしい母、授業中、寝ていても退学にならない、優秀な塾講師、理解ある友人、週6日の塾、慶応とはいえ、受験科目が少ない)だったから、受かっても、大してサプライズではない、みたいな。。[__猫] 今でしょ先生が批判しているとか。。?
ドラゴン桜の方が、状況は厳しいかな。。
梅ちゃん先生は???
by cheese999 (2016-11-26 07:20)