Feedback by UserVoice

I suggest you ...

Limits are reached - if I open one more form: Error 3048: Cannot open any more databases

I have 2 reports and 1 form open. Each of theses has complex data sources (with many joins, subqueries...). If I open an fourth report - I get the error message.

I think the limits are to low. Please upgrade them.

11 votes
Vote
Sign in
(thinking…)
Password icon
Signed in as (Sign out)
You have left! (?) (thinking…)
Peter shared this idea  ·   ·  Flag idea as inappropriate…  ·  Admin →

4 comments

Sign in
(thinking…)
Password icon
Signed in as (Sign out)
Submitting...
  • Jim S commented  ·   ·  Flag as inappropriate

    The number of table/file handles that MS as allocated is too low (2048) and really needs to be increased. Complex forms, combo boxes, linked tables cause the limit to be reached with comprehensive solutions. Workarounds and design changes can help but the limit needs to be increased. Please, Please Please.

  • Pat Hartman commented  ·   ·  Flag as inappropriate

    Your database is probably corrupted. Start with compact & repair. If that doesn't work, try rebuilding by starting a new, empty database and importing all objects. Don't forget to reset the back page settings if needed.

  • Anonymous commented  ·   ·  Flag as inappropriate

    to test the problem, run the function with an open table
    then with others ...

    Public Function MaxOpenDatabase(Optional plngLevel As Integer = 1) As Integer
    Dim db As DAO.Database

    On Error GoTo ErrorHandler

    Set db = CurrentDb()
    ' Appel récursif
    plngLevel = MaxOpenDatabase(plngLevel + 1)
    ' Sort de récursivité

    EndSub:
    Set db = Nothing
    MaxOpenDatabase = plngLevel
    Exit Function

    ErrorHandler:

    If Err.Number = 3048 Then
    ' Cannot open any more databases.
    ElseIf Err.Number = 3014 Then
    ' Cannot open any more tables.
    End If
    GoTo EndSub

    End Function

Feedback and Knowledge Base