PDA

Vollständige Version anzeigen : ACCESS Runtime 2000


Norbert Fischer
23.05.2007, 15:22
Ich entwickle Datenbanken unter ACCESS2000 und möchte zukünftig die MDB als Runtime erstellen und verteilen.

Das Setup erstelle ich mit INNO Setup. Nach Start der Anwendung erhalte ich folgende Fehlermeldung:

Die Ausführung dieser Anwendung wurde wegen eines Laufzeitfehlers angehalten. Die Anwendung kann nicht weiter ausgeführt werden und wird daher beendet.

Norbert Fischer (23.5.07)

khs-hh
23.05.2007, 15:58
Hallo Norbert,

Du schreibst, dass Du das Setup für die Anwendung mit Inno Setup erstellst. Hast Du denn die MS Developer Edition für Access 2000?

Der von Dir genannte Fehler ist nicht sehr aussagekräftig. Ohne weiter Infos kann man wenig dazu sagen.

Norbert Fischer
26.05.2007, 16:45
Hallo Kai,

Zur Frage 1:
Developer Edition habe ich nicht. Die Runtime ACCESS2000 habe aus dem Netz. Da ich z.Zt. experimentiere, will ich die Developer Edition erst dann erwerben, wenn ein Vertrieb ansteht.

Zum Fehler:

Die mit INNO Setup erstellte MDB kann ich starten. Das Menü-System wird angezeigt. Weitere Formulare kann ich aus dem Menü-Formular aufrufen.

Der Fehler erscheint immer,wenn unten stehende Programm-Code abgearbeitet wird:

Zum Ablauf: Ein Kombinationsfeld ist als Suchfeld eingerichtet: Die Namen der Mitarbeiter + PersNr werden gelistet. Wenn über unten stehenden Programmaufruf der gesamte Datensatz in das Formular eingelesen werden soll, gibt es den Laufzeitfehler. Dieser Fehler erscheint auch in anderen Formularen, die ähnlich programmiert sind.

------------------
Dim AB1 As Workspace, DB1 As Database, TB1 As Recordset

Set AB1 = DBEngine.Workspaces(0)
Set DB1 = AB1.OpenDatabase("daten.mdb")
Set TB1 = DB1.OpenRecordset("TMitarbeiter", DB_OPEN_TABLE)
TB1.Index = "PrimaryKey"

TB1.Seek "=", Me![MitarbeiterAuswahl]

If Not TB1.NoMatch Then
Me![MitarbeiterNr] = TB1![MitarbeiterNr]
Me![Vorname] = TB1![Vorname]

usw.
usw.

Gruß

Norbert

Norbert Fischer
26.05.2007, 16:47
Hallo Kai,

Zur Frage 1:
Developer Edition habe ich nicht. Die Runtime ACCESS2000 habe aus dem Netz. Da ich z.Zt. experimentiere, will ich die Developer Edition erst dann erwerben, wenn ein Vertrieb ansteht.

Zum Fehler:

Die mit INNO Setup erstellte MDB kann ich starten. Das Menü-System wird angezeigt. Weitere Formulare kann ich aus dem Menü-Formular aufrufen.

Der Fehler erscheint immer,wenn unten stehende Programm-Code abgearbeitet wird:

Zum Ablauf: Ein Kombinationsfeld ist als Suchfeld eingerichtet: Die Namen der Mitarbeiter + PersNr werden gelistet. Wenn über unten stehenden Programmaufruf der gesamte Datensatz in das Formular eingelesen werden soll, gibt es den Laufzeitfehler. Dieser Fehler erscheint auch in anderen Formularen, die ähnlich programmiert sind.

------------------
Dim AB1 As Workspace, DB1 As Database, TB1 As Recordset

Set AB1 = DBEngine.Workspaces(0)
Set DB1 = AB1.OpenDatabase("daten.mdb")
Set TB1 = DB1.OpenRecordset("TMitarbeiter", DB_OPEN_TABLE)
TB1.Index = "PrimaryKey"

TB1.Seek "=", Me![MitarbeiterAuswahl]

If Not TB1.NoMatch Then
Me![MitarbeiterNr] = TB1![MitarbeiterNr]
Me![Vorname] = TB1![Vorname]

usw.
usw.

Gruß

Norbert

khs-hh
26.05.2007, 17:08
hast Du aufgeteilt Frontend / Backend?

Falls ja, für verknüpfte Tabellen ist Seek nicht möglich.

Norbert Fischer
27.05.2007, 14:36
Danke für die Antwort. Die MDB besteht aus Front- und Backend. Auch bei Zusammenlegung und Verzicht auf Verknüpfung zeigt sich das gleiche Ergebnis.

Frage1: Kann es daran liegen, dass die unter Verweise markierten "Bibliotheken" wie z.B. dao360.dll nicht im Zugriff sind.

Geprüft habe ich: Vorhanden sind sie in den vorgesehenen Ordnern.

Ich vermute, der Fehler liegt im Umfeld der DAO-Objektbibliothek.

Frage2: Benötigt die Laufzeitumgebung einen Lizenzierungschlüssel, um gestartet werden zu können?

Gruß
Norbert

khs-hh
27.05.2007, 15:56
ob ein Lizenzschlüssel benötigt wird, weiss ich nicht. Auf jeden Fall ist es ja unzweifelhaft, dass eine Installation mittels Innosetup nicht den Intentionen von Microsoft entspricht. Es ist also nicht auszuschließen, dass es daran liegt.