ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 1923|回复: 4

超难的代码合并及相关问题??很急啊!!

[复制链接]

TA的精华主题

TA的得分主题

发表于 2011-4-13 14:11 | 显示全部楼层 |阅读模式
我想把以下两段('一、平时加班计算代码  '二、双休日加班计算代码)代码合并到“保存工时”按钮里,运行时加班贴分总是双倍,无法达到加班贴分时单倍而双休日加班是贴分是双倍的结果,相关的要求我存放在excel表里的问题1和问题2里,请兄弟们帮帮忙可以吗?谢谢。

  Dim FID As String, FStr As String
    FStr = "UPDATE 工时信息 SET 分数小计 = " & Me.分数小计 & ",产量合计 = " & Me.产量合计 & ", 有效分数 = " & Me.有效分数 & ", 平均分 = " _
        & Me.平均分 & ", 加班贴分 = " & Me.加班贴分 & ", 总分数 = " & Me.总分数 _
        & " WHERE 录入ID = '" & Me.录入ID & "'"
    DoCmd.SetWarnings True
        CurrentDb.Execute FStr
      
        
'如何才能把以下两段代码写进来,以实现自动化操作!!!!!!!!!!!!!!!
        
'一、平时加班计算代码
If 加班时间 <> 0 And 星期 <> "Y" Then                         '当控件  星期 的值不为  "Y"且加班时间不为0时,只需要计算平时加班工资
If 工作时间 <> 0 Then
Text233 = [工时明细子窗体].[Form]![Text6] / 工作时间
Else
Text233 = 0
End If
Text87 = ([工时明细子窗体].[Form]![Text6] + 贴分分数 * 贴分时间) / (工作时间 + 贴分时间)
If Text87 > 59.99 Then
加班贴分 = Int((Text233 * 工作时间 + 贴分分数 * 贴分时间) / (工作时间 + 贴分时间) * 加班时间 / 2 + 0.5)
ElseIf Text87 = 0 Then
加班贴分 = 贴分分数 * 加班时间 / 2
End If
End If


'二、双休日加班计算代码
If 加班时间 <> 0 And 星期 = "Y" Then                                 '当控件  星期 的值为  "Y"时,需要计算双休日加班
If 工作时间 <> 0 Then
Text233 = [工时明细子窗体].[Form]![Text6] / 工作时间
Else
Text233 = 0
End If
Text87 = ([工时明细子窗体].[Form]![Text6] + 贴分分数 * 贴分时间) / (工作时间 + 贴分时间)
If Text87 > 59.99 Then
加班贴分 = Int((Text233 * 工作时间 + 贴分分数 * 贴分时间) / (工作时间 + 贴分时间) * 加班时间 + 0.5)
ElseIf Text87 = 0 Then
加班贴分 = 贴分分数 * 加班时间
End If
End If

        MsgBox "更新完毕...", vbInformation, "程序提示"
    DoCmd.SetWarnings False
   
On Error GoTo Err_Command52_Click
    DoCmd.GoToRecord , , acNewRec
Exit_Command52_Click:
    Exit Sub
Err_Command52_Click:
    MsgBox Err.Description
    Resume Exit_Command52_Click

[ 本帖最后由 wx-x 于 2011-4-15 06:25 编辑 ]

生产统计0413AC.rar

683.15 KB, 下载次数: 34

TA的精华主题

TA的得分主题

发表于 2011-4-14 18:05 | 显示全部楼层

〖Excel Home友情提示〗

   

很遗憾通知楼上朋友,您的帖子在24小时之内没有任何回复!

通常情况下,本论坛发布的主题帖会在8小时被回复或处理。您的帖子在24小时之内未被回复,其中的原因可能是

1、问题表述不清、模棱两可,难以理解,帮助者被搞晕了,夺帖而出;
2、没有上传必要的附件,或附件被遗忘在某个角落;
3、发帖提问时,语气带棱角、带挑衅,不幸被列入不受欢迎的帖子;
4、所提问题不成立,或提不合理的要求,乐于助人者使出“走为上”之计;
5、话题较偏、较冷或者发布到了不合适的版块,暂时无人问津,顾影自怜。


为了提高您的问题解决效率,我们推荐您阅读以下文章:
* 如何发表新话题和上传附件:http://club.excelhome.net/thread-45649-1-1.html
* 发帖的技巧:http://club.excelhome.net/thread-176339-1-1.html
* EH技术论坛的最佳学习方法:http://club.excelhome.net/thread-117862-1-1.html

TA的精华主题

TA的得分主题

 楼主| 发表于 2011-4-14 18:38 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2011-4-15 00:16 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
没看出哪段代码判断是双休还是班后。原则上应该建立一个日期字段,根据日期的星期数来判断。

TA的精华主题

TA的得分主题

 楼主| 发表于 2011-4-15 06:23 | 显示全部楼层
原帖由 roych 于 2011-4-15 00:16 发表
没看出哪段代码判断是双休还是班后。原则上应该建立一个日期字段,根据日期的星期数来判断。


是否双休是根据文本框“星期”的显示值来判断的,是否“还班”也是根据还班的值来判断,如是还班,就不能享受加班贴分,再增加一个字段是可以的。谢谢
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2025-1-11 17:01 , Processed in 0.020730 second(s), 8 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

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