设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 1243|回复: 4
打印 上一主题 下一主题

[与其它组件] 程序求助!!!!!!!!!

[复制链接]
跳转到指定楼层
1#
发表于 2007-6-20 18:24:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
高手请帮我看以下这段代码有什么问题,我就想把记录从“工资计算表”里读出到“工资修改窗体”,修改好以后,再将这条记录写回到表中覆盖这条记录。一开始用的时候可以用的,后来不知道是不是因为加了“档位”和“备注”的原因,这个保修按钮不起作用了,在窗体里可以更改,但是不能把修改后的数据写回到表中。



Private Sub Cmd保修1_Click()
On Error GoTo Err_Cmd保修1_Click
'定义字符型变量
Dim STemp As String
'定义用于循环的整型变量
Dim I As Integer
'定义数据集变量
Dim Rs As ADODB.Recordset
'为定义的数据集变量分配空间
Set Rs = New ADODB.Recordset
'为打开数据表“查询语句”字符变量赋值
STemp = "Select * From 工资计算表"
'打开“职员资料”数据表
Rs.Open STemp, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
    '把记录集的指针指到第一条
    Rs.MoveFirst
    '使用For…Next循环语句在Rs数据集中循环判断
    For I = 1 To Rs.RecordCount
        '判断记录集中的“职员ID”字段值是否与窗体中“职员ID”文本框内的值
       If Me![txt姓名] = Rs("姓名") And Me![txtID] = Rs("序号") Then
            Rs("档位") = Me![txt档位]
            Rs("现任职务") = Me![txt职务]
            Rs("等级") = Me![txt等级]
            Rs("等级工资") = Me![txt等级工资]
            Rs("岗位工资") = Me![txt岗位工资]
            Rs("伙食津贴") = Me![txt伙食津贴]
            Rs("工资标准") = Me![txt标准]
            Rs("冬季作业补贴") = Me![txt冬补]
            Rs("上船日期") = Me![txt上船日期]
            Rs("下船日期") = Me![txt下船日期]
            Rs("天数") = Me![txt天数]
            Rs("异地取款费") = Me![txt取款费]
            Rs("补差") = Me![txt补差]
            Rs("扣预付款") = Me![txt扣预付款]
            Rs("扣多发工资") = Me![txt扣多发]
            Rs("船务代发") = Me![txt船务代发]
            Rs("应发合计") = Me![txt应发合计]
            Rs("应扣合计") = Me![txt应扣合计]
            Rs("实发工资") = Me![txt实发工资]
            Rs("所在船舶") = Me![Cob所在船舶]
            Rs("备注") = Me![txt备注]
            Rs("在职情况") = Me![txt在职情况]
        Else
            
            Rs.MoveNext
        End If
    Next I
     Set Rs = Nothing
Exit_Cmd保修1_Click:
    Exit Sub
Err_Cmd保修1_Click:
    MsgBox err.Description
    Resume Exit_Cmd保修1_Click
End Sub





分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2007-6-20 19:00:00 | 只看该作者
把这段"Select * From 工资计算表"
修改为"Select * From 工资计算表 where 姓名='" & Me![txt姓名] & "' and 序号=" & Me![txtID] & ""
直接判断记录集Rs.RecordCount 好处是速度相对快.不必去用ADO去循环查找数据

修改数据后应 rs.update

rs.close '关闭数据集

Set Rs = Nothing '释放

On Error GoTo Err_Cmd保修1_Click


Exit_Cmd保修1_Click:
    Exit Sub
Err_Cmd保修1_Click:
    MsgBox err.Description
    Resume Exit_Cmd保修1_Click


程序未写好前红色部分注释掉,以便查找错误.
3#
 楼主| 发表于 2007-6-21 16:41:00 | 只看该作者
谢谢版主,十分感谢,这个程序我搞了好久了就是没搞好,经过版主大人的指导,现在可以用了,哈哈
4#
发表于 2007-6-21 17:11:00 | 只看该作者
以后提问标题请更正.方便别人搜索问题.
5#
 楼主| 发表于 2007-6-21 17:48:00 | 只看该作者
呵呵,这个标题我还真不知道怎么写,所以就写两个程序求助。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-5-15 16:17 , Processed in 0.095142 second(s), 28 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表