Module1.bas
上传用户:xiao_xia32
上传日期:2022-07-21
资源大小:1174k
文件大小:10k
源码类别:

企业管理

开发平台:

Visual Basic

  1. Attribute VB_Name = "modMain"
  2. Option Explicit
  3. Public dbConnection As Connection
  4. Public cntMIS As ADODB.Connection
  5. Public QueryItem As Integer          '查询数据判定变量
  6. Public ConnWZ As New ADODB.Connection
  7. '全局变量
  8. 'Global pdbh As String
  9. Global KL As String
  10. Global GANGWEI As String
  11. Global LLDBH As String
  12. 'Global STRLLDKQYF As String
  13. Global YGXM As String
  14. Global YJBM As String
  15. Global EJBM As String
  16. Global PDMC As String
  17. Global RKPDZPH As String
  18. Global YHM As String
  19. Global SBBH As String
  20. Global RKWH As String
  21. Global FLAGBH As String
  22. Global FlagBMTZ As String
  23. Global TKDCZ As Integer
  24. Global FFLAG As Integer
  25. Global RKPDBH As String
  26. Global CKPDBH As String
  27. Global CKPDRQ As String
  28. Global CKPDBGY As String
  29. Global CKPDWTJ As String
  30. Global CXTJ As String
  31. Global LYWZMC As String
  32. Global LYWZRQ As String
  33. Global RKRQBegin As Date
  34. Global RKRQEnd As Date
  35. Global KCCXSPBH As String
  36. Global flag As Integer
  37. Global FLAGLY As Integer
  38. Global RKBGY As String
  39. Global BLCPH As String
  40. Global GLHTBH As String
  41. Global GLHTMC  As String
  42. Global MsgTitle As String
  43. Type ConnectInfo
  44.     UID As String
  45.     Pwd As String
  46.     DataBase As String
  47.     Server As String
  48. End Type
  49. Type t_User
  50.     UserCode As String
  51.     UserName As String
  52.     Pwd As String
  53.     QX As Integer
  54.     BeiZhu As String
  55. End Type
  56. Public db As New ADODB.Connection
  57. Public db1 As New ADODB.Connection
  58. Public Declare Function SetParent Lib "user32" (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As Long
  59. Public uConnect As ConnectInfo
  60. Public DSNCONNECTION As String
  61. Public UserInfo As t_User
  62. Public Function InitAdoConnection() As Boolean
  63. With uConnect
  64.         DSNCONNECTION = "Provider=SQLOLEDB;Integrated Security=SSPI;Persist Security Info=False;" _
  65.             & " Initial Catalog= " & .DataBase & ";Data Source=" & .Server
  66. End With
  67. On Error GoTo hErr
  68.  
  69. With ConnWZ
  70.     If .State = adStateOpen Then GoTo lNext
  71.     '.Provider = "SQLOLEDB"
  72.     .CursorLocation = adUseClient
  73.     .ConnectionString = DSNCONNECTION
  74.     .Mode = adModeReadWrite
  75.     .ConnectionTimeout = 45
  76.     .CommandTimeout = 45
  77.     .Properties("Prompt") = adPromptNever
  78.     .Open
  79. End With
  80. lNext:
  81. InitAdoConnection = True
  82. On Error GoTo 0
  83. Exit Function
  84. hErr:
  85.     MsgBox Err.Description, vbInformation, "提示信息"
  86.     InitAdoConnection = False
  87. End Function
  88. Sub Main()
  89.   Dim strSql As String
  90. '  If App.PrevInstance Then
  91. '        MsgBox "此应用程序已经运行", vbExclamation Or vbOKOnly, App.Title & "(系统错误)"
  92. '        Exit Sub
  93. '  End If
  94.   On Error GoTo LogoError
  95.     Open App.Path & "RS.dll" For Input As #1
  96.     Input #1, strSql
  97.         uConnect.UID = strSql
  98.     Input #1, strSql
  99.         uConnect.Pwd = strSql
  100.     Input #1, strSql
  101.         uConnect.Server = strSql
  102.     Input #1, strSql
  103.         uConnect.DataBase = strSql
  104.     Close #1
  105.     On Error GoTo 0
  106.   frmFrash.Show vbModal
  107.   
  108.   If Not InitAdoConnection Then
  109.      MsgBox "网络故障或没有与网络进行连接,请检查计算机的网络连接或与网络管理员联系。", vbOKOnly + vbQuestion, "信息管理系统"
  110.      End
  111.   Else
  112.      frmLogin.Show vbModal
  113.   End If
  114.   
  115.   Call iniConnect(db)
  116.   Call iniConnect(db1)
  117.   MsgTitle = "提示"
  118.   MsgTitle = "提示"
  119.   
  120.   'RSGL.Show
  121.   
  122. LogoOK:
  123.      Exit Sub
  124. LogoError:
  125.     frmODBCLogon.Show
  126.      'Beep
  127.      'MsgBox "网络故障或没有与网络进行连接,请检查计算机的网络连接或与网络管理员联系。", vbOKOnly + vbQuestion, "信息管理系统"
  128. End Sub
  129. Public Sub iniConnect(iCon As ADODB.Connection)
  130. On Error GoTo hErr
  131.     DSNCONNECTION = "Provider=MSDataShape; Data " & DSNCONNECTION
  132. With iCon
  133.     If .State = adStateOpen Then GoTo lNext
  134.     '.Provider = "SQLOLEDB"
  135.     .CursorLocation = adUseClient
  136.     .ConnectionString = DSNCONNECTION
  137.     .Mode = adModeReadWrite
  138.     .ConnectionTimeout = 45
  139.     .CommandTimeout = 45
  140.     .Properties("Prompt") = adPromptNever
  141.     .Open
  142. End With
  143. On Error GoTo 0
  144. lNext:
  145. Exit Sub
  146. hErr:
  147.     MsgBox Err.Description, vbInformation, "提示信息"
  148. End Sub
  149. Sub LoadResStrings(frm As Form)
  150.     On Error Resume Next
  151.     Dim ctl As Control
  152.     Dim obj As Object
  153.     Dim fnt As Object
  154.     Dim sCtlType As String
  155.     Dim nVal As Integer
  156.     'set the form's caption
  157.     frm.Caption = LoadResString(CInt(frm.Tag))
  158.     
  159.     'set the font
  160.     Set fnt = frm.Font
  161.     fnt.Name = LoadResString(20)
  162.     fnt.Size = CInt(LoadResString(21))
  163.     
  164.     'set the controls' captions using the caption
  165.     'property for menu items and the Tag property
  166.     'for all other controls
  167.     For Each ctl In frm.Controls
  168.         Set ctl.Font = fnt
  169.         sCtlType = TypeName(ctl)
  170.         If sCtlType = "Label" Then
  171.             ctl.Caption = LoadResString(CInt(ctl.Tag))
  172.         ElseIf sCtlType = "Menu" Then
  173.             ctl.Caption = LoadResString(CInt(ctl.Caption))
  174.         ElseIf sCtlType = "TabStrip" Then
  175.             For Each obj In ctl.Tabs
  176.                 obj.Caption = LoadResString(CInt(obj.Tag))
  177.                 obj.ToolTipText = LoadResString(CInt(obj.ToolTipText))
  178.             Next
  179.         ElseIf sCtlType = "Toolbar" Then
  180.             For Each obj In ctl.Buttons
  181.                 obj.ToolTipText = LoadResString(CInt(obj.ToolTipText))
  182.             Next
  183.         ElseIf sCtlType = "ListView" Then
  184.             For Each obj In ctl.ColumnHeaders
  185.                 obj.Text = LoadResString(CInt(obj.Tag))
  186.             Next
  187.         Else
  188.             nVal = 0
  189.             nVal = Val(ctl.Tag)
  190.             If nVal > 0 Then ctl.Caption = LoadResString(nVal)
  191.             nVal = 0
  192.             nVal = Val(ctl.ToolTipText)
  193.             If nVal > 0 Then ctl.ToolTipText = LoadResString(nVal)
  194.         End If
  195.     Next
  196. End Sub
  197. Sub EnterToNext(KeyCode As Integer)
  198. On Error GoTo EnterError
  199. If KeyCode = 13 Then SendKeys "{TAB}"
  200. EnterOK:
  201.   Exit Sub
  202. EnterError:
  203.   MsgBox "请正确操作!", vbOKOnly, "提示"
  204.   Resume Next
  205. End Sub
  206. Sub GotoFirst(adoPrimaryRS As ADODB.Recordset, ByRef mbDataChanged)
  207.   On Error GoTo GoFirstError
  208.   adoPrimaryRS.MoveFirst
  209.   mbDataChanged = False
  210.   Exit Sub
  211. GoFirstError:
  212.   MsgBox "请正确操作!", vbOKOnly, MsgTitle
  213. End Sub
  214. Sub GotoLast(adoPrimaryRS As ADODB.Recordset, ByRef mbDataChanged)
  215.   On Error GoTo GoLastError
  216.   adoPrimaryRS.MoveLast
  217.   mbDataChanged = False
  218.   Exit Sub
  219. GoLastError:
  220.   MsgBox "请正确操作!", vbOKOnly, MsgTitle
  221. End Sub
  222. Sub GotoNext(adoPrimaryRS As ADODB.Recordset, ByRef mbDataChanged)
  223.   On Error GoTo GoNextError
  224.   If Not adoPrimaryRS.EOF Then adoPrimaryRS.MoveNext
  225.   If adoPrimaryRS.EOF And adoPrimaryRS.RecordCount > 0 Then
  226.     Beep
  227.      'moved off the end so go back
  228.     adoPrimaryRS.MoveLast
  229.   End If
  230.   'show the current record
  231.   mbDataChanged = False
  232.   Exit Sub
  233. GoNextError:
  234.   MsgBox "请正确操作!", vbOKOnly, MsgTitle
  235. End Sub
  236. Sub GotoPrevious(adoPrimaryRS As ADODB.Recordset, ByRef mbDataChanged)
  237.   On Error GoTo GoPrevError
  238.   If Not adoPrimaryRS.BOF Then adoPrimaryRS.MovePrevious
  239.   If adoPrimaryRS.BOF And adoPrimaryRS.RecordCount > 0 Then
  240.     Beep
  241.     'moved off the end so go back
  242.     adoPrimaryRS.MoveFirst
  243.   End If
  244.   'show the current record
  245.   mbDataChanged = False
  246.   Exit Sub
  247. GoPrevError:
  248.   MsgBox "请正确操作!", vbOKOnly, MsgTitle
  249. End Sub
  250. Sub SetButtons(bVal As Boolean)
  251.   'SZBGL.ActiveForm.cmdCancel.Visible = bVal
  252.   'SZBGL.ActiveForm.cmdClose.Visible = bVal
  253.   'SZBGL.ActiveForm.cmdNext.Enabled = bVal
  254.   'SZBGL.ActiveForm.cmdFirst.Enabled = bVal
  255.   'SZBGL.ActiveForm.cmdLast.Enabled = bVal
  256.   'SZBGL.ActiveForm.cmdPrevious.Enabled = bVal
  257. End Sub
  258. Sub InitGrid(adoPrimaryRS As ADODB.Recordset, MSFlexGrid As MSFlexGrid)
  259.     MSFlexGrid.Clear
  260.     With MSFlexGrid
  261.        .Rows = 1
  262.        .Cols = adoPrimaryRS.Fields.Count
  263.        .FixedCols = adoPrimaryRS.Fields.Count - 1
  264.        If adoPrimaryRS.BOF Or adoPrimaryRS.EOF Then
  265.             Exit Sub
  266.         End If
  267.        adoPrimaryRS.MoveFirst
  268.        While Not adoPrimaryRS.EOF
  269.           .AddItem Trim(adoPrimaryRS(0)) & vbTab & Trim(adoPrimaryRS(1)) + "   (" + Trim(adoPrimaryRS(2)) + ")"
  270.           adoPrimaryRS.MoveNext
  271.        Wend
  272.        .TextArray(0) = adoPrimaryRS(0).Name
  273.        .TextArray(1) = adoPrimaryRS(1).Name
  274.        .TextArray(2) = "数据"
  275.        .RowHeight(0) = 600
  276.        .Row = 0
  277.        .Col = .Cols - 1
  278.        .CellForeColor = vbBlue
  279.        .CellAlignment = vbAlignRight
  280.        .Col = .Cols - 2
  281.        .CellForeColor = vbBlue
  282.        .CellAlignment = vbAlignRight
  283.        .ColWidth(0) = 0
  284.        .ColWidth(1) = 3200
  285.        .ColWidth(2) = 2000
  286.     End With
  287. End Sub
  288. Sub RefreshGrid(Grid As MSFlexGrid, adoRS As Recordset, ID As String)
  289.     Dim i As Integer
  290.     Dim ItemIndex As Integer
  291.     Dim adoRsBackup As Recordset
  292.     Dim strItem As String
  293.     Dim GridRow As Integer
  294.     Set adoRsBackup = adoRS.Clone
  295.     
  296.     With Grid
  297.          .Clear
  298.          .Rows = 1
  299.          .Cols = adoRS.Fields.Count + 1
  300.          .TextArray(0) = "序号"
  301.          .ColWidth(0) = 800
  302.          .ColAlignment(0) = flexAlignCenterCenter
  303.          For i = 1 To .Cols - 1
  304.              .TextArray(i) = adoRS.Fields(i - 1).Name
  305.              .ColWidth(i) = 2000
  306.          Next i
  307.          If adoRsBackup.RecordCount = 0 Then
  308.             adoRsBackup.Close
  309.             Exit Sub
  310.          Else
  311.             adoRsBackup.MoveFirst
  312.             ItemIndex = 1
  313.             While Not adoRsBackup.EOF
  314.                strItem = ItemIndex
  315.                For i = 0 To adoRsBackup.Fields.Count - 1
  316.                    strItem = strItem & vbTab & adoRsBackup.Fields(i)
  317.                Next i
  318.                If Trim(adoRsBackup.Fields(0)) = Trim(ID) Then GridRow = ItemIndex
  319.                .AddItem strItem
  320.                ItemIndex = ItemIndex + 1
  321.                adoRsBackup.MoveNext
  322.             Wend
  323.             .Row = GridRow
  324.             adoRsBackup.Close
  325.          End If
  326.     End With
  327. End Sub