⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 患者使用药品查询.frm

📁 这是一个医院管理系统中的院长查询模块
💻 FRM
📖 第 1 页 / 共 2 页
字号:
      Top             =   165
      Value           =   1  'Checked
      Visible         =   0   'False
      Width           =   1305
   End
   Begin VB.Label Label2 
      Caption         =   "住院号"
      BeginProperty Font 
         Name            =   "隶书"
         Size            =   14.25
         Charset         =   134
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      ForeColor       =   &H00008000&
      Height          =   285
      Left            =   150
      TabIndex        =   22
      Top             =   150
      Width           =   915
   End
   Begin VB.Label Label1 
      Caption         =   "——"
      BeginProperty Font 
         Name            =   "隶书"
         Size            =   12
         Charset         =   134
         Weight          =   400
         Underline       =   0   'False
         Italic          =   -1  'True
         Strikethrough   =   0   'False
      EndProperty
      ForeColor       =   &H00008000&
      Height          =   315
      Index           =   1
      Left            =   2100
      TabIndex        =   8
      Top             =   660
      Width           =   855
   End
End
Attribute VB_Name = "frmMedicineQuery"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False

Private Sub Command1_Click()
 Dim s(5) As String
 Dim S1 As String
 Dim S2 As String
 Dim i As Integer
 Dim j As Integer
 Dim rs As Recordset
 Dim t As Boolean
' t = False
' For I = 0 To 5
'   If chkYAO(I).Value Then
'    t = True
'    Exit For
'   End If
' Next I
' If Not t Then
'   Exit Sub
' End If
 'If chkYAO(0).Value Then
 If chkYAO(1).Value Then
  If Text3.Text <> "" Then
      Data1.RecordSource = "SELECT zy_id as 住院号, HJ_DATE AS 划价时间,YP_NAME AS 药品名称,AMOUNT AS 数量,STANDARD AS 规格,UNIT AS 单位,RETAIL AS 单价,HJ_ID AS 划价号 FROM YJ3_HJ where jk_flag='1' and KS_ID='" + Trim(Text2.Text) + "' and YP_NAME LIKE '" + Text3.Text + "%' and HJ_DATE>'" + CStr(CDate(Text4.Text) - 1) + "' AND HJ_DATE<'" + CStr(CDate(Text5.Text) + 1) + "'union " + _
                      "SELECT zy_id as 住院号,HJ_DATE AS 划价时间,YP_NAME AS 药品名称,AMOUNT AS 数量,STANDARD AS 规格,UNIT AS 单位,RETAIL AS 单价,HJ_ID AS 划价号 FROM YJ2_HJ WHERE jk_flag='1' and GH_ID='0' and KS_ID='" + Trim(Text2.Text) + "' and YP_NAME LIKE '" + Text3.Text + "%' and HJ_DATE>'" + CStr(CDate(Text4.Text) - 1) + "' AND HJ_DATE<'" + CStr(CDate(Text5.Text) + 1) + "' order by hj_date"
      Data1.Refresh
  Else
      Data1.RecordSource = "SELECT zy_id as 住院号, HJ_DATE AS 划价时间,YP_NAME AS 药品名称,AMOUNT AS 数量,STANDARD AS 规格,UNIT AS 单位,RETAIL AS 单价,HJ_ID AS 划价号 FROM YJ3_HJ where jk_flag='1' and KS_ID='" + Trim(Text2.Text) + "'  and HJ_DATE>'" + CStr(CDate(Text4.Text) - 1) + "' AND HJ_DATE<'" + CStr(CDate(Text5.Text) + 1) + "'union " + _
                      "SELECT zy_id as 住院号,HJ_DATE AS 划价时间,YP_NAME AS 药品名称,AMOUNT AS 数量,STANDARD AS 规格,UNIT AS 单位,RETAIL AS 单价,HJ_ID AS 划价号 FROM YJ2_HJ WHERE jk_flag='1' and GH_ID='0' and KS_ID='" + Trim(Text2.Text) + "'  and HJ_DATE>'" + CStr(CDate(Text4.Text) - 1) + "' AND HJ_DATE<'" + CStr(CDate(Text5.Text) + 1) + "' order by hj_date"
      Data1.Refresh
  End If
 End If
 
 Set rs = db.OpenRecordset("select zy_ryrq from zy_in_out where zy_id='" + Text1.Text + "'")
 If Not rs.EOF Then
   s(0) = "ZY_ID='" + Trim(Text1.Text) + "' and hj_date>cast('" + CStr(rs!zy_ryrq) + "' as datetime)"
 Else
   s(0) = "ZY_ID='" + Trim(Text1.Text) + "'"
 End If
 rs.Close
 s(1) = "KS_ID='" + Trim(Text2.Text) + "'"
 s(2) = "YP_NAME LIKE '" + Text3.Text + "%'"
 s(3) = "HJ_DATE>'" + CStr(CDate(Text4.Text) - 1) + "' AND HJ_DATE<'" + CStr(CDate(Text5.Text) + 1) + "'"
 S1 = "SELECT HJ_DATE AS 划价时间,YP_NAME AS 药品名称,AMOUNT AS 数量,STANDARD AS 规格,UNIT AS 单位,RETAIL AS 单价,HJ_ID AS 划价号 FROM YJ3_HJ where jk_flag='1'"
 S2 = "SELECT HJ_DATE AS 划价时间,YP_NAME AS 药品名称,AMOUNT AS 数量,STANDARD AS 规格,UNIT AS 单位,RETAIL AS 单价,HJ_ID AS 划价号 FROM YJ2_HJ WHERE jk_flag='1' and GH_ID='0'"
 If chkYAO(5).Value Then
   Data1.RecordSource = S1 + " and TF_ID='" + Text6.Text + "' UNION " + S2 + " AND TF_ID='" + Text6.Text + "'"
   Data1.Refresh
   Exit Sub
 End If
 For i = 0 To 3
  If chkYAO(i).Value Then
   S1 = S1 + " and " + s(i)
   S2 = S2 + "AND " + s(i)
   Exit For
  End If
 Next i
 i = i + 1
 For j = i To 3
  If chkYAO(j).Value Then
   S1 = S1 + " AND " + s(j)
   S2 = S2 + " AND " + s(j)
  End If
 Next j
 
 If chkYAO(4).Value Then
   If Combo1.Text = "中草药" Then
      Data1.RecordSource = S2
   ElseIf Combo1.Text = "中成药" Then
      If Right(S1, 1) = " " Then
           S1 = S1 + "and CODE LIKE 'B%'"
      Else
           S1 = S1 + "AND CODE LIKE 'B%'"
      End If
      Data1.RecordSource = S1
   Else
      If Right(S1, 1) = " " Then
          S1 = S1 + "and CODE LIKE 'A%'"
      Else
          S1 = S1 + "AND CODE LIKE 'A%'"
      End If
      Data1.RecordSource = S1
   End If
 Else
    Data1.RecordSource = S1 + " UNION " + S2
 End If

 Data1.Refresh
' Debug.Print Data1.RecordSource
End Sub

Private Sub Command2_Click()
 If zzz = 31 Then
  zzz = 0
  Cxzyh = ""
  Unload Me
  frmLeaveHospitalQuery.Enabled = True
 Else
  Unload Me
  Form3.Enabled = True
  Form3.SetFocus
 End If
End Sub


Private Sub Command3_Click()
 Dim s(5) As String
 Dim S1 As String
 Dim S2 As String
 Dim i As Integer
 Dim j As Integer
 Dim GBy As String
 If chkYAO(5).Value Then
  Exit Sub
 End If
 GBy = " GROUP BY YP_NAME,STANDARD,UNIT,RETAIL"
 s(0) = "ZY_ID='" + Trim(Text1.Text) + "'"
 s(1) = "KS_ID='" + Trim(Text2.Text) + "'"
 s(2) = "YP_NAME LIKE '" + Text3.Text + "%'"
 s(3) = "HJ_DATE>'" + CStr(CDate(Text4.Text) - 1) + "' AND HJ_DATE<'" + CStr(CDate(Text5.Text) + 1) + "'"
 S1 = "SELECT YP_NAME AS 药品名称,SUM(AMOUNT) AS 数量,STANDARD AS 规格,UNIT AS 单位,RETAIL AS 单价 FROM YJ3_HJ where jk_flag='1'"
 S2 = "SELECT YP_NAME AS 药品名称,SUM(AMOUNT) AS 数量,STANDARD AS 规格,UNIT AS 单位,RETAIL AS 单价 FROM YJ2_HJ WHERE jk_flag='1' and GH_ID='0'"
 
 For i = 0 To 3
  If chkYAO(i).Value Then
   S1 = S1 + " and " + s(i)
   S2 = S2 + "AND " + s(i)
   Exit For
  End If
 Next i
 i = i + 1
 For j = i To 3
  If chkYAO(j).Value Then
   S1 = S1 + " AND " + s(j)
   S2 = S2 + " AND " + s(j)
  End If
 Next j
 
 If chkYAO(4).Value Then
   If Combo1.Text = "中草药" Then
      Data1.RecordSource = S2 + " GROUP BY YP_NAME,STANDARD,UNIT,RETAIL"
   ElseIf Combo1.Text = "中成药" Then
      If Right(S1, 1) = " " Then
           S1 = S1 + "and CODE LIKE 'B%'"
      Else
           S1 = S1 + "AND CODE LIKE 'B%'"
      End If
      Data1.RecordSource = S1 + GBy
   Else
      If Right(S1, 1) = " " Then
          S1 = S1 + "and CODE LIKE 'A%'"
      Else
          S1 = S1 + "AND CODE LIKE 'A%'"
      End If
      Data1.RecordSource = S1 + GBy
   End If
 Else
    Data1.RecordSource = S1 + GBy + " UNION " + S2 + GBy
 End If
 Debug.Print Data1.RecordSource
 
 Data1.Refresh

End Sub

Private Sub Command4_Click()

 Dim i As Integer
 Dim U1 As String
 Dim U2 As String
 Dim minD As Date
 Dim maxD As Date
 Dim Hjs As String
 Dim Hjt As Date
' If Not Data1.Recordset.EOF Then
On Error GoTo ERR:
  Data1.Recordset.MoveFirst
On Error GoTo 0
 'End If
 minD = CDate(CStr(Date) + " 23:59:59")
 Printer.ScaleMode = 6
 Printer.Font = "隶书"
 Printer.FontSize = 17
 Printer.CurrentY = 5
 Printer.CurrentX = 80
 Printer.Print "药品使用清单"
 Printer.Print
 Printer.Font = "隶书"
 Printer.FontSize = 10
 U1 = "    " + "划价时间      药品名称            数量       规格       单位    单价        划价号   "
 Printer.Print U1
 Printer.Print "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
 While Not Data1.Recordset.EOF
  If Data1.Recordset.Fields(0).Name = "划价时间" Then
     Hjs = Data1.Recordset!划价号
     Hjt = Data1.Recordset!划价时间
  Else
     Hjs = " "
'     Hjt = Null
  End If
  U2 = "  " + Left(CStr(Hjt), 10) + Space(10 - DxLen(DxLeft(CStr(Hjt), 10))) + "  " + DxLeft(CStr(Data1.Recordset!药品名称), 24) + Space(24 - DxLen(CStr(Data1.Recordset!药品名称))) + CStr(Data1.Recordset!数量) + Space(10 - DxLen(CStr(Data1.Recordset!数量))) + DxLeft(CStr(Data1.Recordset!规格), 12) + Space(12 - DxLen(CStr(Data1.Recordset!规格))) + CStr(Data1.Recordset!单位) + Space(6 - DxLen(CStr(Data1.Recordset!单位))) _
             + Format(Data1.Recordset!单价, "0.00") + Space(13 - DxLen(Format(Data1.Recordset!单价, "0.00"))) + Hjs
  
  Printer.Print U2
  If minD > Hjt Then
   minD = Hjt
  End If
  If maxD < Hjt Then
   maxD = Hjt
  End If
  Data1.Recordset.MoveNext
 Wend
 Printer.Print "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
 Printer.Print "打印时间:" + CStr(Date) + " " + CStr(Time) + Space(20) + "用药时间段:" + CStr(minD) + "——" + CStr(maxD)
 Printer.EndDoc
ERR:
End Sub

Private Sub Form_Activate()
  If zzz = 31 Then
   Text1.Text = Cxzyh
   chkYAO(0).Value = Checked
   Command1_Click
  End If
End Sub

Private Sub Form_Load()
  Dim TROL As Control
  Data1.Connect = MyConnect
  Data1.DatabaseName = MyDatabase
  For Each TROL In frmMedicineQuery.Controls
   If TypeOf TROL Is TextBox Then
    TROL.Text = ""
   End If
  Next TROL
  Combo1.Text = ""
  Me.Top = 0
  Me.Height = Screen.Height
  Me.Left = 0
  Me.Width = Screen.Width
  Text4.Text = CStr(Date)
  Text5.Text = CStr(Date)
End Sub

Private Sub Text1_Keydown(KeyCode As Integer, Shift As Integer)
If KeyCode = 13 And Text1.Text <> "" Then
  Text1.Text = Format(Text1, "00000000")
 End If

End Sub

Private Sub Text1_KeyUp(KeyCode As Integer, Shift As Integer)
 If KeyCode = 222 Then
  Text1.Text = ""
 End If
 
End Sub
Private Sub Text2_KeyUp(KeyCode As Integer, Shift As Integer)
 If KeyCode = 222 Then
  Text2.Text = ""
 End If
End Sub
Private Sub Text3_KeyUp(KeyCode As Integer, Shift As Integer)
 If KeyCode = 222 Then
  Text3.Text = ""
 End If
End Sub

Private Sub VScroll1_Change()
 Text4.Text = CStr(Date + VScroll1.Value)
End Sub

Private Sub VScroll2_Change()
 Text5.Text = CStr(Date + VScroll2.Value)
End Sub

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -