无法打开更多数据库 [英] Can Not Open Any More Databases

查看:125
本文介绍了无法打开更多数据库的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

有没有人遇到错误消息无法打开更多数据库

你做了什么来解决它?


谢谢,


Dave

Has anyone encountered the error message "Can not open any more databases"
and what did you do to solve it?

Thanks,

Dave

推荐答案

关键的方面是找出造成问题的原因。

如果您使用的是没有Service Pack的Access 97,则限制为
1024个数据库。应用服务包将此加倍为2048,因此第一步是'




您是否正在使用任何域聚合函数,例如DLookup (),

DMax(),...在查询中?每次调用都会打开一个数据库,并且他们自己很快就不会清理

,所以你可以很容易地达到限制,因为你的查询打开一个数据库的每行

。解决方法:

- 将域聚合函数保留在查询之外,如果只需显示当前记录,则将其放在

表单上。

- 使用子查询代替域聚合函数。更多信息:
http://support.microsoft.com/?id = 209066


每个表单,子表单,报表,子报表,组合和列表框也会为其RecordSource或RowSource使用一个

。你有很多表格打开,每个表格都有很多子表格吗?或者你有很多组合?你能否关闭一些表格,

或用更少的组合重新设计?


接下来,查看你的代码。任何执行OpenRecordset()的代码?你需要明确地在程序结束时关闭记录集,并且最好

将记录集变量设置为Nothing。访问是非常好的

清理自己,但不完美。你也可以看看你是否有很多

的表格,你也可以参考RecordsetClone。对于使用RecordsetClone的每个表单,它只使用1

数据库变量,但这些

在表单关闭之前不会发布。


希望'足以帮助你找出消息的原因。

-

Allen Browne - 微软MVP。西澳大利亚州珀斯。

访问用户提示 - http:// allenbrowne.com/tips.html

回复群组,而不是mvps dot org的allenbrowne。


" Dave" <无*** @ email.com>在消息中写道

新闻:Ng ***************** @ newsread3.news.atl.earthl ink.net ...
The crucial aspect is to identify what is causing the problem.

If you are using Access 97 without the service packs, you are limited to
1024 databases. Applying the service packs doubles this to 2048, so that''s
the first step.

Are you using any of the domain aggregate functions such as DLookup(),
DMax(), ... in a query? Each call opens a database, and they don''t clean up
after themselves quickly, so you can easily hit the limit as each row of
your query opens a database. Workarounds:
- Leave the domain aggregate function out of the query, and put it on the
form if you only need to display for the current record.
- Use a subquery in place of the domain aggregate function. More info:
http://support.microsoft.com/?id=209066

Each form, subform, report, subreport, combo, and list box also uses up one
for its RecordSource or RowSource. Do you have lots of forms open, each with
lots of subforms? Or do you have heaps of combos? Can you close some forms,
or redesign with fewer combos?

Next, look at your code. Any code that does an OpenRecordset()? You need to
explicitly Close the recordset at the end of the procedure, and preferable
set the recordset variable to Nothing as well. Access is actully good at
cleaning up after itself, but not perfect. You can also see if you have lots
of forms where you refer to the RecordsetClone as well. It uses only 1
database variable for each form where you use the RecordsetClone, but these
are not released until the form is closed.

Hope that''s enough to help you identify the cause of the message.

--
Allen Browne - Microsoft MVP. Perth, Western Australia.
Tips for Access users - http://allenbrowne.com/tips.html
Reply to group, rather than allenbrowne at mvps dot org.

"Dave" <no***@email.com> wrote in message
news:Ng*****************@newsread3.news.atl.earthl ink.net...
有没有人遇到错误信息无法打开更多的数据库
你做了什么来解决它?

谢谢,

戴夫
Has anyone encountered the error message "Can not open any more databases"
and what did you do to solve it?

Thanks,

Dave



Allen Browne写道:
Allen Browne wrote:
如果您使用的是没有Service Pack的Access 97,则仅限于
1024个数据库。应用服务包将这个加倍到2048,所以这是第一步。
If you are using Access 97 without the service packs, you are limited to
1024 databases. Applying the service packs doubles this to 2048, so that''s
the first step.




艾伦这是什么意思?您只能为一次安装开发1024/2048 mdbs

?它是否磨损?或者其他的东西?

有一个内部mdb计数器用完了吗?我不是故意的声音

滑稽,我只是不知道你的意思...

-

Tim http://www.ucs.mun.ca/~tmarshal/

^ o<

/#)Burp-beep,burp-beep,burp-beep? - Quaker Jake

/ ^^什么是UP,Dittoooooo? - 同上



Allen what do you mean by this? You can only have 1024/2048 mdbs
developed for one installation? Does it "wear out" or something? Is
there an internal mdb counter that runs out? I don''t mean to sound
facetious, I just don''t know what you mean...
--
Tim http://www.ucs.mun.ca/~tmarshal/
^o<
/#) "Burp-beep, burp-beep, burp-beep?" - Quaker Jake
/^^ "What''s UP, Dittoooooo?" - Ditto




Tim Marshall写道:

Tim Marshall wrote:
你只能为一次安装开发1024/2048 mdbs吗?
它是否磨损或者其他的东西?是否有一个内部mdb计数器用完了?
You can only have 1024/2048 mdbs developed for one installation?
Does it "wear out" or something? Is there an internal mdb counter
that runs out?




不,你一次只能打开1024/2048数据库。捕获

是Access解释打开的与你或我不同。每次

你设置一个数据库变量,它被视为另一个开放数据库;等等


即便如此,我甚至都没有接近极限。


-

Martha Palotay

不要谷歌发电子邮件



No, you can only have 1024/2048 databases open at one time. The catch
is that Access interprets "open" differently than you or I. Each time
you set a database variable, that counts as another open database; etc.

Even so, I''ve never even come close to the limit.

--
Martha Palotay
don''t google to email


这篇关于无法打开更多数据库的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆