设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[Access本身] 请高手看看这句应该如何写?

[复制链接]
跳转到指定楼层
1#
发表于 2006-8-9 17:15:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
DIM Str3 as string

Str3 = "INSERT INTO 工人总工资表 ( 工人id, 年, 月, 年月索引 )" _
           & "SELECT 工人表.工人ID, " & Me.年 & "AS A, " & CStr(Format(Me.月, "00")) & " AS b, " _
            & CLng(CStr(Me.年) & CStr(Format(Me.月, "00")) & CStr(工人ID)) & " AS C" _
            & " FROM 工人表 GROUP BY 工人表.工人ID, " & Me.年 & ", " & CStr(Format(Me.月, "00")) & ", " _
            & CLng(CStr(Me.年) & CStr(Format(Me.月, "00")) & CStr(工人ID)) & ", 工人表.工作状态" _
            & " HAVING (((工人表.工作状态) In (16,17)))"

Docmd.RunSQL.Str3

主要是中间一段 CLng(CStr(Me.年) & CStr(Format(Me.月, "00")) & CStr(工人ID)) , 因为me.年,me.月都是窗体中的数字,而工人id是表中的数据,如何才能正确的组合? 我这样写总是出错,

请高手指教如何才能正确的写。

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2006-8-9 18:08:00 | 只看该作者
   可以用Having 吗
3#
 楼主| 发表于 2006-8-9 18:14:00 | 只看该作者
好象不是HAVING的问题, 主要是电脑无法判别 CLng(CStr(Me.年) & CStr(Format(Me.月, "00")) & CStr(工人ID)) ,如果这句用" "的话,找不到变量 me.年和me.月,不用" "的话,找不到 表中的字段 工人id, 所以迷惑中。

现在只能用了一个添加查询,用 Docmd.Openquery 来做,不过我希望查询越少越好,请高手指点。  
[em09]
4#
发表于 2006-8-9 23:58:00 | 只看该作者
'生成订单到订单表
    Dim sql As String
    sql = "INSERT INTO tab_salelist ( uid ,listid,sdate,lstate,mcount) values (" _
        & USERID & ",'" & listid & "', #" & Format(Now(), "yyyy-mm-dd hh:nn:ss") & "#, '未处理' ," & msum & " )"
    DoCmd.RunSQL (sql)        

今天我的教程上正好有这样的示例
5#
 楼主| 发表于 2006-8-11 17:40:00 | 只看该作者
这个VALUE的数值是form中的数值吧, 这样当然没有问题了,不过如果你要用form中的一个数值和select表中的符合记录的数值组合成一个新的数值的话,应该怎么做? (主要是无法组合,单个的value值或单个的select是没有问题的)



这也就是我迷惑的地方,请指教。



6#
发表于 2006-8-11 17:50:00 | 只看该作者
select 后面的语句是错误的,把例子传上来
7#
发表于 2006-8-11 17:59:00 | 只看该作者
OK
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-15 10:26 , Processed in 0.083375 second(s), 30 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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