北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |
煮版,您好!
在您的指点下,我把代码调整好了,但现在有一个小问题:UPDATETABLE代码中两表需要颠倒一下,我需要根据“"tb_奖金_部门”表来更改“tb_奖金_总表”,而现在是相反的。
系统功能说明:
1.读取部门奖金_Click():从人力资源部门把公司计划发给本部门的工资读取到本地。
2.上传部门奖金_Click():在本地把需要调整的奖金进行调整,调整后再把人力资源部门的总表按照本地数据更新掉。
Private Sub 上传部门奖金_Click()
Call UpdateTable("tb_奖金_总表", "tb_奖金_部门", "F:\jjtb.mdb", "zhuang0731")
End Sub
Sub UpdateTable(ByVal targetTable As String, ByVal sourceTable As String, ByVal sourceFile As String, ByVal password As String)
'功能:同结构表导入
'参数:targetTable -- 本地目标表表名
targetTable = "tb_奖金_部门"
' sourceTable -- 源表表名
sourceTable = "tb_奖金_总表"
' sourceFile -- 源数据库文件地址
' password -- 源数据库密码
'示例:call UpdateTable("tb2","tb1","F:\jjtb.mdb","A123456")
Dim ssql As String
Dim strConn As String
Dim rs1 As New ADODB.Recordset, rs2 As New ADODB.Recordset, rs3 As ADODB.Recordset
Dim i As Long, j As Long
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & "F:" & "\jjtb.mdb;Persist Security Info=False;Jet OLEDB:database Password=zhuang0731;"
ssql = "select * from " & sourceTable
rs2.Open ssql, strConn, adOpenKeyset, adLockOptimistic
ssql = "select * from " & targetTable
rs1.Open ssql, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
For i = 1 To rs1.RecordCount
Set rs3 = rs2.Clone
rs3.Filter = "工号= '" & rs1!工号.Value & "'"
If rs3.EOF = False Then
For j = 0 To rs1.Fields.Count - 1
If rs1.Fields(j).Name <> "工号" Then
rs1.Fields(j).Value = rs3.Fields(j).Value
End If
Next
rs1.Update
End If
rs1.MoveNext
Next
rs1.Close: Set rs1 = Nothing
rs2.Close: Set rs2 = Nothing
Set rs3 = Nothing
End Sub
Private Sub 读取部门奖金_Click()
Dim strConn As String
Dim Rs As New ADODB.Recordset
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & "F:" & "\jjtb.mdb;Persist Security Info=False;Jet OLEDB:database Password=zhuang0731;"
'strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & "\\10.16.47.80\备份 (F)" & "\jjtb.mdb;Persist Security Info=False;Jet OLEDB:database Password=zhuang0731;"
Rs.Open "Select * from tb_奖金_总表", strConn, adOpenKeyset, adLockOptimistic
Rs.MoveFirst
Do Until Rs.EOF
DoCmd.RunSQL "INSERT INTO tb_奖金_部门( 所在部门,工号,姓名,工资级别,奖金标准,系数,[100%标准],[40%标准],[40%实发],特殊岗位津贴,调整奖金,应发合计,备注) values(" & Chr(34) & Rs("所在部门") & Chr(34) & "," & Chr(34) & Rs("工号") & Chr(34) & "," & Chr(34) & Rs("姓名") & Chr(34) & "," & Chr(34) & Rs("工资级别") & Chr(34) & "," & Chr(34) & Nz(Rs("奖金标准"), 0) & Chr(34) & "," & Chr(34) & Nz(Rs("系数"), 0) & Chr(34) & "," & Chr(34) & Nz(Rs("100%标准"), 0) & Chr(34) & "," & Chr(34) & Nz(Rs("40%标准"), 0) & Chr(34) & "," & Chr(34) & Nz(Rs("40%实发"), 0) & Chr(34) & "," & Chr(34) & Nz(Rs("特殊岗位津贴"), 0) & Chr(34) & "," & Chr(34) & Nz(Rs("调整奖金"), 0) & Chr(34) & "," & Chr(34) & Nz(Rs("应发合计"), 0) & Chr(34) & "," & Chr(34) & Rs("备注") & Chr(34) & ")"
Rs.MoveNext
Loop
Rs.Close
Set Rs = Nothing
End Sub