Altes VB Programm in WinXP

13/04/2010 - 18:24 von Peter Mairhofer | Report spam
Hi,

Ich habe ein altes VB Programm (ich glaube ursprünglich erstellt unter
VB5). Dieses lief bis jetzt unter Windows 95 und speicherte seine Daten
in einer Access-Datei.

Den Rechner muss ich jetzt nach Windows XP migrieren, aber leider
schlàgt das fehl. Glücklicherweise liegen im gleichen Verzeichnis
(offenbar) die Sourcen.

Ich erhalte (offenbar beim Zugriff auf die Datenbank) die Fehlermeldung:

Data error event hit err:Application-defined or object-defined error

Der Fehler wird offenbar von folgender Prozedur erzeugt:

Private Sub datPrimaryRS_Error(DataErr As Integer, Response As Integer)
'An dieser Stelle würde Code zur Fehlerbehandlung stehen
'Wenn Sie Fehler ignorieren möchten, kommentieren Sie die nàchste
'Zeile aus. Wenn Sie die Fehler auffangen möchten, fügen Sie an
'dieser Stelle Code ein, um Fehler zu behandeln
MsgBox "Data error event hit err:" & Error$(DataErr)
Response = 0 'Fehler verwerfen
End Sub

In der *.frm Datei ist ganz oben das datPrimaryRS Objekt definiert als:

Begin VB.Data datPrimaryRS
Align = 2 'Unten ausrichten
Caption = " "
Connect = "Access"
DatabaseName = "C:\Programme\DevStudio\VB\DB.mdb"
DefaultCursorType= 0 'Standard-Cursor
DefaultType = 2 'ODBC verwenden
Exclusive = 0 'False
Height = 825
Left = 0
Options = 0
ReadOnly = 0 'False
RecordsetType = 1 'Dynaset
RecordSource = "select * from [Patienten]"
Top = 4800
Width = 6525
End

Die DB.mdb liegt an richtiger Stelle, sicherheitshalber habe ich es als
Administrator gestartet.

Gibt es die Chance die exe-Datei auf Windows XP zum Laufen zu bekommen?
Was muss ich dafür tun?

LG
Peter
 

Lesen sie die antworten

#1 Peter Götz
14/04/2010 - 09:49 | Warnen spam
Hallo Peter,

Ich habe ein altes VB Programm (ich glaube ursprünglich erstellt unter
VB5). Dieses lief bis jetzt unter Windows 95 und speicherte seine Daten in
einer Access-Datei.



Wo genau (in welchem Pfad) liegt diese *.mdb?


Den Rechner muss ich jetzt nach Windows XP migrieren, aber leider schlàgt
das fehl. Glücklicherweise liegen im gleichen Verzeichnis (offenbar) die
Sourcen.



Welche Sourcen liegen in welchem Verzeichnis?

Ich erhalte (offenbar beim Zugriff auf die Datenbank) die Fehlermeldung:

Data error event hit err:Application-defined or object-defined error

Der Fehler wird offenbar von folgender Prozedur erzeugt:

Private Sub datPrimaryRS_Error(DataErr As Integer, Response As Integer)
'An dieser Stelle würde Code zur Fehlerbehandlung stehen
'Wenn Sie Fehler ignorieren möchten, kommentieren Sie die nàchste 'Zeile
aus. Wenn Sie die Fehler auffangen möchten, fügen Sie an 'dieser Stelle
Code ein, um Fehler
zu behandeln
MsgBox "Data error event hit err:" & Error$(DataErr)
Response = 0 'Fehler verwerfen
End Sub



Ohne den Zusammenhang zum übrigen Code zu kennen,
kann man damit leider wenig bis gar nichts anfangen.

In der *.frm Datei ist ganz oben das datPrimaryRS Objekt definiert als:

Begin VB.Data datPrimaryRS
Align = 2 'Unten ausrichten
Caption = " "
Connect = "Access"
DatabaseName = "C:\Programme\DevStudio\VB\DB.mdb"



Im Pfad

C:\Programme\...

haben normale Benutzer (Benutzer ohne Admin-Rechte) nur
das Recht Dateien zu lesen und auszuführen. Deine
*.mdb könnte von einem normalen Benutzer also bestenfalls
gelesen, aber niemals beschrieben werden.

DefaultCursorType= 0 'Standard-Cursor
DefaultType = 2 'ODBC verwenden
Exclusive = 0 'False
Height = 825
Left = 0
Options = 0
ReadOnly = 0 'False
RecordsetType = 1 'Dynaset
RecordSource = "select * from [Patienten]"
Top = 4800
Width = 6525
End



Dabei geht es offenbar um ein Data-Control, dessen
Eigenschaften allerdings alles andere als optimal
eingestellt sind.


Die DB.mdb liegt an richtiger Stelle,



Der Pfad

C:\Programme\...

ist für eine *.mdb, ganz sicher nicht die richtige Stelle.
Selbst wenn aus der *.mdb nur gelesen werden soll,
sind Schreibrechte in Pfad der *.mdb erforderlich,
damit die zur *.mdb gehörende *.ldb geschrieben
werden kann.

sicherheitshalber habe ich es als Administrator gestartet.



Damit hàttest Du im Pfad "C:\Programme\..." Schreibrechte,
aber eben nur als Admin und nicht als normaler Benutzer.

Gibt es die Chance die exe-Datei auf Windows XP zum Laufen zu bekommen?



Die gibt es sicher, aber aus Deinem Posting wird leider
nicht ersichtlich, was die eigentlich Fehlerursache sein könnte.

Was muss ich dafür tun?



Dein Programm mal im Debug-Modus bis an die eigentliche
Fehlerstelle laufen lassen und dann den relevanten
Code verbessern bzw. hier zeigen.

Gruß aus St.Georgen
Peter Götz
www.gssg.de (mit VB-Tipps u. Beispielprogrammen)

Ähnliche fragen