Fehler: Der Datenprovider konnte nicht initialisiert werden.

19/09/2007 - 11:53 von Lutz Uhlmann | Report spam
Ich habe ein Access2003-Frontend und ein SQL-Server 2005 Express als
Backend.

Dei Tabellen und Abfragen des SQl-Servers sind im Frontend per ODBC
verknüpft.

Da dies etwas langsamer ist lade ich manche Formulare per ADO direkt vom
Server:
Variante 1:
Set rs_form = New ADODB.Recordset
rs_form.CursorLocation = adUseClient
rs_form.Open sql, connSqlServer, adOpenKeyset, adLockOptimistic
Set frm.Recordset = rs_form

In einer speziellen Situation (Verknüpfung der Quelldaten mit lokalen
temporàren Daten) muß ich aber auf eine lokale Abfrage zurückgreifen und
möchte dem wie oben geladenen Formular mit
Variante 2:
frm.RecordSource = sql
eine neue Datenquelle zuweisen.

Beim aktuellen Problem nutze ich zuerst Variante 1 und spàter per Knopfdruck
Variante 2. Doch dort steigt Access bei
frm.RecordSource = sql
mit dem Fehler "31 Der Datenprovider konnte nicht initialisiert werden."
aus.

Warum steigt der dort aus und was muß ich machen, damit ich dem Formular
auch per RecordSource neue Daten zuweisen kann?
Notfalls müßte ich wohl nen DAO-RecordSet mit der lokalen Abfrage öffnen und
diesen wie in Avriante 1 zuweisen.
 

Lesen sie die antworten

#1 Lutz Uhlmann
19/09/2007 - 15:20 | Warnen spam
Warum steigt der dort aus und was muß ich machen, damit ich dem Formular
auch per RecordSource neue Daten zuweisen kann?
Notfalls müßte ich wohl nen DAO-RecordSet mit der lokalen Abfrage öffnen
und diesen wie in Avriante 1 zuweisen.



DAO-Recordset ist doch keine Alternative, da ich in diesem SQL-String unter
anderem auf Formular-Felder referenziere.

"SELECT * FROM a_stamm_ANL WHERE (B19 >
forms![f_auswahl_ANL]![f_auswahl_ANL_filter_uf].Form![fwert1])ORDER BY
ANL_NR"

Und das funktioniert natürlich nicht auf dem Server, aber eben auch nicht im
DAO-Recordset. Da bekomme ich nen Parameter-Fehler.

Ähnliche fragen