PDA

Vollständige Version anzeigen : MDE-Datei


Onkel Dittmeyer
21.10.2017, 13:14
Hallo zusammen!
Ich nutze als Entwicklungsumgebung Access 2013.
Mein Frontend und alle Backend-Dateien haben das 2002-2003er MDB-Format.
Bei den Kunden läuft die 2013'er Runtime.
..das zu den Rahmenbedingungen.

Wenn ich aus dem Frontend eine MDE machen möchte, bricht der Vorgang mit dem Hinweis:
Microsoft Access konnte keine ACCDE-, MDE- oder ADE-Datei erstellen
ab.

Warum?
Lässt sich eine MDB nicht mit 2013 kompilieren?
Oder was könnte der Grund sein?
Mit ist bekannt, dass es für die jeweiligen Objekte eine "Obergrenze" gibt.
Die liegt zwar nicht bei 200.000 :mrcool: , aber meines Wissens deutlich über dem was meine MDB aktuell zu bieten hat. (13 Abfragen 33 Formulare 6 Berichte 15 Makros 5 Module).

Kann jemand etwas dazu sagen ?

Gruß OD

elmar
21.10.2017, 13:27
lässt sich der VBA Code fehlerfrei kompilieren?
Sind alle Variablen deklariert? (In jedem Modul "Option Explicit" setzen, dann kompilieren)
Lässt sich die DB Komprimieren?
----Rat von einem Freund von mir, da ich nicht mit 2007/10/13 usw. arbeite:
wurde die accdb aus einer MdB durch Konvertierung erzeugt?
Access 2007 / 2010 kann keine ACCDE aus einer Datei erstellen, die mit einer früheren Version erstellt wurde.
Wichtig ist dabei, dass in den Access-Optionen das Standarddateiformat einer neuen Datenbank auf Version Access 2007 eingestellt ist!
Erstelle eine neue leere Datenbank und importiere ALLE Objekte aus der 'störrischen' in diese, danach solltest du eine ACCDE erstellen können.
PS: 15 Makros? Wer arbeitet denn heutzutage noch damit?

Onkel Dittmeyer
21.10.2017, 13:56
lässt sich der VBA Code fehlerfrei kompilieren?
Sind alle Variablen deklariert? (In jedem Modul "Option Explicit" setzen, dann kompilieren)
Lässt sich die DB Komprimieren?
----Rat von einem Freund von mir, da ich nicht mit 2007/10/13 usw. arbeite:
wurde die accdb aus einer MdB durch Konvertierung erzeugt?
Access 2007 / 2010 kann keine ACCDE aus einer Datei erstellen, die mit einer früheren Version erstellt wurde.
Wichtig ist dabei, dass in den Access-Optionen das Standarddateiformat einer neuen Datenbank auf Version Access 2007 eingestellt ist!
Erstelle eine neue leere Datenbank und importiere ALLE Objekte aus der 'störrischen' in diese, danach solltest du eine ACCDE erstellen können.
PS: 15 Makros? Wer arbeitet denn heutzuitage noch damit?
Lässt sich der VBA Code fehlerfrei kompilieren?
JA!
Sind alle Variablen deklariert? (In jedem Modul "Option Explicit" setzen, dann kompilieren)
JA!
Lässt sich die DB Komprimieren?
JA!

ACCDB
..ich hatte geschrieben, dass ich eine MDB nutze!
Diese wurde allerdings auch schon (vor langer Zeit) durch Konvertierung aus einer ac97 erzeugt.(falls das wichtig ist)

1. Ich wil keine ACCDE sonder eine MDE erstellen.
2. Ich nutze Acc 2013 als Entwl.Umgebung
Bevor ich den Import in eine neue MDB teste, warte ich mal ab, ob es hier noch mehr Anmerkungen oder Erfahrungen zu dem Thema gibt.

Makros! (Auf die Bemerkung hatte ich gewartet..)
Ich ersetze die gerne wenn möglich und erwarte Deinen Vorschlag.
1. Autoexec-Makro (..macht nichts weiter als das erste Modul zu starten)
2. Autokeys ..steuert verschiedene allgemeingültige Funktionstasten
3. div- Menümakros mit denen Funktionsaufrufe in versch. Kontextmenüs umgesetzt werden.

elmar
21.10.2017, 14:41
Diese wurde allerdings auch schon (vor langer Zeit) durch Konvertierung aus einer ac97 erzeugt.(falls das wichtig ist)
Ja, das könnte wichtig sein. Angeblich lassen sich keine MDE-Datenbankdateien erzeugen, wenn die "UR-Datenbank" aus AC97 stammt. Hier wird geraten, zunächst eine leere 2003er Version anzulegen und danach alle Objekte aus der MDB, welche aus der Hochkonvertierung entstanden ist, in die neue, leere DB zu importieren. Danach den VBA-Editor öffnen und den Code kompilieren. Falls alles okay ist, komprimieren und reparieren wählen.
Klappt auch das fehlerfrei, könnte versucht werden, die MDE zu erzeugen.
Eine Garantie auf Erfolg kann ich leider dazu nicht geben, probieren...
Makros: Natürlich hatte ich Autoexec und Autokey nicht gemeint und die Menümakros sind auch okay.

Onkel Dittmeyer
21.10.2017, 15:13
Ja, das könnte wichtig sein. Angeblich lassen sich keine MDE-Datenbankdateien erzeugen, wenn die "UR-Datenbank" aus AC97 stammt. Hier wird geraten, zunächst eine leere 2003er Version anzulegen und danach alle Objekte aus der MDB, welche aus der Hochkonvertierung entstanden ist, in die neue, leere DB zu importieren. Danach den VBA-Editor öffnen und den Code kompilieren. Falls alles okay ist, komprimieren und reparieren wählen.
Klappt auch das fehlerfrei, könnte versucht werden, die MDE zu erzeugen.
Eine Garantie auf Erfolg kann ich leider dazu nicht geben, probieren...
Makros: Natürlich hatte ich Autoexec und Autokey nicht gemeint und die Menümakros sind auch okay.
#ac97
Ich checke das, sobald ich Zeit habe.
Beim näheren nachdenke befürchte ich aber dass das ev. nichts bringt.
Ich meine mich zu erinnern, damals aus "recht"lichen Gründen, schoneinmal dies Prozedere durchgeführt zu haben, aber vielleicht war das auch nur der Wechsel von einer MDB zu einer neuen, bei der die Rechte neu sortiert wurden..? Ist schon solange her.

Ich schau mal..
Erstmal vielen Dank und ein schönes Restwochenende
Gruß OD

Steffen0815
21.10.2017, 15:21
Hallo,
erstelle doch testweise mal eine einfache mdb und versuche diese in eine MDE zu wandeln.

Wenn du und die Kunden AC2013 nutzen, warum dann nicht eine accdb/accde?

Wenn noch "Reste" aus einer AC97 Nutzerverwaltung (MDW) zurückgeblieben sind, sollte man wohl ohnehin mal aufräumen.

Onkel Dittmeyer
22.10.2017, 18:59
Hallo,
erstelle doch testweise mal eine einfache mdb und versuche diese in eine MDE zu wandeln.

Wenn du und die Kunden AC2013 nutzen, warum dann nicht eine accdb/accde?

Wenn noch "Reste" aus einer AC97 Nutzerverwaltung (MDW) zurückgeblieben sind, sollte man wohl ohnehin mal aufräumen.
Hallo, das
mit ner jungfräulichen mdb werde ich mal testen, bevor ich mich auf eine falsche Fährte leiten lasse. Danke! Hätt' ich auch gern selbst mal drauf komme können Grrr! :-)

#AC97 Nutzerverwaltung
..also die Nutzer & Berechtigungsverwaltung war ja über Ac97 hinaus bis zum 2002-2003er MDB-Format möglich.

Das ist auch der einzige und zugleich wichtige Grund für mich, weshalb ich noch das alte Format für Front- und Backend verwende.

Hat man eine MDB innerhalb acc2013 am Wickel, erscheinen in der Entwicklungsumgebung auch die Tools für Verwaltung derlei Einstellungen, sonst nicht.

Das ist sehr schade, weil ich diese ungemein nützlich finde, denn..
1.sie sorgen dafür, dass nicht jeder am Frontend "rumbasteln kann"
2. ermöglichen es Nutzerkreisen bestimmte Rechte innerhalb Ihrer Tätigkeitsräume einzuräumen
3. Bieten, für das Niveau gewöhnlicher Büronutzer einen gewissen Zugriffsschutz.

Die Alternative, bei Nutzung einer acccdb (oder so ähnlich ;-), sehe ich darin, das Front-end nur kompiliert anzubieten (also als accde o.ä.)
Allerdings vermute ich, dass es auch dann nicht möglich wäre bspw. Nutzer A das Öffnen des frm's B zu verbieten.

Als Backend dann einen MS SQL oder MySQL Server wobei ich noch keine Ahnung habe wie dort die Rechteverwaltung umgesetzt wird.

Grundsätzlich wäre das wohl eine Lösung, die größere Nutzerzahlen erlaubt, schneller ist (SQL Cursor auf dem Server) und deshalb viel mehr Spielraum bietet.
Ob der Aufwand aber überhaupt nötig ist, hängt sicherlich von der Anwendung und deren Einsatzbereich ab.

Für meinen Fall ist dem noch nicht so.
Mit ner Desktop-DB und nem NAS als zentr. Ablage ist den Anforderungen bislang genüge getan. Aber wenn die Firma expandiert, und der Schutz der Daten auch relevanter wird, kann das viell. noch zur Anwendung kommen.
Gruß OD

Lanz Rudolf
23.10.2017, 22:21
Hallo
mein Vorschlag:
alle Frontend und alle Backend-Dateien haben das 2002-2003er MDB-Format.
in
Accdb Konvertieren und evtl. dann für die FE ein accde und
möglichst diese als Runtime Starten ;)

Onkel Dittmeyer
24.10.2017, 10:37
Hallo,
erstelle doch testweise mal eine einfache mdb und versuche diese in eine MDE zu wandeln.

Wenn du und die Kunden AC2013 nutzen, warum dann nicht eine accdb/accde?

Wenn noch "Reste" aus einer AC97 Nutzerverwaltung (MDW) zurückgeblieben sind, sollte man wohl ohnehin mal aufräumen.
..so ich habe gerade mal:

1. Entwicklungsumgebung acc2013 verwandt
2. neue MDB darin erstellt
3. in diese MDB 10 versch. Objekte aus einer bestehenden accdb (die vor langer Zeit mal aus einer ex mdb ex ac97 entstanden ist, importiert
4. versucht daraus eine MDE zu machen >>
...selbe Fehlermeldung..
...soweit erstmal.. mehr Zeit habe ich im Moment nicht.
..aber immerhin schon mal geklärt, dass das Prob eher grundsätzlicherer Natur ist, und der Grund nicht etwa eine def. MDB ist o.ä.

Gruß OD

CatboyJones
24.10.2017, 11:26
Hi!

Warum erstellst Du die mde nicht mit A03 wenn du es schon parallel installiert hast?

Gruss
Jones

Kyron9000
24.10.2017, 12:07
Hallo,
...warum machst aus der mdb keine accdb und dann eine accde,
wenn der Kunde schon eine AC13 Runtime hat...?

Onkel Dittmeyer
24.10.2017, 12:11
Hallo,
...warum machst aus der mdb keine accdb und dann eine accde,
wenn der Kunde schon eine AC13 Runtime hat...?
..siehe mein Post vom 22.10.2017, 19:59

Onkel Dittmeyer
24.10.2017, 12:16
Hi!

Warum erstellst Du die mde nicht mit A03 wenn du es schon parallel installiert hast?

Gruss
Jones

Unter ac03 kommt die selbe Fehlermeldung "..Konnte keine MDE erstellen"

ebs17
24.10.2017, 12:17
Ich kenne das auch so, dass man Konvertierungen in MDE/ACCDE jeweils genau mit der Accessversion ausführt, die auch dem Format der DB-Datei entspricht.

Schau Dir jenes an: UGAM - User Group Account Manager für Access 2007/2010 (http://www.abiss.de/content/produkte/microsoftcaccess/ugam-usercgroupcaccountcmanager/ugamc-cusercgroupcaccountcmanagercfuercaccessc2007-und-2010_100127_0.html)

Kyron9000
24.10.2017, 12:18
:) ok, nicht alles durchgelesen!

PS: AC2003 öffnen, eine neue Datenbank erstellen, alle Objekte in diese neue DB einfügen.
Kompilieren und eine mde erstellen... (wenn möglich :) )
Oder, wurde dir das auch schon geraten?

Onkel Dittmeyer
24.10.2017, 12:34
ganz ähnlich habe ich es schon probiert. Zu mehr war noch keine Zeit.

VGL Post vom 24.10.2017, 11:37

Gruß OD

Onkel Dittmeyer
25.10.2017, 19:27
Nun läuft's! Woran lag's?

Eine Variable in einer "toten" Funktion, die noch nicht aus dem Code entfernt wurde, verursachte einen "Fehler" beim kompilieren.
Die Funktion wurde nun gänzlich entfernt und das Kompilieren lief fehlerfrei durch.

Das war dann sicherlich auch der Grund für die unmögliche Erzeugung einer MDE!

Was lerne ich daraus?
Komprimieren & reparieren ist nicht gleich kompilieren.
(...dachte das wird dann in einem Zug gleich mitgemacht..das war mein Fehler)

Dank an alle die mir Tipps & Hilfestellung gegeben haben.
Gruß OD

elmar
25.10.2017, 21:18
in #2 fragte ich bereits: lässt sich der VBA Code fehlerfrei kompilieren?
Hätte, hätte Fahrradkette....
Schön, das es nun gelöst ist.