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

📄 primary.bas

📁 医院糖尿病管理系统.是客户机服务器架构的
💻 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 + -