?? primary.bas
字號:
Attribute VB_Name = "Module2"
Option Explicit
Public PCnnHisDB As ADODB.Connection '數據庫連接
Public PStrVer As String '系統版本 : 0-網絡版; 1-單機版
Public PStrFlDLID As String '大類ID
Public PStrFlYPDW As String '藥品單位
Public PStrFlZLDW As String '診療單位
Public PStrFlYPJX As String '藥品劑型
Public PStrFlMZ As String '民族
Public PStrFlJG As String '籍貫
Public PStrFlGJ As String '國籍
Public PStrFlZY As String '職業
Public PStrFlHYZK As String '婚姻狀況
Public PStrFlQQGX As String '親情關系
Public PStrFlDZ As String '地址
Public PStrFlMZFP As String '門診發票項目
Public PStrFlZYFP As String '住院發票項目
Public PStrFlZYMX As String '住院明細項目
Public PStrFlCWTJ As String '財務統計項目
Public PStrFlGHFL As String '掛號分類項目
Public PStrUserID As String '操作員編號
Public PStrUserName As String '操作員姓名
Public PStrCjyhbh As String '超級用戶
Public PStrSqzID As String '社區站編號
Public PStrSqzMC As String '社區站名稱
Public PStrSqzxID As String '社區中心編號
Public PStrSqzxMC As String '社區中心名稱
Public PStrJhmyBS As String '計劃免疫
Sub Main()
Dim StrUserName As String
Dim StrDbName As String
Dim StrUserPwd As String
Dim StrServerName As String
Dim StrConDB As String
Set PCnnHisDB = New ADODB.Connection
StrServerName = GetSetting("SqwszYpsfglXt", "ServerName", "ServerName")
StrDbName = GetSetting("SqwszYpsfglXt", "DbName", "DbName")
StrUserName = GetSetting("SqwszYpsfglXt", "UserName", "UserName")
StrUserPwd = GetSetting("SqwszYpsfglXt", "UserPwd", "UserPwd")
StrConDB = " Provider=SQLOLEDB.1;Persist Security Info =False;" _
& " User ID=" + StrUserName + ";" _
& " Pwd=" + StrUserPwd + ";" _
& " Initial Catalog=" + StrDbName + ";" _
& " Data Source=" + StrServerName + ""
PCnnHisDB.Open StrConDB
End Sub
Public Sub ProcCloseHisDB()
PCnnHisDB.Close
Set PCnnHisDB = Nothing
MsgBox " 已經斷開了", vbExclamation, "提示信息"
End Sub
Public Sub ProCopyMhflexToMsflex(MhFlexSend As MSHFlexGrid, MsflexSend As MSFlexGrid)
Dim IntRow As Integer
Dim IntCol As Integer
With MsflexSend
.Rows = MhFlexSend.Rows
.Cols = MhFlexSend.Cols
For IntRow = 0 To .Rows - 1
For IntCol = 0 To .Cols - 1
.TextMatrix(IntRow, IntCol) = MhFlexSend.TextMatrix(IntRow, IntCol)
Next IntCol
Next IntRow
End With
End Sub
Public Sub ProcAddCmbItem(CmbSend As ComboBox, AdoRsSend As ADODB.Recordset)
CmbSend.clear
Do While Not AdoRsSend.EOF
CmbSend.AddItem AdoRsSend.Fields(1)
CmbSend.ItemData(CmbSend.NewIndex) = AdoRsSend.Fields(0)
AdoRsSend.MoveNext
Loop
If CmbSend.ListCount > 0 Then CmbSend.ListIndex = 0
End Sub
Public Function FunGetItemName(CmbTemp As ComboBox, SStrTemp As String) As String
Dim IntTemp As Integer
For IntTemp = 0 To CmbTemp.ListCount - 1
If CStr(CmbTemp.ItemData(IntTemp)) = SStrTemp Then
FunGetItemName = CmbTemp.List(IntTemp)
Exit For
End If
Next IntTemp
End Function
Public Function FunGetDateTime() As String '獲取系統時間
Dim AdoRsDateTime As ADODB.Recordset
Set AdoRsDateTime = New ADODB.Recordset
If PStrVer = "0" Then
AdoRsDateTime.Open "SELECT GetDate() ", PCnnHisDB, adOpenDynamic
FunGetDateTime = Format(CStr(AdoRsDateTime.Fields(0)), "yyyy-mm-dd hh:mm:ss")
AdoRsDateTime.Close: Set AdoRsDateTime = Nothing
Else
FunGetDateTime = Format(CStr(Now), "yyyy-mm-dd hh:mm:ss")
End If
End Function
Public Function FunGetLsh() As String '獲取流水號
Dim StrDateTime As String
Dim AdoRsLsh As ADODB.Recordset
Set AdoRsLsh = New ADODB.Recordset
StrDateTime = FunGetDateTime
AdoRsLsh.Open " SELECT lsh FROM base_lsh WHERE czyid='" + PStrUserID + "' AND CONVERT(Char(10),czsj,21)='" + Format(StrDateTime, "yyyy-mm-dd") + "' ", PCnnHisDB, adOpenDynamic
' '啟動事務
' PCnnHisDB.BeginTrans
If (AdoRsLsh.EOF Or AdoRsLsh.BOF) Or IsNull(AdoRsLsh.Fields(0)) Then
FunGetLsh = Format(StrDateTime, "yyyymmdd") & Format(PStrUserID, "000") & "000"
PCnnHisDB.Execute "INSERT INTO base_lsh(czsj,czyid,lsh) VALUES('" + StrDateTime + "','" + PStrUserID + "',1)"
Else
FunGetLsh = Format(StrDateTime, "yyyymmdd") & Format(PStrUserID, "000") & Format(AdoRsLsh.Fields(0), "000")
If PStrVer = "0" Then
PCnnHisDB.Execute " UPDATE base_lsh SET lsh = lsh + 1 " _
& " WHERE czyid = '" + PStrUserID + "' AND CONVERT(Char(10),czsj,21)='" + Format(StrDateTime, "yyyy-mm-dd") + "' "
Else
PCnnHisDB.Execute " UPDATE base_lsh SET lsh = lsh + 1 " _
& " WHERE czyid = '" + PStrUserID + "' AND Format(czsj,'yyyy-mm-dd')='" + Format(StrDateTime, "yyyy-mm-dd") + "' "
End If
End If
AdoRsLsh.Close: Set AdoRsLsh = Nothing
'判斷事務狀態
' If CBool(PCnnHisDB.State And adStateExecuting) Then
' PCnnHisDB.Cancel
' PCnnHisDB.RollbackTrans
' MsgBox "產生流水號失敗,請重試。", vbCritical, "提示"
' FunGetLsh = ""
' Else
' PCnnHisDB.CommitTrans
' End If
End Function
Public Sub ProTxtGetFocus(TxtSend As TextBox)
TxtSend.BackColor = &HFFC0C0
End Sub
Public Sub ProTxtLostFocus(TxtSend As TextBox)
TxtSend.BackColor = &HFFFFFF
End Sub
Public Sub ProCmbGetFocus(CmbSend As ComboBox)
CmbSend.BackColor = &HFFC0C0
End Sub
Public Sub ProCmbLostFocus(CmbSend As ComboBox)
CmbSend.BackColor = &HFFFFFF
End Sub
Public Sub ProcAdoRsToMsFlex(SAdoRs As ADODB.Recordset, MsFlex As MSFlexGrid)
Dim IntRow As Integer, IntCol As Integer
With MsFlex
.clear
If Not (SAdoRs.EOF Or SAdoRs.BOF) Then SAdoRs.MoveLast: SAdoRs.MoveFirst
'字段
.Rows = SAdoRs.Fields.Count
.Cols = SAdoRs.RecordCount + 1
For IntRow = 0 To SAdoRs.Fields.Count - 1
.TextMatrix(IntRow, 0) = IIf(IsNull(SAdoRs.Fields(IntRow).Name), "", Trim(SAdoRs.Fields(IntRow).Name))
Next IntRow
.ColWidth(0) = 1500
'記錄
IntCol = 1
Do While Not SAdoRs.EOF
For IntRow = 0 To SAdoRs.Fields.Count - 1
.TextMatrix(IntRow, IntCol) = IIf(IsNull(SAdoRs.Fields(IntRow)), "", Trim(SAdoRs.Fields(IntRow)))
Next IntRow
IntCol = IntCol + 1
SAdoRs.MoveNext
Loop
'行編輯
For IntRow = 0 To .Rows - 1
.RowHeight(IntRow) = 300
Next IntRow
'列編輯
For IntCol = 0 To .Cols - 1
.ColWidth(IntCol) = 1200
.ColAlignment(IntCol) = 4
Next IntCol
End With
End Sub
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -