设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[查询] 最大问题求助:查询计算过多打开太慢怎样才能提高速度

[复制链接]
跳转到指定楼层
1#
发表于 2010-7-7 11:01:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 hljthzbc 于 2010-7-7 20:05 编辑

1.查询计算过多是打开慢的原因,可是怎样能解决呢.难道ACCESS数据开发就这样吗?我也试着分项做几个查询后再组合也不行.怎么这样难阿.
谁还能帮解决一下.并告之原因
   2.另外谁帮我看看为什么子窗体加不到主窗体上,是什么原因呢.怎样解决.帮我处理一下.

本帖子中包含更多资源

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

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2010-7-7 13:42:52 | 只看该作者
对于计算过多的查询,可以使用ADO或DAO等计算后,生成新的表来处理,或者在表中直接加入相关字段,在保存或更新时更新这些相关字段亦可。
3#
 楼主| 发表于 2010-7-7 13:55:04 | 只看该作者
谢谢版主的回贴.
    可是你说的ADO或DAO我不会.也考虑过加入相关字段,但做了几回也是不行,版主有办法根据我的附件改做一下我按此学做.否则我没有别的办法了
4#
 楼主| 发表于 2010-7-7 20:13:59 | 只看该作者
查询计算过多是-大问题了,可是我不会别的办法,版主和有会的人快帮忙改做一下吗.在这样先祝福版主和大家好运多多.
5#
 楼主| 发表于 2010-7-8 12:55:55 | 只看该作者
版主快来帮助呀
6#
 楼主| 发表于 2010-7-8 22:11:34 | 只看该作者
怎么此贴成了冷贴了.那位版主-帮助解决一下呀
7#
 楼主| 发表于 2010-7-10 09:13:00 | 只看该作者
怎么此贴成了冷贴了.那位版主-帮助解决一下呀
8#
发表于 2010-7-10 12:10:52 | 只看该作者
Sub 生成新表()
Dim conn As New ADODB.Connection
Set conn = CurrentProject.Connection
   Dim RST As New ADODB.Recordset
   Dim SQL As String
'   Dim cat As New ADOX.Catalog
'   Dim cmd As New ADODB.Command
  Dim rst1 As New ADODB.Recordset
'   cat.ActiveConnection = conn
SQL = "DELETE 查询结果.* FROM 查询结果"
DoCmd.RunSQL SQL
sq = 0
sclj = 0
xslj = 0
qmkc = 0

     RST.Open "交叉表", conn, adOpenKeyset, adLockOptimistic
     rst1.Open "查询结果", conn, adOpenKeyset, adLockOptimistic
     
     Do While Not RST.EOF
If cpid = RST("产品ID") Then
If ldid = RST("年度ID") Then
sclj = sclj + Nz(RST("生产"))
xslj = xslj + Nz(RST("销售"))
kc = qq + sclj - xslj
Else
qq = kc
sclj = Nz(RST("生产"))
xslj = Nz(RST("销售"))
End If
Else
qq = RST("期初库存")
sclj = Nz(RST("生产"))
xslj = Nz(RST("销售"))
kc = qq + sclj - xslj
End If
rst1.AddNew
rst1("年度ID") = RST("年度ID")
rst1("月份ID") = RST("月份ID")
rst1("产品ID") = RST("产品ID")

rst1("生产") = RST("生产")
rst1("销售") = RST("销售")
rst1("前期") = qq
rst1("生产累计") = sclj
rst1("销售累计") = xslj
rst1("库存") = kc
rst1.Update
   
cpid = RST("产品ID")
ldid = RST("年度ID")
yfid = RST("月份ID")
     RST.MoveNext
     Loop
     rst1.Update
  End Sub

'先按相应的字段做一个“查询结果”表,其它字段请自己补齐

本帖子中包含更多资源

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

x
9#
 楼主| 发表于 2010-7-10 12:53:51 | 只看该作者
谢谢版主的回贴.
  可是怎样生成新表呀,你的附件没有内容,我不会生成新表,我用生成表查询提示不允许有多个自动编号.我取消了也不行呀
是先做窗体在生成吗
10#
 楼主| 发表于 2010-7-10 14:08:37 | 只看该作者
本帖最后由 hljthzbc 于 2010-7-10 20:24 编辑

生成新表做完了.可是怎样在把原表随时更新呀.我在窗体上需要查看数据时怎样更新用按钮吗,
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-6-14 21:03 , Processed in 0.105009 second(s), 34 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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