设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[Access本身] 请教一个关于left/right函数格式的问题,谢谢!!

[复制链接]
1#
发表于 2009-7-15 21:24:27 | 显示全部楼层
Private Sub cmdCalculate_Click()
    Dim strSQL1, strsql2 As String
   
   
    If IsNull(Me.cboTableName) Then Exit Sub
   
     strSQL1 = " UPDATE " & Me.cboTableName & " SET " & _
             " 划分 = Switch([积压时间] Like '*1-10*','D1-D2',[积压时间] Like '*11-20*','D2-D3',[积压时间] Like '*21-30*','D3-D4')," & _
             " 奖金 = Switch([积压时间] Like '*1-10*',[单价]*0.2,[积压时间] Like '*11-20*',[单价]*0.3,[积压时间] Like '*21-30*',[单价]*0.4) where " & "Left([代码], 1) =1"
    strsql2 = " UPDATE " & Me.cboTableName & " SET " & _
             " 划分 = Switch([积压时间] Like '*1-10*','D1-D2',[积压时间] Like '*11-20*','D2-D3',[积压时间] Like '*21-30*','D3-D4')," & _
             " 奖金 = Switch([积压时间] Like '*1-10*',[单价]*0.2,[积压时间] Like '*11-20*',[单价]*0.3,[积压时间] Like '*21-30*',[单价]*0.4) where " & "Left([代码], 1) =2"

   
    Debug.Print strSQL1
   
  Debug.Print strsql2

    CurrentDb.Execute strSQL1
        CurrentDb.Execute strsql2
    Me.fsubQuery.Requery
   
    Me.txtSumOfPrice1 = DSum("[单价]", Me.cboTableName, "[积压时间] Like '*1-10*'")
    Me.txtSumOfPrice2 = DSum("[单价]", Me.cboTableName, "[积压时间] Like '*11-20*'")
    Me.txtSumOfPrice3 = DSum("[单价]", Me.cboTableName, "[积压时间] Like '*21-30*'")
    Me.txtSumOfBonus1 = DSum("[奖金]", Me.cboTableName, "[积压时间] Like '*1-10*'")
    Me.txtSumOfBonus2 = DSum("[奖金]", Me.cboTableName, "[积压时间] Like '*11-20*'")
    Me.txtSumOfBonus3 = DSum("[奖金]", Me.cboTableName, "[积压时间] Like '*21-30*'")

End Sub
2#
发表于 2009-7-15 22:47:13 | 显示全部楼层
用if应该就麻烦了
只能用ADO取数据来循环了
3#
发表于 2009-7-15 22:55:27 | 显示全部楼层
dim rs as adodb.recordset
set rs= new adodb.recordset
sql="select * from " & Me.cboTableName
rs.open sql,currentproject.connection.connectionstring,1,1
do until rs.eof
if left(rs(0),1)=1 then
docmd.runsql "update......."
elseif left(rs(0),1)=2
docmd.runsql "update........"
endif
loop
以上没验证
4#
发表于 2009-7-15 23:20:45 | 显示全部楼层
因为是select *
rs(0) 就是说第一个字段 rs(1)就是第2个字段...也可以用rs("字段名")来表示
两个1常量 分别表示adOpenDynamic,adLockBatchOptimistic
5#
发表于 2009-7-16 17:26:37 | 显示全部楼层
我看你的附件不是已经解决了吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-6-7 04:42 , Processed in 0.094707 second(s), 28 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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