设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

12下一页
返回列表 发新帖
查看: 2305|回复: 11
打印 上一主题 下一主题

[模块/函数] SQL语句在线求助一点通大师,请出手一助!

[复制链接]
跳转到指定楼层
1#
发表于 2005-12-23 02:44:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式


用SQL语句把PreviousPlan中所有记录换成ProducePlan中的记录,不能用删除表再将ProducePlan另存为PreviousPlan的方式,因为PreviousPlan和其它表建立了关系,因些需要用SQL来刷新记录,在下认为要先删除PreviousPlan中所有记录,再将ProducePlan所有记录写入PreviousPlan,不知SQL怎样写,在下试着写了几次都不成功,请一点通大师帮帮忙,多谢!!!!
<IMG>

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
 楼主| 发表于 2005-12-23 02:49:00 | 只看该作者


<IMG>

[此贴子已经被作者于2005-12-22 18:53:09编辑过]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
3#
发表于 2005-12-23 02:49:00 | 只看该作者
把你例子传上来,一点通大师才好出手啊!
4#
 楼主| 发表于 2005-12-23 02:56:00 | 只看该作者



、代码写在ProducePlan窗体中,谢谢关注

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
5#
发表于 2005-12-23 04:00:00 | 只看该作者
我这里存不来文件,但想想有一个很低效率的办法



'删除原表

docmd.runSql("delect * from PreviousPlan")

'取出新值

set rs=currentproject.connection.execute("select * from ProductPlan")

'填充

do while not rs.eof

   docmd.runSql("insert into PreviousPlan (字段列表) values (" & rs(字段列表) & ")") '这句根据实际写,更改文本字段中的"'"为"''",日期字段要前后加"#",文本字段要加"'"....

   rs.movenext

loop

rs.close

set rs=nothing
6#
发表于 2005-12-23 16:19:00 | 只看该作者
用UPDATE即可

UPDATE PreviousPlan A,ProducePlan B SET A。NIAN=B。NIAN。。。。。 WHERE A。LINENAME=B。LINENAME
7#
 楼主| 发表于 2005-12-23 16:19:00 | 只看该作者
If MsgBox("Are you sure to update the previous record ? You can't comeback it after updating!", vbOKCancel, "Notice") = vbOK Then
    DoCmd.RunSQL ("delete * from PreviousPlan")
    Set rs = CurrentProject.Connection.Execute("select * from ProducePlan")
    Do While Not rs.EOF
    DoCmd.RunSQL ("insert into PreviousPlan (LineName) values (" & rs(LineName) & ")")
    DoCmd.RunSQL ("insert into PreviousPlan (Nian) values (" & rs(nian) & ")")
    DoCmd.RunSQL ("insert into PreviousPlan (Yue) values (" & rs(yue) & ")")
    DoCmd.RunSQL ("insert into PreviousPlan (ProductionName) values (" & rs(ProductionName) & ")")
    DoCmd.RunSQL ("insert into PreviousPlan (Qty) values (" & rs(Qty) & ")")
        rs.MoveNext
    Loop
    rs.Close
    Set rs = Nothing
Else
    Exit Sub
End If

以上中:

DoCmd.RunSQL ("insert into PreviousPlan (LineName) values (" & rs(LineName) & ")")
    DoCmd.RunSQL ("insert into PreviousPlan (Nian) values (" & rs(nian) & ")")
    DoCmd.RunSQL ("insert into PreviousPlan (Yue) values (" & rs(yue) & ")")
    DoCmd.RunSQL ("insert into PreviousPlan (ProductionName) values (" & rs(ProductionName) & ")")
    DoCmd.RunSQL ("insert into PreviousPlan (Qty) values (" & rs(Qty) & ")")

请阿笨看看错在那里?
8#
 楼主| 发表于 2005-12-23 16:28:00 | 只看该作者
一定要一行一行地写进去?
9#
 楼主| 发表于 2005-12-23 16:33:00 | 只看该作者
6楼看不懂


WHERE A。LINENAME=B。LINENAME

以上有问题应该

[此贴子已经被作者于2005-12-23 8:37:43编辑过]

10#
发表于 2005-12-23 16:47:00 | 只看该作者
如果代码不是很熟的话,建议用:

docmd.runSql("delect * from PreviousPlan")   '先清空PreviousPlan表中的数据

然后创建一个追加查询,将ProducePlan中的所用记录追加到PreviousPlan去
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-17 00:08 , Processed in 0.097372 second(s), 34 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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