📄 main_jbxx_medicine.frm
字号:
LCID = 2052
SubFormatType = 0
EndProperty
EndProperty
BeginProperty Column01
DataField = ""
Caption = ""
BeginProperty DataFormat {6D835690-900B-11D0-9484-00A0C91110ED}
Type = 0
Format = ""
HaveTrueFalseNull= 0
FirstDayOfWeek = 0
FirstWeekOfYear = 0
LCID = 2052
SubFormatType = 0
EndProperty
EndProperty
SplitCount = 1
BeginProperty Split0
BeginProperty Column00
EndProperty
BeginProperty Column01
EndProperty
EndProperty
End
End
End
Attribute VB_Name = "main_jbxx_medicine"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
'定义整型变量
Dim i As Integer
'定义数据集对象
Dim rs1 As New ADODB.Recordset
Dim boolDirty As Boolean
Dim msg As Long
Function ControlButtonState(State As Boolean)
If State = True Then
CmdAdd.Enabled = False
CmdDelete.Enabled = False
CmdSave.Enabled = True
CmdCancel.Enabled = True
Else
CmdAdd.Enabled = True
CmdDelete.Enabled = True
CmdSave.Enabled = False
CmdCancel.Enabled = False
End If
End Function
Private Sub ViewData()
If Adodc1.Recordset.RecordCount > 0 Then
With Adodc1.Recordset
For i = 0 To 4
Text1(i) = .Fields(i)
Next i
CboUnit = .Fields("单位")
Text1(5) = .Fields("规格")
CboJX.Text = .Fields("剂型")
Text1(6) = .Fields("产地")
Text1(7) = .Fields("大包装数")
Text1(8) = .Fields("中包装数")
CboYXQ = .Fields("有效期")
CboZLBZ = .Fields("质量标准")
CboJXFS = .Fields("经销方式")
For i = 9 To 14
Text1(i) = .Fields(i + 5)
Next i
CboSort = .Fields("类别")
For i = 15 To 17
Text1(i) = .Fields(i + 6)
Next i
End With
End If
End Sub
Private Sub Form_Load()
'向CboFields中添加查询项目列表
CboFields.AddItem ("药品编号")
CboFields.AddItem ("药品条码")
CboFields.AddItem ("药品名称")
CboFields.AddItem ("拼音码")
CboFields.AddItem ("规格")
CboFields.AddItem ("剂型")
CboFields.AddItem ("产地")
CboFields.AddItem ("单位")
CboFields.AddItem ("类别")
CboFields.AddItem ("供货商名称")
CboFields.ListIndex = 1
'向CboOperator中添加查询条件列表
CboOperator.AddItem ("like")
CboOperator.AddItem ("=")
CboOperator.AddItem (">")
CboOperator.AddItem ("<")
CboOperator.ListIndex = 0
CboUnit.AddItem ("盒")
CboUnit.AddItem ("包")
CboUnit.AddItem ("袋")
CboUnit.AddItem ("个")
CboUnit.AddItem ("罐")
CboUnit.AddItem ("粒")
CboUnit.AddItem ("片")
CboUnit.AddItem ("瓶")
CboUnit.ListIndex = 0
CboJX.AddItem ("针剂")
CboJX.AddItem ("片剂")
CboJX.AddItem ("胶囊")
CboJX.AddItem ("口服液")
CboJX.AddItem ("冲剂")
CboJX.AddItem ("丸剂")
CboJX.ListIndex = 1
CboYXQ.AddItem ("半年")
CboYXQ.AddItem ("一年")
CboYXQ.AddItem ("一年半")
CboYXQ.AddItem ("二年")
CboYXQ.AddItem ("二年半")
CboYXQ.AddItem ("三年")
CboYXQ.AddItem ("三年以上")
CboYXQ.ListIndex = 1
CboZLBZ.AddItem ("中国药典")
CboZLBZ.AddItem ("卫生部药品标准")
CboZLBZ.AddItem ("地方药品标准")
CboZLBZ.AddItem ("进口国药标准")
CboZLBZ.AddItem ("企业标准")
CboZLBZ.ListIndex = 0
CboJXFS.AddItem ("经销")
CboJXFS.AddItem ("代销")
CboJXFS.ListIndex = 0
CboSort.AddItem ("西药")
CboSort.AddItem ("中药")
CboSort.AddItem ("中成药")
CboSort.AddItem ("中成药(外用)")
CboSort.AddItem ("消毒")
CboSort.AddItem ("参茸")
CboSort.ListIndex = 1
Call ViewData
boolDirty = False
ControlButtonState (False)
End Sub
Private Sub CboJX_Change()
boolDirty = True
End Sub
Private Sub CboJXFS_Change()
boolDirty = True
End Sub
Private Sub CboSort_Change()
boolDirty = True
End Sub
Private Sub CboYXQ_Change()
boolDirty = True
End Sub
Private Sub CboZLBZ_Change()
boolDirty = True
End Sub
Private Sub Text1_Change(Index As Integer)
boolDirty = True
End Sub
Private Sub Text1_KeyDown(Index As Integer, KeyCode As Integer, Shift As Integer)
Dim hz As String
If KeyCode = vbKeyReturn And Index < 17 Then
Text1(Index + 1).SetFocus '回车获得焦点
SendKeys "{Home}+{End}"
End If
If KeyCode = vbKeyReturn And Index = 17 Then CmdSave.SetFocus
If KeyCode = vbKeyReturn And Index = 2 Then '自动生成拼音码
Text1(4) = ""
a = Len(Text1(2))
For i = 1 To a
rs1.Open "select * from py where 汉字='" + Mid(Text1(2), i, 1) + "'", cnn, adOpenKeyset, adLockOptimistic
If rs1.RecordCount > 0 Then
Text1(4) = Text1(4) & rs1.Fields("编码")
End If
rs1.Close
Next i
Text1(3).SetFocus
SendKeys "{Home}+{End}"
End If
End Sub
Private Sub cmdMoveData_Click(Index As Integer)
With Adodc1.Recordset
Select Case Index
Case 0 '移到第一条记录
If Not .BOF Then .MoveFirst
Case 1 '移到上一条记录
If .BOF = False Then .MovePrevious
If .BOF = True Then .MoveFirst
Case 2 '移到下一条记录
If .EOF = False Then .MoveNext
If .EOF = True Then .MoveLast
Case 3 '移到最后一条记录
If Not .EOF Then .MoveLast
End Select
Call ViewData
End With
End Sub
Private Sub cmdFind_Click() '查询药品信息
If CboOperator.Text = "like" Then
Adodc1.RecordSource = "select * from tb_medicine where tb_medicine." & CboFields & " like +'%'+ '" + TxtExpression + "'+'%'"
Adodc1.Refresh
Else
Adodc1.RecordSource = "select * from tb_medicine where tb_medicine." & CboFields & CboOperator & "'" + TxtExpression + "'"
Adodc1.Refresh
End If
For i = 0 To 17
If Adodc1.Recordset.RecordCount > 0 Then Text1(i).Text = Adodc1.Recordset.Fields(i) Else Text1(i).Text = ""
Next i
SSTab1.Tab = 1
End Sub
Private Sub cmdAdd_Click() '新增药品
Dim i As Integer
rs1.Open "select * from tb_medicine order by 药品编号", cnn, adOpenKeyset, adLockOptimistic
'创建药品编号
If rs1.RecordCount > 0 Then
If Not rs1.EOF Then rs1.MoveLast
Text1(0).Text = rs1.Fields("药品编号") + 1
Else
Text1(0).Text = 1
End If
rs1.Close
Set rs1 = Nothing
Text1(7) = 0
Text1(8) = 0
For i = 1 To 13
Text1(i) = ""
Next i
For i = 11 To 14
Text1(i) = 0
Next i
Text1(1).SetFocus
ControlButtonState (True)
End Sub
Private Sub cmdDelete_Click() '删除药品信息
On Error Resume Next
a = MsgBox("您确实要删除这条数据吗?", vbYesNo)
If a = vbYes Then
Adodc1.Recordset.Delete
Adodc1.Refresh
If Adodc1.Recordset.RecordCount > 0 Then
Call ViewData
End If
End If
End Sub
Private Sub cmdSave_Click() '保存药品信息
Dim msg As Long
rs1.Open "select * from tb_medicine where 药品编号='" + Text1(0) + "'", cnn, adOpenKeyset, adLockOptimistic
If rs1.RecordCount > 0 Then
If boolDirty = True Then
msg = MsgBox("数据已更改,是否保存?", vbYesNo, Me.Caption)
If msg = vbYes Then
'修改药品信息
cnn.Execute ("update tb_medicine set 药品条码='" + Text1(1) + "',药品名称='" + Text1(2) + _
"',通用名='" + Text1(3) + "',拼音码='" + Text1(4) + "',单位='" + CboUnit + "',规格='" + _
Text1(5) + "',剂型='" + CboJX + "',产地='" + Text1(6) + "',大包装数=" + Text1(7) + _
",中包装数=" + Text1(8) + ",有效期='" + CboYXQ + "',质量标准='" + CboZLBZ + _
"',经销方式='" + CboJXFS + "',药品注册证号或生产批准文号='" + Text1(9) + "',商标号='" + _
Text1(10) + "',厂价=" + Text1(11) + ",零售价=" + Text1(12) + ",批发价=" + Text1(13) + _
",进货价=" + Text1(14) + ",类别='" + CboSort + "',医疗保险编号='" + Text1(15) + _
"',供货商编号='" + Text1(16) + "',供货商名称='" + Text1(17) + "' where 药品编号=" + _
Text1(0) + "")
Adodc1.Refresh
End If
Else
MsgBox "该记录已存在,无法再次保存!"
End If
Else
If Text1(2).Text = "" Then
MsgBox "系统不允许药品名称为空!"
Exit Sub
End If
If Text1(5).Text = "" Then
MsgBox "系统不允许规格为空!"
Exit Sub
End If
If Text1(6).Text = "" Then
MsgBox "系统不允许产地为空!"
Exit Sub
End If
'添加新药品
cnn.Execute ("insert into tb_medicine values(" & Text1(0) & ",'" & Text1(1) & "','" + Text1(2) + _
"','" + Text1(3) + "','" + Text1(4) + "','" + CboUnit + "','" + Text1(5) + "','" + CboJX + "','" + _
Text1(6) + "'," + Text1(7) + "," + Text1(8) + ",'" + CboYXQ + "','" + CboZLBZ + "','" + CboJXFS + _
"','" + Text1(9) + "','" + Text1(10) + "'," + Text1(11) + "," + Text1(12) + "," + Text1(13) + "," + _
Text1(14) + ",'" + CboSort + "','" + Text1(15) + "','" + Text1(16) + "','" + Text1(17) + "')")
Adodc1.Refresh
End If
rs1.Close
boolDirty = False
ControlButtonState (False)
End Sub
Private Sub cmdCancel_Click() '取消操作
For i = 0 To 17
Text1(i).Text = ""
Next i
ControlButtonState (False)
End Sub
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer) '退出窗体
Dim msg As Long
If UnloadMode = 0 Or UnloadMode = 1 Then
msg = MsgBox("是否真的退出程序?", vbYesNo, Me.Caption)
If msg = vbNo Then Cancel = True
End If
End Sub
Private Sub cmdQuit_Click() '退出窗体
Unload Me
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -