Escrever o seu próprio manipulador personalizado
Aplica-se ao: Access 2013 | Access 2016
Você talvez queira criar seu próprio manipulador se for administrador de um servidor IIS que deseja obter suporte do RDS padrão, além de mais controle sobre direitos de acesso e solicitações de usuários.
O MSDFMAP.Handler implementa a interface IDataFactoryHandler.
Interface IDataFactoryHandler
Esta interface possui dois métodos, GetRecordset e Reconnect. Ambos exigem que a propriedade CursorLocation seja definida como adUseClient.
Os dois métodos utilizam os argumentos exibidos após a primeira vírgula na palavra-chave "Handler=". Por exemplo, "Handler=progid,arg1,arg2;"
passará uma cadeia de caracteres de argumento de "arg1,arg2"
, e passará uma cadeia de caracteres de argumento de "arg1,arg2"
, e "Handler=progid"
passará um argumento nulo.
Método GetRecordset
Este método consulta a fonte de dados e cria um novo objeto Recordset usando os argumentos fornecidos. O Recordset deve ser aberto com adLockBatchOptimistic, mas não de forma assíncrona.
Argumentos GetRecordset
conn A sequência de conexão.
args Os argumentos do manipulador.
query O texto de comando para a criação de uma consulta.
ppRS O ponteiro no qual Recordset deve ser retornado.
Método Reconectar
Este método atualiza a fonte de dados. Ele cria um novo objeto Connection e conecta o Recordset específico.
Reconectar argumentos
conn A sequência de conexão.
args Os argumentos do manipulador.
pRS Um objeto Recordset.
msdfhdl.idl
É a definição de interface de IDataFactoryHandler que aparece no arquivo msdfhdl.idl.
[
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);
};
};
Confira também
- Fórum do Access para desenvolvedores
- Ajuda do Access em support.office.com
- Ajuda do Access em answers.microsoft.com
- Fóruns do Access no UtterAccess
- Central de ajuda da programação VBA e desenvolvedor do Access (FMS)
- Postagens do Access no StackOverflow
Suporte e comentários
Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.