📄 selectdiagnoseform.frm
字号:
VERSION 5.00
Object = "{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.0#0"; "MSCOMCTL.OCX"
Begin VB.Form SelectDiagnoseForm
BackColor = &H00C0C000&
Caption = "选择诊断"
ClientHeight = 5235
ClientLeft = 60
ClientTop = 345
ClientWidth = 9480
LinkTopic = "Form1"
MaxButton = 0 'False
MinButton = 0 'False
ScaleHeight = 5235
ScaleWidth = 9480
StartUpPosition = 2 '屏幕中心
Begin VB.CommandButton CmdInSelDiag
Caption = "清 空"
BeginProperty Font
Name = "宋体"
Size = 12
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 495
Index = 1
Left = 5160
TabIndex = 2
Top = 4560
Width = 1935
End
Begin VB.CommandButton CmdInSelDiag
Caption = "确 定"
BeginProperty Font
Name = "宋体"
Size = 12
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 495
Index = 0
Left = 2400
TabIndex = 1
Top = 4560
Width = 1935
End
Begin MSComctlLib.ListView ListVSelDiag
Height = 4215
Left = 120
TabIndex = 0
Top = 120
Width = 9255
_ExtentX = 16325
_ExtentY = 7435
View = 2
Arrange = 1
LabelWrap = 0 'False
HideSelection = -1 'True
Checkboxes = -1 'True
_Version = 393217
ForeColor = -2147483640
BackColor = 14737632
BorderStyle = 1
Appearance = 1
BeginProperty Font {0BE35203-8F91-11CE-9DE3-00AA004BB851}
Name = "宋体"
Size = 14.25
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
NumItems = 0
End
End
Attribute VB_Name = "SelectDiagnoseForm"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
'选择临床诊断信息界面,具体做法与选择检查部位界面类似:
' 1. 当主窗体点击选择诊断按钮时,打开选择临床诊断信息界面.在该界面初始化时,将完成两个任务:(1).打开数据库中的临床信息表,
' 通过SQL语句提取信息字段的所有记录,并按照标识顺序排列.(2).根据提取出来的记录集,将记录一条一条的添加到列表视图中.
' 2. 当窗体初始化完毕后,针对列表视图的一些问题,要做相关处理.问题一:有时候在窗体初始化完毕后或是列表视图获得焦点时,列表
' 视图会默认选中第一项,因此处理方法为在列表视图获得焦点时,要将第一项取消选中.问题二:列表视图中的各个待选项如果处于
' 选中状态,那么再点击一次该待选项或是点击窗体其它位置就可以对待选项进行修改,因此处理方法为在点击待选项或者点击窗体
' 其它位置时,取消对待选项的选中状态.
' 3. 在选择临床诊断信息的时候,要判断待选项的复选框是否是选中状态,然后再做相应调整.在点击待选项之后还要取消待选项的选中
' 状态.
' 4. 点击确定按钮时,将所有待选项的复选框处于选中状态的临床诊断信息字符串连接起来,各个临床诊断信息之间用分号隔开.最后去
' 除掉最后一个分号.当点击清空按钮时,取消所有复选框的选中状态.
Private Sub Form_Load() '加载窗体
Dim RecSelectDiagnose As ADODB.Recordset '提取临床信息表中的信息记录集
Dim strSQL As String '存储SQL语句
Set RecSelectDiagnose = New ADODB.Recordset '临床信息表记录集
If MainForm.ComboBIn1ClinicO.Text <> "" Then '判断主窗体中的临床科室是否选择,如果已经选择,则提取临床信息表中的相应
'信息,否则,提取临床信息表中的所有信息
strSQL = "SELECT 信息 FROM 临床信息表 WHERE 科室标识=(SELECT 科室标识 FROM 临床科室表 WHERE 科室名称 = '" & Trim(MainForm.ComboBIn1ClinicO.Text) & "' )"
Else
strSQL = "SELECT 信息 FROM 临床信息表"
End If
RecSelectDiagnose.CursorLocation = adUseClient
RecSelectDiagnose.Open strSQL, PACSDataConn, adOpenDynamic, adLockOptimistic, adCmdText
ListVSelDiag.ListItems.Clear '清空列表视图中的所有项
Do While Not RecSelectDiagnose.EOF '将记录集中的所有信息添加到列表视图中
ListVSelDiag.ListItems.Add , , RecSelectDiagnose("信息")
RecSelectDiagnose.MoveNext
Loop
ListVSelDiag.Refresh '刷新列表视图
RecSelectDiagnose.Close '关闭记录集
End Sub
Private Sub ListVSelDiag_GotFocus() 'ListView获得焦点时,第一项如果默认选中,那么取消选择
If ListVSelDiag.ListItems.Count > 0 Then '判断列表视图中是否加载了数据,如果加载做相应处理
If ListVSelDiag.ListItems(1).Selected Then ListVSelDiag.ListItems(1).Selected = False
End If
End Sub
Private Sub ListVSelDiag_Click() '点击ListView的其它地方,目的:防止修改所列项目
Dim I As Integer
For I = 1 To ListVSelDiag.ListItems.Count
If ListVSelDiag.ListItems(I).Selected Then ListVSelDiag.ListItems(I).Selected = False
Next I
End Sub
Private Sub ListVSelDiag_ItemClick(ByVal Item As MSComctlLib.ListItem) '选择一条项目
If Item.Checked = False Then Item.Checked = True Else Item.Checked = False
Item.Selected = False
End Sub
Private Sub CmdInSelDiag_Click(Index As Integer) '本窗体存在两个按钮,确定按钮和清空按钮
Select Case Index
Case 0 '确定按钮
Dim ClinicDiagnose As String '存储临床诊断信息字符串
Dim I As Integer
ClinicDiagnose = ""
For I = 1 To ListVSelDiag.ListItems.Count '将选中的临床诊断信息组合成字符串
If ListVSelDiag.ListItems(I).Checked Then ClinicDiagnose = ClinicDiagnose & ListVSelDiag.ListItems(I).Text & ";"
Next I
I = Len(ClinicDiagnose) '查看临床诊断信息字符串是否为空,不为空则去掉最后一个逗号
If I > 0 Then MainForm.TextBoxIn1(4).Text = Left(ClinicDiagnose, (I - 1))
Unload Me '任务完成,卸载窗体
Case 1 '清空按钮
Dim J As Integer
For J = 1 To ListVSelDiag.ListItems.Count '将所有临床诊断信息取消选择
ListVSelDiag.ListItems(J).Checked = False
Next J
End Select
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -