Access-o-Mania

Access-Forum (Deutsch/German) => Tabelle/Abfrage => Thema gestartet von: Icemann1970 am Februar 21, 2017, 00:22:01

Titel: accde nicht möglich
Beitrag von: Icemann1970 am Februar 21, 2017, 00:22:01
Hallo zusammen,
Vorweg, ich habe schon Online gesucht aber nicht zu einer Lösung gekommen :-)
Habe meine Datenbank geteilt in FE und BE, nun wollte ich die FE in accde speichern um Änderungen von andern zu unterbinden. Fehlermeldung ist:

Microsoft Office Access konnte keine ACCDE-, MDE- oder ADE-Datei erstellen.
Dieser Fehler tritt in der Regel im Zusammenhang mit der Kompilierung von einer großen Datenbank zu einer MDE-Datei auf. Aufgrund der Kompilierungsmethode dieser Datenbank wird eine beträchtliche Anzahl von TableID-Verweisen für jede Tabelle erstellt. Das Access-Datenbankmodul kann höchstens 2048 geöffnete TableID-Werte gleichzeitig erstellen. Beim Exportieren einer Datenbank als MDE kann diese Grenze überschritten werden, wenn die Datenbank viele Objekte (Tabellen, Makros, Formulare, Berichte usw.) enthält.
Es gibt keine präzise Methode, um die Anzahl der TableID-Werte zu schätzen, die das Access-Datenbankmodul während des Kompiliervorgangs einer Datenbank zu MDE verwendet. Jedes VBA-Modul und jedes Formular verwendet jedoch eine TableID, und deshalb werden, wenn die Datenbank 500 Formulare besitzt und die HasModule-Eigenschaft für jedes Formular auf Yes festgelegt ist, 1000 TableID-Werte verwendet.

Habe die DB regelmäßig Komprimiert und repariert durchgeführt. Keine sichtbaren Funktionsfehler. Die BD ist mit 20 Tabellen ( die ja so wie so in der BE sind), 36 Abfragen, 63 Formulare und 23 Berichten nicht zu groß, wie ich nachgelesen habe. Programm läuft auf MS Access 2016.
Kann mir einer helfen ?
Titel: Re: accde nicht möglich
Beitrag von: MaggieMay am Februar 21, 2017, 00:39:29
Hallo,

ist das VBA-Projekt fehlerfrei kompilierbar?
Das wäre das erste was ich aufgrund des Fehlers untersuchen würde.

Ganz gewiss liegt es nicht an der (durchaus bescheidenen) Anzahl an Objekten in der DB.
Unter Umständen kannst du das Problem aber auch lösen, indem du alle Objekte in eine neue, leere DB importierst und mit dieser weiter arbeitest.

PS:
Welche Art von Änderungen an deiner DB willst du durch das *DE-Format verhindern?
Titel: Re: accde nicht möglich
Beitrag von: ebs17 am Februar 21, 2017, 10:07:18
Zitat36 Abfragen, 63 Formulare und 23 Berichten
Auf Grund der Fehlermeldung würde ich auf eine extensive Verwendung von DLookup & Co. sowie von nicht geschlossenen Recordsets tippen.
Titel: Re: accde nicht möglich
Beitrag von: Icemann1970 am Februar 22, 2017, 20:14:46
Hallo zusammen,
@ Maggie: Also ich habe keine Fehlermeldung beim Kompilieren. Ich möchte verhindern, dass die Anwender nicht in die Entwurfsansicht kommen bzw in den Navigationsbereich springen. ABER, so wie ich gesehen habe kann man Abfragen und Tabellen in der Accde ändern. Ist das richtig? wie kann ich das unterbinden?
@ Eberhard: hmmm, "Sowie von nicht geschlossenen Recordsets" kannst du da etwas näher drauf eingehen ?
Titel: Re: accde nicht möglich
Beitrag von: ebs17 am Februar 22, 2017, 20:34:43
Zitatkannst du da etwas näher drauf eingehen ?
Worauf genau?
Set rs = db.Openrecordset(sSQL)
...
rs.Close

Zu einem Öffnen gehört ein Schließen.
Titel: Re: accde nicht möglich
Beitrag von: Icemann1970 am Februar 22, 2017, 21:10:16
Ahh, Okay, das schau ich mir mal an. Danke.
Titel: Re: accde nicht möglich
Beitrag von: Icemann1970 am Februar 22, 2017, 22:54:47
Hallo  Eberhard, habe zu allen "open" auch ein "Close".
Welche Möglichkeit habe ich um die Entwurfsansicht,Abfragen, usw für User zu sperren. Das Thema wurde bereit im Jan 2015 hier angesprochen aber zu einer richtigen Lösung ist nicht weiter eingegangen worden. Hast du das was für mich ?
Titel: Re: accde nicht möglich
Beitrag von: MaggieMay am Februar 22, 2017, 23:28:03
Hallo,
Zitat von: Icemann1970 am Februar 22, 2017, 22:54:47
habe zu allen "open" auch ein "Close".
auch im Fehlerfall?!

ZitatWelche Möglichkeit habe ich um die Entwurfsansicht,Abfragen, usw für User zu sperren.
liefere eine ACCDR-Datei aus oder lasse die ACCDB über eine Verknüpfung mit dem /runtime-Parameter öffnen.
Via Autoexec-Makro kannst du prüfen, ob die DB als Runtime ausgeführt wird und sie ggfls. sofort wieder schließen.
Die Umgehung des Autoexec-Makros via Shift-Taste lässt sich ebenfalls verhindern.
Das ist kein Schutz gegen "Software-Piraten", mAn aber durchaus geeignet für den Einsatz innerhalb der Firma.
Titel: Re: accde nicht möglich
Beitrag von: Icemann1970 am Februar 23, 2017, 22:19:14
Hallo Maggie,
wie kann ich denn die ACCDR Datei erstellen? Wenn ich unter speichern unter/als gehe bekomme ich diese Auswahl nicht.
Titel: Re: accde nicht möglich
Beitrag von: PhilS am Februar 23, 2017, 22:24:47
Zitat von: Icemann1970 am Februar 23, 2017, 22:19:14wie kann ich denn die ACCDR Datei erstellen?
Du änderst einfach die Dateiendung deiner .accdb zu .accdr. Dies signalisiert Access, dass es sich bei dieser Datei so verhalten soll, wie die Access Runtime.
Titel: Re: accde nicht möglich
Beitrag von: Icemann1970 am Februar 23, 2017, 22:42:58
Jetzt lacht bitte nicht.... Meine kompl. Office Anwendungen haben keine dateiendungen wie *.doc / *.xls / *.accdb usw.  Keine Ahnung wo ich das einblenden lassen kann. Kiste läuft unter Windows 10 und Access 2016.
Titel: Re: accde nicht möglich
Beitrag von: MzKlMu am Februar 23, 2017, 23:16:38
Hallo,
das kannst Du im Windowsexplorer (nicht Internetexplorer) unter Extras einstellen.
Das sollte man meiner Meinung nach grundsätzlich eingestellt haben.
Titel: Re: accde nicht möglich
Beitrag von: Icemann1970 am Februar 24, 2017, 00:57:40
Super, es funktioniert.
Vielen Dank für eure Hilfe.
Ihr seid einfach spitze, so macht das Arbeiten und das experimentieren spaß. Ich denke dieser "Schutz" müsste reichen damit die Kollegen nichts ändern können/aus versehen. Das man aus der accdr durch umbenennen wieder eine accdb machen kann wird bei meinen Kollegen keiner nachforschen.