www.pudn.com > VB-KAOQINXITONG.zip > modDBPublic.bas
Attribute VB_Name = "modDBPublic"
Option Explicit
Public gTAixSystemParament As AixSystemParament
'gTOperRight 包含操作员具备的各种操作权限
Public gTOperRight As OpertorRights
'gclsCommon 包含一些实用程序
Public gclsCommon As BNCommonProj.clsBNCommon
'gclsPntCtrl 可以控制打印机的纸向,弥补VB的报表在对打印机控制方面的不足
Public gclsPntCtrl As BNIncludeProj.clsBNPrinterCtrl
'gTAppLicInfo 包括应用程序的一些基本信息,为全局函数,在程序的任何地方引用
Public gTAppLicInfo As AppLicenceInfo
' gclsInclude 包含所有的常用的函数,某些函数在使用时需要认证
Public gclsInclude As BNIncludeProj.clsBNInclude
Public gbSetclsInclude As Boolean '是否使用了gclsInclude的标志
Public gbErrLog As Boolean
Public giDebug As Integer
'本函数对记录集RS中的字段变量进行自动赋值
Public Function SetFieldValue(frm As Form, RS As ADODB.Recordset) As Boolean
Dim oCtrl As Control
'DTPicker,CheckBox,TextBox
For Each oCtrl In frm.Controls
Select Case TypeName(oCtrl)
Case "DTPicker", "CheckBox", "TextBox"
If oCtrl.DataField <> "" Then
With RS.Fields(oCtrl.DataField)
If .Type = eadDate Then
If IsDate(oCtrl) Then
.Value = oCtrl
Else
RS.Fields(oCtrl.DataField) = Null
End If
Else
.Value = oCtrl
End If
End With
End If
End Select
Next
End Function
'本函数将表单(窗体)中的图标进行统一代换,并且自动按照系统的分辨率调整所有的控件
'同时,还根据按钮的Ctrl.Tag属性对按钮自动设置风格包括按钮图标
Public Sub SetIcon(fForm As Object)
On Error Resume Next
Dim Ctrl As Control
If gTAppLicInfo.CtrlNeedResize Then gclsInclude.MyAdjustForm fForm, 1024, 768
gclsCommon.CBNSetIcon fForm, gTAppLicInfo.SoftIconKey
'对于报表不进行按钮处理
If Left(TypeName(fForm), 3) = "rpt" Then Exit Sub
'按钮处理
For Each Ctrl In fForm.Controls
If TypeName(Ctrl) = "SuperBtn" Then
If Ctrl.Tag <> "" Then
gclsCommon.CBNSetSuperButton Ctrl, gTAppLicInfo.CtrlButtonStyle
End If
ElseIf TypeName(Ctrl) = "BNButton" Then
If Ctrl.Tag <> "" Then
gclsCommon.CBNSetSuperButton Ctrl, gTAppLicInfo.CtrlButtonStyle
DoEvents
End If
End If
Next
End Sub
'以下函数为帮助函数,能够将表单中的所有自制按钮的TAG提取出来,形成VB的代码
'输入变量foForm为表单
Public Sub LoSetButtonTag(foForm)
Dim oBton As Control
Dim bErr As Boolean
Dim i As Integer
Dim sTemp As String
On Error GoTo ErrLabel
sTemp = foForm.Name & vbCrLf
sTemp = sTemp & "Private Sub LoSetButtonTag()" & vbCrLf
For Each oBton In foForm.Controls
If TypeName(oBton) = "SuperBtn" Then
bErr = False
i = oBton.Index
If bErr Then
sTemp = sTemp & " " & oBton.Name & ".Tag = " & Chr(34) & oBton.Tag & Chr(34) & vbCrLf
Else
sTemp = sTemp & " " & oBton.Name & "(" & oBton.Index & ").Tag = " & Chr(34) & oBton.Tag & Chr(34) & vbCrLf
End If
End If
Next
sTemp = sTemp & "End Sub"
Debug.Print sTemp
Exit Sub
ErrLabel:
If Err = 343 Then
bErr = True
Err.Clear
Resume Next
Else
MsgBox Error
End If
End Sub
'对打印纸的方向进行设置
Public Function SetPrintPaple(fiMode As Integer) As Boolean
Dim l As Long
On Error GoTo ErrLabel
'先判断系统是否存在打印机
If Not gclsCommon.CBNHavePrinter(True) Then Exit Function
If gTAppLicInfo.CtrlPapleCtrl Then
If fiMode = 0 Then '将打印纸设置为竖向
gclsPntCtrl.PRN_ChngOrientationPortrait
ElseIf fiMode = 1 Then '将打印纸设置为横向
gclsPntCtrl.PRN_ChngOrientationLandscape
End If
'给足够的时间让打印机动作
For l = 1 To 40
DoEvents
Next l
End If
SetPrintPaple = True
Exit Function
ErrLabel:
End Function