Pfad der Datenbank erzeugt Fehler

Hallo
ich habe ein Problem, habe ein wenig meinen Programmcode verändert
ohne die Datenbank, Pfade oder sonstiges zu ändern.

Nachdem ich fertig war, starte ich das Programm am Rechner und es geht ganz normal.

Nachdem ich die EXE erstellt habe und die Datei am anderen Rechner eingefügt habe, kommt nun die Fehlermeldung, welche ich eingebaut habe
falls die Datenbank IBF-Datenbank.mdb nicht im Installverzeichnis sein sollte. D.h. Err 0 wird ausgelöst.

On Error Resume Next
'öffnet die Verbindung zur Datenbank
Cn.Provider = „Microsoft.Jet.OLEDB.4.0“
Cn.ConnectionString = „Data Source=“ & App.Path & „\IBF-Datenbank.mdb“
Cn.Open

If Err 0 Then
MsgBox „Die Datei IBF-Datenbank.mdb wurde nicht im Installationsverzeichnis gefunden!“ & vbCrLf & " Das Programm kann nicht ausgeführt werden!" & vbCrLf & „Installieren Sie bitte eine Updateversion zur Lösung des Problems!“, 16, „Fehlermeldung“
Err = 0
Cn.Close 'schliesst die Verbindung zur Datenbank
Unload frmHauptmenü 'beenden des Programms
End If

Das Problem ist, an der Stelle hat sich zum alten und neuen EXE-Datei überhaupt nix verändert. Also muss es ein Update oder sonstwas sein, was das Problem auslöst. Ich hatte auch mal VS 2008 testweise installiert.

Womit hat es zu tun und wie behebe ich es, evtl. auch am Zielrechner, weil es auf dem REchner des VB Projektes ja ohne Probleme läuft.

mfg niri

Hallo,

hast Du überprüft, ob die DB tatsächlich im selben Verzeichnis wie die .exe liegt? Manchmal denkt man: ‚Die liegt doch da‘ und hat vergessen, daß man sie verschoben/gelöscht hat. :smile:

Oder: überprüfe den Pfad. Wenn die .exe direkt auf einem Laufwerk, nicht in einem Unterverzeichnis liegt, klappt das so nicht, dann hast Du einen Slash zuviel.

Gruß Rainer

Hallo
das passt alles, da bin ich sicher.
Ich habs jetzt an einem anderen Win 7 rechner ausproboert, da geht es!!! An denen, wo es nicht geht, das sind XP Rechner.

Aber auch hier ging die EXE bis vor ca. 1/2 Jahr ohne Probleme.

mfg

Hi Werner,

das passt alles, da bin ich sicher.
Ich habs jetzt an einem anderen Win 7 rechner ausproboert, da
geht es!!! An denen, wo es nicht geht, das sind XP Rechner.

Aber auch hier ging die EXE bis vor ca. 1/2 Jahr ohne
Probleme.

Ahhh, Win7 und XP. Was auf Win7 kompiliert ist, läuft auf XP nicht. :frowning: Umgekehrt auch nicht. Kompiliere das Programm für XP auf einer XP-Maschine.

Gruß Rainer

Das ging bisher immer!
Und was ist damit, das es bisher immer funktionierte???
Kann doch nicht sein.

mfg Werner

Hallo Werner,

Und was ist damit, das es bisher immer funktionierte???
Kann doch nicht sein.

Das verstehe ich dann nicht. Bei mit hat das noch nie funktioniert.

Gruß Rainer

Hi
ach du bists, neuer Nick?

Ja dann hat sich eben im letzten halben Jahr einiges über Update geändert. Evtl. muss ich dann 2 Versionen erzeugen.
Ich habe noch ein anderes Problem mit dem Erzeugen eines Files, hängt wohl auch am Pfad irgendwie. Hier wird auch geprüft, ob die Datei vorhanden ist oder nicht.

Ich poste das mal die Tage, im Moment reichts mir.

Vielen Dank, mfg niri

Hallo Werner,

ich misch mich mal als VB-Ahnungsloser ein.

ach du bists, neuer Nick?

Ja, Rainer bekam 'ne Fischallergie *grins* oder so…

Ja dann hat sich eben im letzten halben Jahr einiges über
Update geändert.

Zumindestens testhalber, probiere es doch mal über einen sehr weit zurückliegenden Systemwiederherstellungspunkt.
Gibt es zumindest bei Win XP.
Frag nach wenn du das nicht kennst.

Ob es hier in diesem Fall was bringt kann ich nicht beurteilen.
Ohne Wissen behaupte ich mal da diese Systemwiederherstellung
setzt nur die Registry auf den alten Stand zurück.

Wenn da in beliebigen Programmen durch jeweilige Updates was an den Programmdateien geändert wurde so glaube ich nicht daß das die Systemwiederherstellung auch rückgängig machen wird.
Egal, probiers mal.

Evtl. muss ich dann 2 Versionen erzeugen.

Möglich.
Zur Fehlersuche würde ich an deiner Stelle erst mal eine, von mir auch zwei exe erzeugen aber von sehr kleinem Code, quasi nur den Kleincode den du gezeigt hast kompilieren lassen.

Dann auf möglichst vielen verschiedenen PCs laufen lassen.
Vielleicht auch hier den Quellcode zeigen damit Rainer und andere für sich testen können.

Da Rainer sagt, auf Win 7 kompilierter Code läuft nicht auf Win XP und du sagst nö, läuft/lief auf beiden KÖNNTE es ja sein daß da verschiedene Win XP im Spiel sind.

Soweit ich weiß gibt es Win XP als 32-Bit und als 64-Bit Version.
Irgendwo in den Eingeweiden meines Win XP kann ich nachschauen welche dieser Versionen ich habe.
Ich hab leider vergessen wo ich schauen müßte aber für mich egal, vor langer Zeit schaute ich mal nach und weiß daß ich die 32-Bit Version habe.

Für dich wäre es nun m.E. sehr interessant wenn im Code durch eine MsgBox o.ä. die Bit-Version angezeigt würde.
Vielleicht geht sowas mittels API!?

Ich habe noch ein anderes Problem mit dem Erzeugen eines
Files, hängt wohl auch am Pfad irgendwie. Hier wird auch
geprüft, ob die Datei vorhanden ist oder nicht.

KANN an einer Winzigkeit liegen, schau mal kurz ins Brett Tabellkalkulation, dort betrachte nur mal die Länge der Beitragsfolge zu
„Vollständige Referenzierung“
Ursache = Lösung des ganzen Problems war ein fehlender backslash bei einer Pfadangabe…

Die Beitragsfolge selbst ist uninteressant für dein Anliegen, sie soll
nur aufzeigen wie gravierend so ein blöder Strich „reinhauen“ kann und wie schwer, mühselig es dann sein kann diese Winzigkeit zu finden.
Denn logischerweise vermutet man Fehler bei viel komplizierteren Codestellen.

Ich poste das mal die Tage, im Moment reichts mir.

Vielen Dank, mfg niri

Hi,

ach du bists, neuer Nick?

ja. :smile: Ich hab’ mich mit voll ausgeschiebenem Klarnamen nicht ,mehr so ganz wohl gefühlt. Die Daten-Sammelwut von Google & Co nimmt ständig zu, darauf habe ich reagiert. :smile:

Gruß Rainer