mod_main.bas

来自「单据套打设计软件;可以通过数据库系统自由定义单据打印格式」· BAS 代码 · 共 58 行

BAS
58
字号
Attribute VB_Name = "Mod_Main"
Option Explicit

Public g_CnMain As New ADODB.Connection

'生成连接串
Private Function CreateCnStr(Uid As String, Pwd As String, Server As String, DBName As String) As String
    CreateCnStr = "Provider=SQLOLEDB;User ID=" & Uid & ";PassWord=" & Pwd & ";Initial Catalog=" & DBName & ";Data Source=" & Server
End Function


Private Sub Main()
On Error GoTo err

    g_CnMain.CursorLocation = adUseClient
    g_CnMain.ConnectionString = CreateCnStr("sa", "", "qf-server-a", "qf003")
    g_CnMain.Open
    
    MDIFrm_Main.Show
    
    Exit Sub

err:
   
    MsgBox "Error:" & err.Number & " Source:" & err.Source & " More:" & err.Description, vbExclamation, "商品价格管理"
End Sub


'显示一般错误信息
Public Function ErrInfo(Optional EInfo As String = "", Optional MsgIcon As Integer = vbCritical)
    
    If g_CnMain.Errors.Count <> 0 Then
        With g_CnMain.Errors(0)
            EInfo = "数据库错误 " & vbCrLf & EInfo & vbCrLf & vbCrLf & .NativeError & ":" & ErrNumberToInfo(.NativeError, .Description)
        End With
        g_CnMain.Errors.Clear
    ElseIf err.Number <> 0 Then
        EInfo = err.Source & vbCrLf & EInfo & vbCrLf & vbCrLf & err.Number & ":" & err.Description
        err.Clear
    End If
    
    MsgBox EInfo, vbOKOnly + MsgIcon
    
End Function

Public Function ErrNumberToInfo(ErrNumber As Long, Optional ElseInfo As String = "") As String
    Select Case ErrNumber
        Case 2601: ErrNumberToInfo = "数据重复!"
        Case 2627: ErrNumberToInfo = "主键(编号或名称)重复!"
        Case 8152: ErrNumberToInfo = "数据长度超出!"
        Case 8114: ErrNumberToInfo = "数据类型转换错!"
        Case 547: ErrNumberToInfo = "数据已使用!"
    End Select
    ErrNumberToInfo = ErrNumberToInfo & vbCrLf & ElseInfo
    
End Function

⌨️ 快捷键说明

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