Spesso, questo si verifica con moduli grandi/complessi con molte sottomaschere e/o caselle combinate/caselle di riepilogo.
Prova a fare ciò che Saurabh dice. Sono comunque buone cose. Ma penso che questi cambiamenti non risolveranno il tuo problema.
Recentemente, ho risolto lo stesso problema. Ho identificato che si verifica sempre quando un determinato modulo è stato aperto. Questa forma aveva molte sottomaschere e combo.
Primo. Cerca di semplificare la forma o le forme: hai davvero bisogno di tutte le sottomaschere? Tutte le sottomaschere devono essere caricate sempre?
Ho risolto il problema con la distribuzione di sottomaschere in diverse pagine di un controllo struttura a schede. Quindi caricare e scaricare le sottomaschere in modo dinamico in Modifica evento.
Inizialmente, solo le sottomaschere sulla prima pagina devono avere la proprietà "SourceObject" assegnata. Il resto, ha questa proprietà vuota.
Nel caso in cambiamento, provare a fare qualcosa di simile:
Private Sub TabControl_Change
Dim pgn As Access.Page
...
For Each varCtlSubform In Array(Me.Subform1, Me.Subform1, ...)
Set pgn = varCtlSubform.Parent
If pgn.PageIndex <> Me.TabControl.value Then
if varCtlSubform.SourceObject <> "" Then
varCtlSubform.SourceObject = ""
End if
Else
If varCtlSubform.SourceObject <> ctlSubform.Tag then
varCtlSubform.SourceObject = ctlSubform.Tag
End if
End If
Next
...
End sub
Questa è una funzione generica per iterare su tutti i controlli subform. Se non è nella pagina attiva, scaricarlo. In altri casi, prendi l'oggetto sorgente dalla proprietà del tag.
Dovrai evitare riferimenti a sottomoduli scaricati, cioè, se "Subform1" viene scaricato si otterrà un errore con qualcosa di simile: Me.Subform1.Form.InvoiceId
Questo cambiamento hanno altri benefici. Il tuo modulo verrà caricato più velocemente e la navigazione nella registrazione sarà più veloce.
Wow, 2048 tavoli .. per interesse come ha fatto le cose si fanno così male? –
Naturalmente non ci sono molte tabelle nel DB. Ci sono meno di 50 tabelle e circa 100 query. – Christian
Nonostante il clou di Kieren, sono stupito che nessuna delle risposte fornite sia più incline a un serio ripensamento dell'UNION sql, se la struttura dei dati è ottimizzata bene, allora non dovresti mai avere bisogno di finire con una query così grande. Particolarmente brutto in accesso in quanto viene eseguito localmente e potrebbe richiedere una vita intera. –