?? 系統_基本函數模塊.bas
字號:
Attribute VB_Name = "XtjbModule"
'系統基本模塊(主要用來放置公用函數及模塊)
'系統信息
Public XtMenuList As String '系統菜單功能編碼
'系統日期
Public Xtkjqjgs As Integer '用戶設定會計期間個數
Public Xtyear As Integer '用戶進入系統選擇年度
Public Xtmm As Integer '用戶進入系統選擇會計期間
Public Xtrq As Date '系統日期
Public Xtrlbz As String '系統日歷標志
'系統往返參數值
Public Xtcdcs As String '系統傳遞參數值(專門用來傳遞幫助信息)
Public Xtcdcsfz As String '系統傳遞參數值(輔助信息)
Public Xtfhcs As String '系統返回參數值(專門用來傳遞幫助信息)
Public Xtfhcsfz As String '系統返回參數值(輔助信息)
'系統通用編碼參照代碼
Public Xtbmczdm As String '系統通用編碼參照代碼
'(系統等待調用窗體)
Public XtCxgnsm As String '調用程序功能說明
Public Xtczy As String '系統使用操作員
Public Xtczybm As String '系統操作員編碼
Public Xtztbm As String '系統帳套編碼
Public Xtdwm As String '系統打開帳套單位
'帳套基本參數
Public Xtjezws As Integer '金額總位數
Public Xtslzws As Integer '數量總位數
Public Xtdjzws As Integer '單價總位數
Public Xtjexsws As Integer '金額小數位數
Public Xtslxsws As Integer '數量小數位數
Public Xtdjxsws As Integer '單價小數位數
Public XtSCurrCode As String '本位幣編碼
Public XtSCurrName As String '本位幣名稱
'其它全局變量
Public Unload_TF As Boolean '窗體是否卸載
Public P_RecordCount As Integer '記錄條數
Public YesNo_str As String
Public SsqlHelp As String
Public P_Code As String: Public P_Name As String '編碼、名稱
Public AddExit_TF As Boolean '添加或編輯狀態
Public P_Ssql As String 'Sql 語句
'引用API函數
Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long
Declare Function GetComputerName Lib "kernel32" Alias "GetComputerNameA" (ByVal lpBuffer As String, nSize As Long) As Long
'======================以下為打印文本內容格式輸出控制過程函數======================='
Public Function Fun_FormatOutPut(InputText As String, OutPutLen As Integer) As String '文本內容按一定標準格式輸出(主要用于打印使用)
'參數說明:InputText 需要格式化的文本內容 OutPutLen 輸出文本占用長度(包括加空格)
Fun_FormatOutPut = Trim(InputText) + Space(OutPutLen - Strcdcs(Trim(InputText), OutPutLen))
End Function
Public Function Strcdcs(Lrcsstr As String, Lrzdcd As Integer) As Integer '測量并限制字符串長度(漢字與字符區分)
'參數說明:Lrcsstr 需要測量和限制輸出的字符串 Lrzdcd 限制輸出長度
lrtextlong = Len(Trim(Lrcsstr))
lrcscd = 0
For jsqte = 1 To lrtextlong
lrcszf = Mid(Lrcsstr, jsqte, 1)
lrzzcd = lrcscd
If Asc(lrcszf) >= 0 And Asc(lrcszf) <= 255 Then
lrcscd = lrcscd + 1
Else
lrcscd = lrcscd + 2
End If
If lrcscd > Lrzdcd Then
lrstrjqcd = jsqte - 1
Lrcsstr = Mid(Lrcsstr, 1, lrstrjqcd)
Strcdcs = lrzzcd
Exit Function
Else
Strcdcs = lrcscd
End If
Next jsqte
End Function
'======================以下為文本錄入內容格式輸入控制過程函數======================='
Public Sub Lrfzszxz(Sjwb As TextBox, lrzfasc As Integer) '文本框錄入整數值(負)限制
'輸入參數:sjwb 錄入限制文本框 lrzfasc 用戶錄入字符Ascii碼值
If Not ((lrzfasc >= Asc("0") And lrzfasc <= Asc("9")) Or lrzfasc = vbKeyBack Or (Chr(lrzfasc) = "-" And Sjwb.SelStart = 0)) Then
lrzfasc = 0
End If
End Sub
Public Sub Lrzszxz(lrzfasc As Integer) '文本框錄入整數值(正)限制
'輸入參數:lrzfasc 用戶錄入字符Ascii碼值
If Not ((lrzfasc >= Asc("0") And lrzfasc <= Asc("9")) Or lrzfasc = vbKeyBack) Then
lrzfasc = 0
End If
End Sub
Public Sub Lrszzfxz(lrzfasc As Integer) '文本框錄入數字及字符限制
'輸入參數:lrzfasc 用戶錄入字符Ascii碼值
If Not ((lrzfasc >= Asc("0") And lrzfasc <= Asc("9")) Or (lrzfasc >= Asc("a") And lrzfasc <= Asc("z")) Or (lrzfasc >= Asc("A") And lrzfasc <= Asc("Z")) Or lrzfasc = vbKeyBack) Then
lrzfasc = 0
End If
End Sub
Public Sub Lrfhzxz(lrzfasc As Integer) '文本框錄入非漢字限制
'輸入參數:lrzfasc 用戶錄入字符Ascii碼值
If Not ((lrzfasc >= 0 And lrzfasc <= 255) Or lrzfasc = vbKeyBack) Then
lrzfasc = 0
End If
End Sub
Public Sub Lrrqxz(lrzfasc As Integer) '文本框錄入日期限制
'輸入參數:lrzfasc 用戶錄入字符Ascii碼值
If Not ((lrzfasc >= Asc("0") And lrzfasc <= Asc("9")) Or Chr(lrzfasc) = "-" Or lrzfasc = vbKeyBack) Then
lrzfasc = 0
End If
End Sub
Public Sub Lrxszxz(Sjwb As TextBox, lrzfasc As Integer) '文本框錄入帶有小數位及正負號數值字段
If Not ((Chr(lrzfasc) >= "0" And Chr(lrzfasc) <= "9") Or (Chr(lrzfasc) = "." And InStr(1, Sjwb.Text, ".") = 0) Or lrzfasc = vbKeyBack Or (Chr(lrzfasc) = "-" And Sjwb.SelStart = 0)) Then
lrzfasc = 0
End If
End Sub
Public Sub Lrxzszxz(Sjwb As TextBox, lrzfasc As Integer) '文本框錄入帶有小數位正>=0數值字段
If Not ((Chr(lrzfasc) >= "0" And Chr(lrzfasc) <= "9") Or (Chr(lrzfasc) = "." And InStr(1, Sjwb.Text, ".") = 0) Or lrzfasc = vbKeyBack) Then
lrzfasc = 0
End If
End Sub
Public Sub Sjgskz(Sjwb As TextBox, zsws As Integer, xsws As Integer) '保證數值錄入字段錄入格式
'輸入參數:sjwb 錄入限制文本框 zsws 數值錄入限制整數位數 xsws 數值錄入限制小數位數
Dim xsdwz%, bccrd%
xsdwz = InStr(1, Sjwb.Text, ".")
bccrd = Sjwb.SelStart
If xsdwz = 0 Then
Sjwb.Text = Mid(Sjwb.Text, 1, zsws)
Sjwb.SelStart = bccrd
Exit Sub
End If
If zsws > xsdwz - 1 Then
Zswstr = Mid(Sjwb, 1, xsdwz - 1)
Else
Zswstr = Mid(Sjwb, 1, zsws)
End If
xswstr = Mid(Sjwb, xsdwz + 1, xsws)
Sjwb = Zswstr + "." + xswstr
Sjwb.SelStart = bccrd
End Sub
Public Sub InputFieldLimit(Ydtextte As TextBox, Zdsjlxte As Integer, keyasciite As Integer) '錄入字段事中控制程序
'函數參數:錄入限制文本框,字段數據類型,錄入字符
Select Case Zdsjlxte
Case 1 '1-錄入(Ascii0-255)
Call Lrfhzxz(keyasciite)
Case 2
Call Lrszzfxz(keyasciite) '2-錄入(0-9,a-z,A-Z)
Case 3
Call Lrfzszxz(Ydtextte, keyasciite) '3-錄入整數值(正負)
Case 4
Call Lrzszxz(keyasciite) '4-錄入整數值(正)
Case 5, 8, 9
Call Lrxszxz(Ydtextte, keyasciite) '5-錄入小數值(正負) 8-金額型(正負) 9-數量型(正負)
Case 6, 10, 11, 12
Call Lrxzszxz(Ydtextte, keyasciite) '6-錄入小數值(正) 10-單價型 11-金額型(正) 12-數量型(正)
Case 7
Call Lrrqxz(keyasciite) '7-錄入日期
End Select
End Sub
'==============================================================================='
Public Function Xtxxts(xttsxx As String, xttslb As Integer, Tbtslb As Integer) '系統信息提示
msgtitle = "新世紀/ERP開發管理平臺1.0"
Select Case xttslb
Case 0 '確定
Xtxxts = MsgBox(xttsxx, Tbtslb * 16, msgtitle)
Case 1 'YES/NO
Xtxxts = MsgBox(xttsxx, vbYesNo + Tbtslb * 16, msgtitle)
Case 2 '確定/取消
Xtxxts = MsgBox(xttsxx, vbOKCancel + Tbtslb * 16, msgtitle)
Case Else
Xtxxts = "9"
End Select
End Function
Public Function Kjjdzy(Zyjdzs As Integer) As Boolean '控件焦點轉移(針對回車鍵)
Kjjdzy = False
On Error GoTo Cwcl
If Screen.ActiveControl.TabIndex <= Zyjdzs - 1 Then
Kjjdzy = True
SendKeys "{tab}"
End If
Exit Function
Cwcl:
Resume Next '有些對象不支持TabIndex屬性
End Function
Public Sub Pbwxzf(Zfc As Integer) '錄入時屏蔽"'"
If Chr(Zfc) = "'" Then
Zfc = 0
End If
End Sub
'======================以下為對網格操作基本函數========================'
Public Sub BzWgcsh(Xsgrid As Object, Wgdmte As String, GridInf() As Variant, GridBoolean() As Boolean, GridInt() As Integer, GridStr() As String) '標準網格初始化模塊
'過程參數為:Xsgrid 生成網格對象名稱,Wgdmte 網格參數編碼,GridInf()返回網格設置信息(返回整體信息)
'GridBoolean() 網格列屬性(返回布爾型信息),GridInt() 網格列屬性(返回整型信息),GridStr() 網格列屬性(返回字符型信息)
Dim wglbt() As String '網格顯示列標題
Dim Wgxsls As Long '網格顯示(主操作)列數
Dim gdls As Long '網格固定列數
Dim Gdhs As Long '網格固定行數(標題行數)
Dim Gdhgd As Double '網格固定行高度
Dim wglkd() As Double '每列默認字符個數
Dim wglzz() As Integer '網格列組織形式
Dim zdxsgs() As String '數值字段顯示格式
Dim Sfhide() As Boolean '網格列是否隱藏
Dim Sfhxz As Boolean '網格列是否行選中
Dim Qslz As Long '網格隱藏(非操作顯示)列數
Dim Sjhgd As Double '網格數據行高度
Dim Wglsfkydpx As Integer '網格列是否可移動及排序
Dim wgxsrec As New ADODB.Recordset '網格顯示動態集
ReDim GridInf(1 To 7) '整個網格設置信息
Set wgxsrec = Cw_DataEnvi.DataConnect.Execute("SELECT * FROM xt_grid WHERE Grid_Code ='" + Wgdmte + "' ORDER BY ColId")
With wgxsrec
If .EOF And .BOF Then
Exit Sub
Else
.MoveFirst
End If
'如果網格為單據則設置網格大小、位置
If .Fields("GridType") = 1 Then
Xsgrid.Height = .Fields("GridHeight") '網格高度
Xsgrid.Width = .Fields("Gridwidth") '網格寬度
Xsgrid.Top = .Fields("GridTop") '網格上邊距
Xsgrid.Left = .Fields("GridLeft") '網格左邊距
End If
Qslz = .Fields("BeginCol") '網格隱藏(非操作顯示)列數
Sjhgd = .Fields("DataRowHeight") '網格數據行高度
GridInf(1) = Qslz '起始列值
GridInf(2) = Sjhgd '數據行高度
GridInf(3) = .Fields("KeepDataRows") '屏幕保持數據行數
GridInf(4) = .Fields("AssistantRows") '輔助項網格行數(例如:合計行)
If .Fields("SaveHelpWidth_Flag") Then '是否保留幫助寬度(字段提供幫助時,是否為按鈕保留空間)
GridInf(5) = True
Else
GridInf(5) = False
End If
If .Fields("DeleteRowAsk_Flag") Then '刪除有效記錄行是否提示
GridInf(6) = True
Else
GridInf(6) = False
End If
If .Fields("ShowSumGrid_Flag") Then '是否顯示合計網格
GridInf(7) = True
Else
GridInf(7) = False
End If
Wgxsls = .RecordCount - 1 '網格顯示(主操作)列數(原.Fields("wgxsls"))
gdls = .Fields("FixCols") '網格固定列數
Gdhs = .Fields("FixRows") '網格固定行數(標題行數)
Gdhgd = .Fields("FixRowHeight") '網格固定行高度
Wglsfkydpx = .Fields("explorerbar") '網格列是否可移動及排序
If .Fields("SelectRow_Flag") Then '是否行選中
Sfhxz = True
End If
ReDim wglbt(Gdhs - 1, Wgxsls + Qslz - 1) '網格顯示列標題
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -