Problem mit CurrentProject.Connection in globalem Modul in AC07

06/05/2010 - 13:06 von Christian Kranabetter | Report spam
Hallo Zusammen,

Die DB wurde in AC03 entwickelt manche Workstations arbeiten nun schon auf
AC07 und ich erhalte plötzlich für mich nicht verstàndliche Fehler.

Bei Ausführung folgender Funktion in einem globalen Modul ...

<code>
Public Function GetKatID(asText As String) As Long
'ID suchen
Dim lngID As Long
Dim CONN As New ADODB.Connection
Set CONN = CurrentProject.Connection

Dim DBS As ADODB.Recordset
Set DBS = New ADODB.Recordset

DBS.Open "SELECT ID FROM Art_Kat WHERE Bezeichnung = '" & asText & "'",
CONN, adOpenKeyset, adLockOptimistic
If DBS.RecordCount > 0 Then
DBS.MoveFirst
lngID = DBS!ID
Else
lngID = 0
End If
DBS.Close
GetKatID = lngID
End Function
</code>

erhalte ich einen Fehler bei folgender Zeile:


Set CONN = CurrentProject.Connection




Meldung:
Laufzeitfehler '-2147217939 (80040e52)':
Das Datenquellenobjekt wurde bereits initialisiert.

Auf manchen AC07 Installationen(Workstations) làuft das jedoch so(exakte
Kopie der mdb). Die Domànenfunktionen(DFirst ...) arbeiten auch korrekt, auf
Workstations, die hier ein Problem machen.

Problem entstand plötzlich. Mir ist keine Änderung auf dem System zwecks
Treiber oder Änderungen am Office bekannt(heißt nicht das sich nicht etwas
geàndert hat). Windows und Office Updates sind aktiviert.

Hat wer eine Idee was die Ursache für ein solches Problem sein kann?

Ist meine vorgehensweise im VBA unüblich?

Kann ich die ADO Connection auch über JET initialisieren ohne den Source
Filename(Positionen des Frontends auf den einzelnen Clients ist nicht fix!)
anzugeben?

Danke schon mal

mfg Christian
 

Lesen sie die antworten

#1 Bernd Gilles
06/05/2010 - 13:53 | Warnen spam
Christian Kranabetter schrieb:
Dim CONN As New ADODB.Connection
Set CONN = CurrentProject.Connection
...
erhalte ich einen Fehler bei folgender Zeile:
Set CONN = CurrentProject.Connection




Meldung:
Laufzeitfehler '-2147217939 (80040e52)':
Das Datenquellenobjekt wurde bereits initialisiert.



Ich würde auf das "New" verzichten, da hierdurch bereits eine Instanz der Connection erzeugt wird.
Diese wird aber gar nicht benötigt, da in der nàchsten Zeile die bereits instanziierte Connection
aus CurrentProject zugewiesen wird.

Gruß, Bernd

Access goes Subversion - http://oasis.dev2dev.de

Ähnliche fragen