?? 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
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. 當主窗體點擊選擇診斷按鈕時,打開選擇臨床診斷信息界面.在該界面初始化時,將完成兩個任務(wù):(1).打開數(shù)據(jù)庫中的臨床信息表,
' 通過SQL語句提取信息字段的所有記錄,并按照標識順序排列.(2).根據(jù)提取出來的記錄集,將記錄一條一條的添加到列表視圖中.
' 2. 當窗體初始化完畢后,針對列表視圖的一些問題,要做相關(guān)處理.問題一:有時候在窗體初始化完畢后或是列表視圖獲得焦點時,列表
' 視圖會默認選中第一項,因此處理方法為在列表視圖獲得焦點時,要將第一項取消選中.問題二:列表視圖中的各個待選項如果處于
' 選中狀態(tài),那么再點擊一次該待選項或是點擊窗體其它位置就可以對待選項進行修改,因此處理方法為在點擊待選項或者點擊窗體
' 其它位置時,取消對待選項的選中狀態(tài).
' 3. 在選擇臨床診斷信息的時候,要判斷待選項的復選框是否是選中狀態(tài),然后再做相應(yīng)調(diào)整.在點擊待選項之后還要取消待選項的選中
' 狀態(tài).
' 4. 點擊確定按鈕時,將所有待選項的復選框處于選中狀態(tài)的臨床診斷信息字符串連接起來,各個臨床診斷信息之間用分號隔開.最后去
' 除掉最后一個分號.當點擊清空按鈕時,取消所有復選框的選中狀態(tài).
Private Sub Form_Load() '加載窗體
Dim RecSelectDiagnose As ADODB.Recordset '提取臨床信息表中的信息記錄集
Dim strSQL As String '存儲SQL語句
Set RecSelectDiagnose = New ADODB.Recordset '臨床信息表記錄集
If MainForm.ComboBIn1ClinicO.Text <> "" Then '判斷主窗體中的臨床科室是否選擇,如果已經(jīng)選擇,則提取臨床信息表中的相應(yīng)
'信息,否則,提取臨床信息表中的所有信息
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 '關(guān)閉記錄集
End Sub
Private Sub ListVSelDiag_GotFocus() 'ListView獲得焦點時,第一項如果默認選中,那么取消選擇
If ListVSelDiag.ListItems.Count > 0 Then '判斷列表視圖中是否加載了數(shù)據(jù),如果加載做相應(yīng)處理
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 '任務(wù)完成,卸載窗體
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 + -