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

📄 modcommon.bas

📁 VB6.0编写的医院影像系统
💻 BAS
📖 第 1 页 / 共 4 页
字号:
    
    '------------------------------
    '改变指定文件的路径,并返回结果
    '------------------------------
    
    Dim strTemp As String
    
    '先获得干净的文件名
    strTemp = GetFileName(strFile)
    
    '去除strPathToSet的后缀
    ChangeFilePath = TrimDir(strPathToSet) & "\" & strTemp
    
End Function

Public Function FileSize(strFile As String)
    
    '------------------------------
    '返回文件的大小
    '------------------------------
    
    Dim cFile As File
    
    Set cFile = FSO.GetFile(strFile)
    FileSize = cFile.Size
    
    Set cFile = Nothing
    
End Function

Public Function DeleteFile(strFile As String) As Boolean
    
    '--------------------------------
    '删除制定的文件,并不返回错误
    '--------------------------------
    
    On Error GoTo ErrHandle
    
    FSO.DeleteFile strFile
    DeleteFile = True
    Exit Function

ErrHandle:
    DeleteFile = False
    
End Function


Public Function EnPassWord(strConn As String) As String
    
    '---------------------------------
    '翻译Jet的OLEDB连接的PassWord
    '---------------------------------
    Dim strTemp As String
    
    strTemp = strConn
    If InStr(1, strConn, "Microsoft.Jet.OLEDB") > 0 Then
        If InStr(1, strConn, "Jet OLEDB:Database Password=rich") = 0 Then
            If Right(strTemp, 1) <> ";" Then
                strTemp = strTemp & ";"
            End If
            strTemp = strTemp & "Jet OLEDB:Database Password=rich"
        End If
    End If
    
    EnPassWord = strTemp
    
End Function

Public Function GetMaxID(ByVal strTable As String, ByVal strFld As String, Optional strConn As String = "System") As Long
    
    '------------------------------------
    '返回最大的可用序号
    '------------------------------------
    
    Dim rsTemp As ADODB.Recordset
    Dim strSQL As String
    
    strSQL = "SELECT MAX(" & strFld & ") AS MAXID FROM " & strTable
    
    Set rsTemp = OpenRS(strSQL, strConn)
    
    GetMaxID = Val(rsTemp!MAXID & vbNullString) + 1
    
End Function

Public Function ShowEditConflictError()
    
    '-----------------------------------
    '显示由于其它用户编辑而造成的错误
    '-----------------------------------

    MsgBox "由于其它用户预先编辑了您此次提交的记录,因而不能更新。", vbOKOnly + vbExclamation, "数据冲突"
    
End Function

Public Function MakeSQLConnectionString(strServer As String, UserID As String, Optional PassWord As String = vbNullString, Optional IniCatalog As String = vbNullString) As String
    
    '---------------------------
    '根据传递过来的参数形成SQL连接字串
    '---------------------------
    
    Dim strTemp As String
    
    strTemp = "Provider=SQLOLEDB.1;Persist Security Info=False"
    
    strTemp = strTemp & ";User ID=" & UserID
    
    If PassWord <> vbNullString Then
        strTemp = strTemp & ";Password=" & PassWord
    End If
    
    If IniCatalog <> vbNullString Then
        strTemp = strTemp & ";Initial Catalog=" & IniCatalog
    End If
    
    If strServer <> vbNullString Then
        strTemp = strTemp & ";Data Source=" & strServer
    End If
    
    MakeSQLConnectionString = strTemp
    
End Function

Public Function MakeSQLDateString(cD As Date)
    
    '--------------------------------
    '根据SQL的不同返回不同的日期描述
    '--------------------------------
    
    MakeSQLDateString = gstrDateQuote & Year(cD) & "-" & Month(cD) & "-" & Day(cD) & gstrDateQuote
    
End Function

Public Function MakeDate(ByVal Year As Long, ByVal Month As Long, ByVal Day As Long) As Date

    '-----------------------------
    '根据传递过来的三个参数返回日期
    '-----------------------------
    If Month > 12 Then      '如果大于12, 则在年上进位
        Year = Year + (Month - 1) \ 12
        Month = Month Mod 12
        If Month = 0 Then Month = 12
    End If
    
    MakeDate = CDate(Year & "-" & Month & "-" & Day)
    
End Function

Public Function MakePath(strPath As String) As String
    
    '---------------------------
    '将路径字符串转换为结尾为“\”的字符串
    '---------------------------
    
    MakePath = Trim(strPath)
    strPath = IIf(Right(strPath, 1) = "\", strPath, strPath & "\")
    
End Function

Public Function PopOrganTemp(OrganName As String)

    
    '------------------------------------
    '弹出对应该器官组合的模板窗体
    '------------------------------------
    
    Dim strSQL As String
    Dim strTempName As String
    Dim strTempList() As String
    Dim strCombList() As String
    Dim rsTemp As ADODB.Recordset
    Dim i As Integer
    Dim j As Integer

    If Not frmOrganTemp.Loaded Then
        strSQL = "SELECT COMB_NAME, COMB_STRING, TEMP_NAME FROM US_ORGAN_COMB WHERE COMB_NAME = '" & OrganName & "'"
        Set rsTemp = OpenRS(strSQL)
        
        If rsTemp.EOF Then
            '警告没有对应的模板
            MsgBox "抱歉, 未发现相对应的模板, 请直接在 [图象描述] 和 [超声提示] 中输入检查结果! ", vbOKOnly + vbInformation, "提示"
            Exit Function
            
        End If
        strTempList() = Split(rsTemp!TEMP_NAME, US_STR_TEMPSPLIT)
        strCombList() = Split(rsTemp!COMB_STRING, US_STR_TEMPSPLIT)
    Else
        strTempList() = Split(TEMP_STRING, US_STR_TEMPSPLIT)
        strCombList() = Split(ORGAN_STRING, US_STR_TEMPSPLIT)
    End If
        
    '依次弹出器官模板
    LastTempNumber = UBound(strTempList())
    For i = 0 To UBound(strTempList())
        
        strTempName = strTempList(i)
        gstrCombString = strCombList(i)
        modCommon.TempOrderNumber = i
        If i > 0 Then j = i - 1 Else j = i
        
        Screen.MousePointer = vbHourglass
        
        '根据模板的名称决定弹出的窗体名
        Select Case strTempName
        
            Case "肝胆胰脾后腹膜"
                If (i = 0 And Not OldTempLoadFlag(i)) Or (i > 0 And Not TempLoadFlag(j) And Not OldTempLoadFlag(i)) Then
                    frmTempL_GB_P_S_BP.Show , frmMain ' vbModal
                    Exit For
                End If
                
            Case "眼睛"
                If (i = 0 And Not OldTempLoadFlag(i)) Or (i > 0 And Not TempLoadFlag(j) And Not OldTempLoadFlag(i)) Then
                    frmTempEyes.Show , frmMain ' vbModal
                    Exit For
                End If
                
            Case "透环"
                If (i = 0 And Not OldTempLoadFlag(i)) Or (i > 0 And Not TempLoadFlag(j) And Not OldTempLoadFlag(i)) Then
                    frmTempRing.Show , frmMain ' vbModal
                    Exit For
                End If
                
            Case "双肾双肾上腺"
                If (i = 0 And Not OldTempLoadFlag(i)) Or (i > 0 And Not TempLoadFlag(j) And Not OldTempLoadFlag(i)) Then
                    frmTempK_A.Show , frmMain ' vbModal
                    Exit For
                End If
                
            Case "双肾穿刺定位"
                If (i = 0 And Not OldTempLoadFlag(i)) Or (i > 0 And Not TempLoadFlag(j) And Not OldTempLoadFlag(i)) Then
                    frmTempKidneysPuncture.Show , frmMain ' vbModal
                    Exit For
                End If
                
            Case "乳腺探测"
                If (i = 0 And Not OldTempLoadFlag(i)) Or (i > 0 And Not TempLoadFlag(j) And Not OldTempLoadFlag(i)) Then
                    frmTempMammaryGland.Show , frmMain ' vbModal
                    Exit For
                End If
                
            Case "甲状腺"
                If (i = 0 And Not OldTempLoadFlag(i)) Or (i > 0 And Not TempLoadFlag(j) And Not OldTempLoadFlag(i)) Then
                    frmTempThyroidGland.Show , frmMain ' vbModal
                    Exit For
                End If
                
            Case "椎动脉"
                If (i = 0 And Not OldTempLoadFlag(i)) Or (i > 0 And Not TempLoadFlag(j) And Not OldTempLoadFlag(i)) Then
                    frmTempArteriaVertebralis.Show , frmMain ' vbModal
                    Exit For
                End If
                
            Case "子宫附件"
                If (i = 0 And Not OldTempLoadFlag(i)) Or (i > 0 And Not TempLoadFlag(j) And Not OldTempLoadFlag(i)) Then
                    frmTempWombAdnexa.Show , frmMain ' vbModal
                    Exit For
                End If
                
            Case "产科"
                If (i = 0 And Not OldTempLoadFlag(i)) Or (i > 0 And Not TempLoadFlag(j) And Not OldTempLoadFlag(i)) Then
                    frmTempFoetus.Show , frmMain ' vbModal
                    Exit For
                End If
                
            Case "胸腔探测"
                If (i = 0 And Not OldTempLoadFlag(i)) Or (i > 0 And Not TempLoadFlag(j) And Not OldTempLoadFlag(i)) Then
                    frmTempThorax.Show , frmMain ' vbModal
                    Exit For
                End If
                
            Case "移植肾"
                If (i = 0 And Not OldTempLoadFlag(i)) Or (i > 0 And Not TempLoadFlag(j) And Not OldTempLoadFlag(i)) Then
                    frmTempKidneysTransplant.Show , frmMain ' vbModal
                    Exit For
                End If
                
            Case "下肢静脉"
                If (i = 0 And Not OldTempLoadFlag(i)) Or (i > 0 And Not TempLoadFlag(j) And Not OldTempLoadFlag(i)) Then
                    frmTempLowerLimbVein.Show , frmMain ' vbModal
                    Exit For
                End If
                
            Case "阴囊"
                If (i = 0 And Not OldTempLoadFlag(i)) Or (i > 0 And Not TempLoadFlag(j) And Not OldTempLoadFlag(i)) Then
                    frmTempScrotum.Show , frmMain ' vbModal
                    Exit For
                End If
            
            Case "心脏"
                If (i = 0 And Not OldTempLoadFlag(i)) Or (i > 0 And Not TempLoadFlag(j) And Not OldTempLoadFlag(i)) Then
'                       frmTempHeartValue.Show vbModal
'                       frmTempHeartDescribe.Show vbModal
                    frmTempHeart.Show , frmMain ' vbModal
                    Exit For
                End If
            
            Case "下肢动脉"
                If (i = 0 And Not OldTempLoadFlag(i)) Or (i > 0 And Not TempLoadFlag(j) And Not OldTempLoadFlag(i)) Then
                    frmTempLowerLimbArtery.Show , frmMain ' vbModal
                    Exit For
                End If
            
            Case "颈动脉"
                If (i = 0 And Not OldTempLoadFlag(i)) Or (i > 0 And Not TempLoadFlag(j) And Not OldTempLoadFlag(i)) Then
                    frmTempNeckArtery.Show , frmMain ' vbModal
                    Exit For
                End If
                
            Case "双肾输尿管膀胱前列腺"
                If (i = 0 And Not OldTempLoadFlag(i)) Or (i > 0 And Not TempLoadFlag(j) And Not OldTempLoadFlag(i)) Then
                    frmTempK_U_B_P.Show , frmMain ' vbModal
                    Exit For
                End If
            
            Case "卵泡检测"
                If (i = 0 And Not OldTempLoadFlag(i)) Or (i > 0 And Not TempLoadFlag(j) And Not OldTempLoadFlag(i)) Then
                    frmTempOvary.txtODiagDay.Text = Date
                    frmTempOvary.Show , frmMain ' vbModal
                    Exit For
                End If
                
            Case "肿块"
                If (i = 0 And Not OldTempLoadFlag(i)) Or (i > 0 And Not TempLoadFlag(j) And Not OldTempLoadFlag(i)) Then
                    frmTempTumour.Show , frmMain ' vbModal
                    Exit For
                End If
            
            Case "腮腺"
                If (i = 0 And Not OldTempLoadFlag(i)) Or (i > 0 And Not TempLoadFlag(j) And Not OldTempLoadFlag(i)) Then
                    frmTempParotid.Show , frmMain ' vbModal
                    Exit For
                End If
            
            Case "肝穿刺"
                If (i = 0 And Not OldTempLoadFlag(i)) Or (i > 0 And Not TempLoadFlag(j) And Not OldTempLoadFlag(i)) Then
                    frmTempLiverPuncture.Show , frmMain 'vbModal
                    Exit For
                End If
                
            Case "胃"
                If (i = 0 And Not OldTempLoadFlag(i)) Or (i > 0 And Not TempLoadFlag(j) And Not OldTempLoadFlag(i)) Then
                    frmTempStomach.Show , frmMain ' vbModal
                    Exit For
                End If
            
            Case "颌下腺"
                If (i = 0 And Not OldTempLoadFlag(i)) Or (i > 0 And Not TempLoadFlag(j) And Not OldTempLoadFlag(i)) Then
                    frmTempJaw.Show , frmMain ' vbModal
                    Exit For
                End If
            
            Case "半月板"
                If (i = 0 And Not OldTempLoadFlag(i)) Or (i > 0 And Not TempLoadFlag(j) And Not OldTempLoadFlag(i)) Then
                    frmTempMeniscus.Show , frmMain ' vbModal
                    Exit For
                End If
            
            Case "阑尾"
                If (i = 0 And Not OldTempLoadFlag(i)) Or (i > 0 And Not TempLoadFlag(j) And Not OldTempLoadFlag(i)) Then
                    frmTempAppendix.Show , frmMain ' vbModal
                    Exit For
                End If
            
            Case "经颅"
                If (i = 0 And Not OldTempLoadFlag(i)) Or (i > 0 And Not TempLoadFlag(j) And Not OldTempLoadFlag(i)) Then
                    frmTempBySkull.Show , frmMain ' vbModal
                    Exit For
                End If
                
            Case "胸腔心包腹腔"
                If (i = 0 And Not OldTempLoadFlag(i)) Or (i > 0 And Not TempLoadFlag(j) And Not OldTempLoadFlag(i)) Then
                    frmTempChest_HeartP_Abdomen.Show , frmMain 'vbModal
                    Exit For
                End If
                
            Case Else
                Screen.MousePointer = vbNormal
                MsgBox "抱歉, 未发现相对应的模板, 请直接在 [图象描述] 和 [超声提示] 中输入检查结果! ", vbOKOnly + vbInformation, "提示"
                
        End Select
    Next i

End Function

'取得相应表的最大值
Public Function GetSerialID(ByVal sTableName As String) As Long
Dim sSQL As String
Dim rsTemp As Recordset
Dim lSerialID As Long
Dim lTempID As Long

    sSQL = "select SerialID from us_autonumber where tablename='" & sTableName & "'"
    Set rsTemp = GDB.Execute(sSQL)
    
    With rsTemp
    Do While Not .EOF
        lSerialID = rsTemp!serialid
        .MoveNext
    Loop
    End With
    
        
    lTempID = lSerialID + 1
    
    sSQL = "update us_autonumber set serialid=" & lTempID & " where tablename='" & sTableName & "'"
    GDB.Execute sSQL
    
    GetSerialID = lTempID
    
    rsTemp.Close
    Set rsTemp = Nothing
    
End Function

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -