|    | 
     下記はアクセスに詳しい人が作ったものです。ラベル印刷をする際のモジュールにある印刷のプログラムのコピーです。これは、印刷する際、患者ID=Nullとして空白を作成していますが、そうでなくてスキップする方法を教えてください。 
Option Compare Database 
Public 入力患者ID As Long, 新患者, Wcnt, Werr, 枚数, i, AkiLabel As Integer 
Dim db As Database, mySQL, Wsyori As String 
Dim F患者ID, F処方, F印刷, F原始 As Recordset 
 
Function ラベル印刷(Wsyori, Werr) 
 
   
  Set db = CurrentDb 
  mySQL = "DELETE * FROM TT_ラベル印刷": db.Execute mySQL 
  mySQL = "DELETE * FROM TT_ラベル原始": db.Execute mySQL 
  If Wsyori = "個人" Then DoCmd.OpenQuery "Q_個人のラベル作成" 
  If Wsyori = "病棟" Then DoCmd.OpenQuery "Q_病棟のラベル作成" 
  Werr = 0 
  If DCount("*", "[TT_ラベル原始]") = 0 Then 
    MsgBox ("ラベル作成対象レコードはありません"): 
    Werr = 1 
    Exit Function 
  End If 
  AkiLabel = InputBox("空きラベル枚数を入力してください", "ラベル印刷", 0) 
  Set F印刷 = db.OpenRecordset("TT_ラベル印刷", dbOpenTable) 
  Set F原始 = db.OpenRecordset("TT_ラベル原始", dbOpenTable) 
  For i = 1 To AkiLabel: GoSub F空白ラベル作成: Next 
  Do Until F原始.EOF 
    枚数 = 0 
    For i = 1 To F原始![枚数]: GoSub Fラベル作成: Next 
    F原始.MoveNext 
 Loop 
 If DCount("*", "[TT_ラベル印刷]") = 0 Then 
    MsgBox ("ラベル作成対象レコードはありません"): 
    Werr = 1 
    Exit Function 
  End If 
 DoCmd.OpenReport "R_ラベル作成", acNormal 
 'DoCmd.OpenReport "R_ラベル作成", acPreview 
  Exit Function 
   
F空白ラベル作成: 
  F印刷.AddNew: F印刷![患者ID] = Null: F印刷.Update: Return 
Fラベル作成: 
  枚数 = 枚数 + 1 
  F印刷.AddNew 
  F印刷![患者ID] = F原始![患者ID] 
  F印刷![氏名] = F原始![氏名] & "様" 
  If F原始![氏名] <> F原始![ふりがな] Then F印刷![ふりがな] = F原始![ふりがな] 
   
  F印刷![病棟] = F原始![病棟] 
  'F印刷![処方ID] = F原始![処方ID] 
  F印刷![品名] = F原始![品名] 
  F印刷![管理単位] = F原始![管理単位] 
  F印刷![施行日表題] = "施行日" 
  If Wsyori = "病棟" Then F印刷![施行日] = Format(Forms![F_初期画面]![施行日], "ggge""年""m""月""d""日") 
  If Wsyori = "個人" Then F印刷![施行日] = Format(Forms![F_患者処方]![施行日], "ggge""年""m""月""d""日") 
  ' F印刷![枚数] = "(" & 枚数 & "/" & F原始![枚数] & ")" 
  F印刷.Update 
 Return 
 
End Function 
 | 
     
    
   |