Avatar billede per2edb Guru
10. august 2018 - 20:49 Der er 11 kommentarer og
1 løsning

Access begrænsning af antal åbne db'er - Fejl 3048

I forlængelse af mit spørgsmål "nulstilling af access tabel" der er en udløber af programmet har ramt loftet, har jeg nu stødt på endnu et problem.

Når jeg delet programmet op i FE og BE så får jeg fejl 3048 når jeg kommer til:

rs As Object
Set rs = CurrentDb.OpenRecordset(SQL)

Jeg har altid afsluttet med   
rs.Close
Set rs = Nothing
     
Jeg har løst dette:

https://answers.microsoft.com/en-us/msoffice/forum/msoffice_access-mso_other-mso_2010/access-2010-and-vba-error-3048/49e343a8-6b62-4b4f-8e99-5f324105095d

Men det giver ingen løsning!!
Kan i hjælpe?
Avatar billede terry Ekspert
11. august 2018 - 14:31 #1
As I mentioned in #12 of your question https://www.computerworld.dk/eksperten/spm/1024604

If you cant have a dB larger than ca. 100mb then there must be a problem you need to focus on and splitting the dB isnt going to help.

What did you decide as regards to the previous question ""nulstilling af access tabel"?

I still dont understand why it was necessary...!
Avatar billede per2edb Guru
11. august 2018 - 15:34 #2
Jeg troede oprindeligt problemet lå her men det viser sig nu det er TableIDs der er brugt op så jeg får fejl 3048. Herved opstår der flere for mig uforklarlige fejl
f.eks

rs As Object
Set rs = CurrentDb.OpenRecordset(SQL)

Virker før opsplitning men giver fejl 3048 efter opsplitning i FE og BE
Avatar billede terry Ekspert
11. august 2018 - 17:15 #3
any chance of seeing the dB?
Avatar billede per2edb Guru
11. august 2018 - 19:35 #4
Yes but it is big and complex
Avatar billede per2edb Guru
11. august 2018 - 21:35 #5
Kan i hjælpe med hvad der er bedst til at frigøre TabelDs så jeg ikke får fejl 3048

Dim rs As Recordset
Set rs = CurrentDb.OpenRecordset(SQL)
.
.
.
  rs.Close
  Set rs = Nothing

eller:

Dim db As Database
Dim rs As Recordset
Set db = CurrentDb
Set rs = db.OpenRecordset("SQL")
.
.
.
rs.Close
Set rs = Nothing
Set db = Nothing
Avatar billede terry Ekspert
12. august 2018 - 09:47 #6
I cant assume that the piece of code you are showing is the issue.
Avatar billede per2edb Guru
12. august 2018 - 10:14 #7
Det er kun et eksempel.
Lignende er der måske 200 stk af i hele programmet så det er ikke uvæsentligt
Avatar billede terry Ekspert
12. august 2018 - 10:38 #8
Normally, if the code is in a procedure, variables get free'd when the code exits the procedure. So you actually dont need to free variables unless your looping a piece of code which is opening and closing dB's and recordsets for example.

So you nee to try and localise the code which is causing the problem, IE not freeing your ID's, and I'm assuming its in a loop....
Avatar billede per2edb Guru
12. august 2018 - 10:52 #9
Avatar billede terry Ekspert
12. august 2018 - 18:36 #10
"How can I possibly use up 2000 TableIDs?" but it's not uncommon for a complicated application with lots of complex forms & subforms open at once to bump into this limit."

Do you think that your application can have so many forms&subforms open etc. at the same time that you can have over 2000 table ID#s open?

I've worked with Access for many years and I doubt any dB i have worked with has had this issue. If it has then its badly designed.
Avatar billede per2edb Guru
13. august 2018 - 08:51 #11
420 Forme, 150 tabeller ca 4000 sub fra 2-3 linier til 5-6 scroll sider !
I gns 4 forme åbne ad gangen ofte med en form på en tab.

Vedr fejl 3048
Ved ca 100Mb opstår fejl 3048
Ved opsplitning til flere selvstændige programmer "kører" alt perfekt
Avatar billede terry Ekspert
13. august 2018 - 10:36 #12
"I gns 4 forme åbne ad gangen ofte med en form på en tab."

So the problem cant be that your exceeding the limit (2048) ID's at the same time.

"Ved opsplitning til flere selvstændige programmer "kører" alt perfekt"

It sounds as though the original database (before splitting into "selvstændige programmer") was just a collection of various application not related to each other.

You should have split into "selvstændige programmer" a long time ago ;-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester