Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für: Access 2013 | Access 2016
Möglicherweise möchten Sie einen eigenen Handler schreiben, wenn Sie IIS-Serveradministrator sind und die standardmäßige RDS-Unterstützung benötigen, aber gleichzeitig mehr Kontrolle über Benutzeranforderungen und Zugriffsrechte haben möchten.
Durch den MSDFMAP.Handler wird die IDataFactoryHandler-Schnittstelle implementiert.
IDataFactoryHandler-Schnittstelle
Diese Schnittstelle verfügt über zwei Methoden, GetRecordset und Reconnect. Für beide Methoden muss die CursorLocation-Eigenschaft auf adUseClient festgelegt sein.
Beide Methoden akzeptieren Argumente, die nach dem ersten Komma im "Handler="-Schlüsselwort angezeigt werden. "Handler=progid,arg1,arg2;" Beispielsweise übergibt eine Argumentzeichenfolge von "arg1,arg2", und übergibt eine Argumentzeichenfolge von "arg1,arg2", und "Handler=progid" übergibt ein NULL-Argument.
GetRecordset-Methode
Mit dieser Methode wird die Datenquelle abgefragt und ein neues Recordset-Objekt mit den bereitgestellten Argumenten erstellt. Das Recordset-Objekt muss mit adLockBatchOptimistic geöffnet und darf nicht asynchron geöffnet werden.
GetRecordset-Argumente
conn Die Verbindungszeichenfolge.
args Die Argumente für den Handler.
query Der Befehlstext für das Ausführen einer Abfrage.
ppRS Der Zeiger für die Stelle, an der das Recordset-Objekt zurückgegeben werden soll.
Reconnect-Methode
Mit dieser Methode wird die Datenquelle aktualisiert. Es wird ein neues Connection-Objekt erstellt, und das angegebene Recordset-Objekt wird angefügt.
Argumente für die erneute Verbindung
conn Die Verbindungszeichenfolge.
args Die Argumente für den Handler.
pRS Ein Recordset-Objekt.
msdfhdl.idl
Dies ist die Schnittstellendefinition für IDataFactoryHandler, die in der Datei msdfhdl.idl angezeigt wird.
[
uuid(D80DE8B3-0001-11d1-91E6-00C04FBBBFB3),
version(1.0)
]
library MSDFHDL
{
importlib("stdole32.tlb");
importlib("stdole2.tlb");
// TLib : Microsoft ActiveX Data Objects 2.0 Library
// {00000200-0000-0010-8000-00AA006D2EA4}
#ifdef IMPLIB
importlib("implib\\x86\\release\\ado\\msado15.dll");
#else
importlib("msado20.dll");
#endif
[
odl,
uuid(D80DE8B5-0001-11d1-91E6-00C04FBBBFB3),
version(1.0)
]
interface IDataFactoryHandler : IUnknown
{
HRESULT _stdcall GetRecordset(
[in] BSTR conn,
[in] BSTR args,
[in] BSTR query,
[out, retval] _Recordset **ppRS);
// DataFactory will use the ActiveConnection property
// on the Recordset after calling Reconnect.
HRESULT _stdcall Reconnect(
[in] BSTR conn,
[in] BSTR args,
[in] _Recordset *pRS);
};
};
Siehe auch
- Access-Entwicklerforum
- Hilfe mit Access unter support.office.com
- Hilfe mit Access unter answers.microsoft.com
- Access-Foren zu UtterAccess
- Entwickler- und VBA-Programmierung (FMS)
- Access-Beiträge zu StackOverflow
Support und Feedback
Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.