北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |
系统需要(背景:财务把奖金清单导入数据库,各车间使用自己的用户名登陆下载本车间奖金清单,车间主任对奖金进行调整,然后反馈给财务):
1.从设置了数据库密码的JJTB.MDB数据库中,把TB表数据读取到当前数据库的TB2表中,两张表结构完全一致。
2.操作人员会在当前数据库中对TB2的数据进行修改(此点只是说明,不需要系统操作)。
3.以“员工ID”为关键字,把TB2的记录再更新到TB中。更新时对其中两个数字字段(ZD1、ZD2)进行覆盖,但其它字段(ZD3、ZD4)若不一致则提醒。
现在有如下几个问题请教一下:
1.如下面代码,我现在是采取DO/LOOP循环读取TB数据,是否可以批量读入?(需要增加:部门=“XX部”的赛选条件)。
2.上面的第3步,代码应该怎样写?也就是以TB2更新TB表。
说明:我下面的代码是东拼西凑的,只是表达一个思路,各位老师看看是否能指导下,如有需要我搭建个数据表传上来。
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=ABCD123456;"
Rs.Open "Select * from tb", strConn, adOpenKeyset, adLockOptimistic
MsgBox Rs.RecordCount
Rs.Open strSQL, ConnDB, adOpenKeyset, adLockPessimistic
DoCmd.SetWarnings 0
Rs.MoveFirs
Do Until Rs.EOF
CQ = Rs("ETD")
TDH = Rs("BL_NO")
XH = Rs("CONTAINER_NO")
XX = Rs("CONTAINER_TYPE")
FH = Rs("SEAL_NO")
JS = Rs("PKGS_NUM")
MZ = Rs("GROSS_WEIGHT")
TJ = Rs("MEASUREMENT")
CCKK = Rs("BL_NO") & Rs("CONTAINER_NO")
if 部门=“XX部” THEN
DoCmd.RunSQL "INSERT INTO tb2 ( ETD,BL_NO,CONTAINER_NO,CONTAINER_TYPE,SEAL_NO,PKGS_NUM,GROSS_WEIGHT,MEASUREMENT,ck) values(" & Chr(34) & CQ & Chr(34) & "," & Chr(34) & TDH & Chr(34) & "," & Chr(34) & XH & Chr(34) & "," & Chr(34) & XX & Chr(34) & "," & Chr(34) & FH & Chr(34) & "," & Chr(34) & JS & Chr(34) & "," & Chr(34) & MZ & Chr(34) & "," & Chr(34) & TJ & Chr(34) & "," & Chr(34) & CCKK & Chr(34) & ")"
END IF
Rs.MoveNext
Loop
Rs.Close
Set Rs = Nothing