📄 frmsalarylist.frm
字号:
VERSION 5.00
Object = "{5E9E78A0-531B-11CF-91F6-C2863C385E30}#1.0#0"; "MSFLXGRD.OCX"
Object = "{0D452EE1-E08F-101A-852E-02608C4D0BB4}#2.0#0"; "FM20.DLL"
Object = "{F6125AB1-8AB1-11CE-A77F-08002B2F4E98}#2.0#0"; "MSRDC20.OCX"
Begin VB.Form frmSalaryList
Caption = "工资发放目录"
ClientHeight = 4245
ClientLeft = 150
ClientTop = 525
ClientWidth = 7575
HelpContextID = 60104
KeyPreview = -1 'True
LinkTopic = "Form1"
LockControls = -1 'True
MDIChild = -1 'True
ScaleHeight = 4245
ScaleWidth = 7575
Tag = "1018"
Begin VB.TextBox txtFindValue
Height = 300
Left = 3330
TabIndex = 3
Top = 120
Width = 3825
End
Begin VB.ComboBox cboFind
Height = 300
ItemData = "frmSalaryList.frx":0000
Left = 810
List = "frmSalaryList.frx":0010
Style = 2 'Dropdown List
TabIndex = 1
Top = 90
Width = 1635
End
Begin VB.CommandButton cmdFind
BeginProperty Font
Name = "System"
Size = 9.75
Charset = 0
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 300
Left = 7170
Style = 1 'Graphical
TabIndex = 4
Tag = "1017"
Top = 120
UseMaskColor = -1 'True
Width = 315
End
Begin MSFlexGridLib.MSFlexGrid msgSalaryList
Bindings = "frmSalaryList.frx":003C
Height = 3075
Left = 60
TabIndex = 5
Top = 600
Width = 7440
_ExtentX = 13123
_ExtentY = 5424
_Version = 393216
Cols = 10
BackColorFixed = -2147483643
ForeColorSel = -2147483643
BackColorBkg = -2147483643
GridColor = -2147483643
GridColorFixed = -2147483643
FocusRect = 0
SelectionMode = 1
End
Begin MSRDC.MSRDC datList
Height = 330
Left = 2670
Top = 3810
Visible = 0 'False
Width = 1515
_ExtentX = 2672
_ExtentY = 582
_Version = 393216
Options = 0
CursorDriver = 0
BOFAction = 0
EOFAction = 0
RecordsetType = 1
LockType = 3
QueryType = 0
Prompt = 3
Appearance = 1
QueryTimeout = 30
RowsetSize = 100
LoginTimeout = 15
KeysetSize = 0
MaxRows = 0
ErrorThreshold = -1
BatchSize = 15
BackColor = -2147483643
ForeColor = -2147483640
Enabled = -1 'True
ReadOnly = 0 'False
Appearance = -1 'True
DataSourceName = ""
RecordSource = ""
UserName = ""
Password = ""
Connect = ""
LogMessages = ""
Caption = "MSRDC1"
BeginProperty Font {0BE35203-8F91-11CE-9DE3-00AA004BB851}
Name = "宋体"
Size = 9
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
End
Begin MSForms.CommandButton cmdWork
Height = 345
Index = 0
Left = 45
TabIndex = 6
Tag = "1018"
Top = 3810
Width = 1215
Caption = "编辑"
PicturePosition = 196613
Size = "2143;609"
FontName = "宋体"
FontHeight = 180
FontCharSet = 134
FontPitchAndFamily= 34
ParagraphAlign = 3
End
Begin MSForms.CommandButton cmdWork
Height = 345
Index = 1
Left = 1275
TabIndex = 7
Tag = "1018"
Top = 3810
Width = 1215
Caption = "报表"
PicturePosition = 196613
Size = "2143;609"
FontName = "宋体"
FontHeight = 180
FontCharSet = 134
FontPitchAndFamily= 34
ParagraphAlign = 3
End
Begin VB.Label lblList
BackStyle = 0 'Transparent
Caption = "内容(&C)"
Height = 195
Index = 1
Left = 2640
TabIndex = 2
Top = 150
Width = 675
End
Begin VB.Label lblList
BackStyle = 0 'Transparent
Caption = "查找(&F)"
Height = 195
Index = 0
Left = 90
TabIndex = 0
Top = 150
Width = 645
End
End
Attribute VB_Name = "frmSalaryList"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
'工资发放列表
'
'功能:1、删除工资表
' 2、工资向导初始化
'
'输出接口:1、提供向导的初始数据,分为修改和新增
' 2、提供凭证接口
' 3、提供报表接口
' 4、提供报表接口
' 5、列表选择 DbClickList(objGrid As Object 来源表, intTo As Integer 目的表Grid号)
' 6、根据选择项目生成公式文本框函数Select_Text(公式文本框中选中的字符串 txtSelText, 公式文本框光标位置 lngSelStart, _
' 公式文本框长度 lngSelLength, 公式文本 txtText, 选择项目文本 txtSelectCaption As String)
' 7、计算工资数据 SalaryCalc( 计算条件 strWHERE)
'引用公共变量:1、会计期间
' 2、操作员ID
'作者:唐吉禹
'日期:1996-6-20
Option Explicit
Private mlngSalaryID As Long '工资表ID
Private mintEditItem As Integer '调用项目卡片,0 修改,1 新增
Private mintSalaryViewID As Integer '工资表视图ID
Private mblnIsAddSalary As Boolean '新增工资表否
Private WithEvents mclsGrid As Grid
Attribute mclsGrid.VB_VarHelpID = -1
Private mintSalaryListViewID As Long '工资目录表视图ID
Private WithEvents mSalaryListMenu As MainControl
Attribute mSalaryListMenu.VB_VarHelpID = -1
Private mblnSalaryInput As Boolean '调用录入窗体否
Private mblnMonneyOK As Boolean '打印配款表否
Private mlngFindCol As Long '查找列
Private mlngSortCol As Long '排序列
Private mintSortType As Long '排序方式
Private mblnChangeText As Boolean '改变文本否
Private mblnKeyPress As Boolean '查找否
Private mstrFindText As String '查找文本
Private mblnIsSetRight As Boolean '是否有工资设置权限
Private mblnIsInputRight As Boolean '是否有工资录入权限
Private mblnIsRrportRight As Boolean '是否有工资报表查询权限
Private mstrWhereOFSQL As String '工资目录表筛选条件(用于工资录入)
'工资表SQL
'Const mstrSalarySQL As String = "SELECT Salary.*, Employee.strEmployeeName,Employee.strInDate," _
& "IIf(Employee.blnIsMale=True,'男','女') AS Male, Department.strDepartmentName,Title.strTitleName" _
& ",Education.strEducationName, EmployeeType.strEmployeeTypeName, PersonTaxType.dblStartAmount,Employee.strEmployeeCode" _
& ",Employee.lngEmployeeID FROM (((((Employee INNER JOIN Salary ON Employee.lngEmployeeID = Salary.lngEmployeeID) " _
& "LEFT JOIN EmployeeType ON Employee.lngEmployeeTypeID = EmployeeType.lngEmployeeTypeID) " _
& "LEFT JOIN Department ON Salary.lngDepartmentID = Department.lngDepartmentID) LEFT JOIN " _
& "Education ON Employee.lngEducationID = Education.lngEducationID) LEFT JOIN PersonTaxType" _
& " ON Employee.lngPersonTaxTypeID = PersonTaxType.lngPersonTaxTypeID) LEFT JOIN Title ON " _
& "Employee.lngTitleID=Title.lngTitleID WHERE (Department.blnIsInActive)=False "
Private Const mstrSalarySQL As String = "SELECT Salary.*, Employee.strEmployeeName,Employee.strInDate," _
& " DECODE(Employee.blnIsMale,1,'男','女') AS Male, Department.strDepartmentName,Title.strTitleName," _
& " Education.strEducationName, EmployeeType.strEmployeeTypeName, PersonTaxType.dblStartAmount,Employee.strEmployeeCode," _
& " Employee.lngEmployeeID FROM Employee,Salary,EmployeeType,Department,Education,PersonTaxType,Title " _
& " WHERE ((((( Employee.lngEmployeeID = Salary.lngEmployeeID) " _
& " AND Employee.lngEmployeeTypeID = EmployeeType.lngEmployeeTypeID(+)) " _
& " AND Salary.lngDepartmentID = Department.lngDepartmentID(+)) " _
& " AND Employee.lngEducationID = Education.lngEducationID(+)) " _
& " AND Employee.lngPersonTaxTypeID = PersonTaxType.lngPersonTaxTypeID) " _
& " AND Employee.lngTitleID=Title.lngTitleID(+) " _
& " AND Department.blnIsInActive=0 "
'创建菜单
Public Sub CreateMenu()
Dim intCnt As Integer
With frmMain
For intCnt = .mnuListEditMenu.Count - 1 To 1 Step -1
Unload .mnuListEditMenu(intCnt)
Next
Utility.CloneMenu .mnuEditEdit, .mnuListEditMenu(0)
Load .mnuListEditMenu(1)
Utility.CloneMenu .mnuEditNew, .mnuListEditMenu(1)
Load .mnuListEditMenu(2)
Utility.CloneMenu .mnuEditDel, .mnuListEditMenu(2)
Load .mnuListEditMenu(3)
Utility.CloneMenu .mnuEditBar2, .mnuListEditMenu(3)
Load .mnuListEditMenu(4)
.mnuListEditMenu(4).Caption = "打开(&W)"
Load .mnuListEditMenu(5)
Utility.CloneMenu .mnuEditFilter, .mnuListEditMenu(5)
Load .mnuListEditMenu(6)
Utility.CloneMenu .mnuEditBar2, .mnuListEditMenu(6)
Load .mnuListEditMenu(7)
Utility.CloneMenu .mnuToolRefresh, .mnuListEditMenu(7)
Load .mnuListEditMenu(8)
Utility.CloneMenu .mnuFilePrint, .mnuListEditMenu(8)
For intCnt = .mnuListReportMenu.Count - 1 To 1 Step -1
Unload .mnuListReportMenu(intCnt)
Next
.mnuListReportMenu(0).Caption = "工资发放表(&G)"
Load .mnuListReportMenu(1)
.mnuListReportMenu(1).Caption = "工资条(&I)"
Load .mnuListReportMenu(2)
.mnuListReportMenu(2).Caption = "工资汇总表(&H)"
Load .mnuListReportMenu(3)
.mnuListReportMenu(3).Caption = "配款表向导(&W)"
Load .mnuListReportMenu(4)
.mnuListReportMenu(4).Caption = "银行代发文件(&B)"
Load .mnuListReportMenu(5)
.mnuListReportMenu(5).Caption = "个人所得税扣缴申报表(&T)"
End With
End Sub
'刷新列表
Public Sub JionGrid(Optional strWhere As String = "")
Dim strSelect As String, strFrom As String
Dim strSql As String
Dim recRecordset As rdoResultset
Dim recZ As rdoResultset
Dim lngListID As Long
Dim strTitle As String
Dim i As Integer
With msgSalaryList
For i = 0 To .Cols - 1
strTitle = .TextMatrix(0, i)
If Right(strTitle, 1) = "↑" Then
mlngSortCol = i
mintSortType = 1
Exit For
End If
If Right(strTitle, 1) = "↓" Then
mlngSortCol = i
mintSortType = 2
Exit For
End If
Next
End With
With msgSalaryList
.Redraw = False
.FixedCols = 0
End With
mclsGrid.ListSet.SaveList
mclsGrid.ListSet.ViewId = mintSalaryListViewID
mstrWhereOFSQL = mclsGrid.ListSet.WhereOfSql
'strSql = "SELECT SalaryList.lngSalaryListID,IIF(SalaryList.blnIsTax,1,0)as 扣税标志 ,SalaryList.strSalaryListName AS 工资表名称" _
& ",Operator.strOperatorName AS 建表人," & "SalaryList.strDate AS 发放日期," _
& "AccountPeriod.strCloseDate AS 结帐日期 FROM AccountPeriod," _
& " Operator INNER JOIN SalaryList ON Operator.lngOperatorID=SalaryList.lngOperatorID" _
& " WHERE CDate(SalaryList.strDate)>=CDate(AccountPeriod.strStartDate) AND " _
& "CDate(SalaryList.strDate)<=CDate(AccountPeriod.strEndDate) "
strSql = "SELECT SalaryList.lngSalaryListID,DECODE(SalaryList.blnIsTax,1,1,0)as 扣税标志 ," _
& " SalaryList.strSalaryListName AS 工资表名称,Operator.strOperatorName AS 建表人," _
& " SalaryList.strDate AS 建表日期,AccountPeriod.strCloseDate AS 结帐日期 " _
& " FROM AccountPeriod,Operator,SalaryList " _
& " WHERE Operator.lngOperatorID=SalaryList.lngOperatorID " _
& " AND TO_DATE(SalaryList.strDate,'RRRR-MM-DD')>=TO_DATE(AccountPeriod.strStartDate,'RRRR-MM-DD') " _
& " AND TO_DATE(SalaryList.strDate,'RRRR-MM-DD')<=TO_DATE(AccountPeriod.strEndDate,'RRRR-MM-DD') "
If Trim(mstrWhereOFSQL) <> "" Then
strSql = strSql & " AND " & mstrWhereOFSQL
End If
Set recRecordset = gclsBase.BaseDB.OpenResultset(strSql, rdOpenStatic)
If Not recRecordset.EOF Then
recRecordset.MoveLast
End If
'列表是否为空
If recRecordset.RowCount = 0 Then
msgSalaryList.HighLight = flexHighlightNever
Else
msgSalaryList.HighLight = flexHighlightAlways
End If
Set datList.Resultset = recRecordset
recRecordset.Close
Set recRecordset = Nothing
With msgSalaryList
.SelectionMode = flexSelectionByRow
.FocusRect = flexFocusLight
.ColWidth(0) = 0
.ColWidth(1) = 0
.Redraw = True
End With
msgSalaryList.FixedCols = 0
mclsGrid.ColOfs = 2
mclsGrid.ListSetToGrid
mclsGrid.SetupStyle
Call Form_Resize
msgSalaryList.CellAlignment = 1
msgSalaryList.ColAlignment(0) = 1
msgSalaryList.ColAlignment(3) = 1
If msgSalaryList.Rows = 1 Then
cmdFind.Enabled = False
txtFindValue.Text = ""
Else
cmdFind.Enabled = True
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -