Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

accde nicht möglich

Begonnen von Icemann1970, Februar 21, 2017, 00:22:01

⏪ vorheriges - nächstes ⏩

Icemann1970

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 ?
Mfg. Udo

MaggieMay

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?
Freundliche Grüße
MaggieMay

ebs17

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.
Mit freundlichem Glück Auf!

Eberhard

Icemann1970

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 ?
Mfg. Udo

ebs17

#4
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.
Mit freundlichem Glück Auf!

Eberhard

Icemann1970

Ahh, Okay, das schau ich mir mal an. Danke.
Mfg. Udo

Icemann1970

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 ?
Mfg. Udo

MaggieMay

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.
Freundliche Grüße
MaggieMay

Icemann1970

Hallo Maggie,
wie kann ich denn die ACCDR Datei erstellen? Wenn ich unter speichern unter/als gehe bekomme ich diese Auswahl nicht.
Mfg. Udo

PhilS

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.
Neue Videoserie: Windows API in VBA

Klassische CommandBars visuell bearbeiten: Access DevTools CommandBar Editor

Icemann1970

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.
Mfg. Udo

MzKlMu

Hallo,
das kannst Du im Windowsexplorer (nicht Internetexplorer) unter Extras einstellen.
Das sollte man meiner Meinung nach grundsätzlich eingestellt haben.
Gruß Klaus

Icemann1970

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.
Mfg. Udo