Bom Dia,
Preciso saber se existe uma forma de incluir dentro de uma instrução SQL um RecordSet aberto na memória, pois tenho um sistema que utiliza múltiplos bancos de dados e no modo ACCDE não é possivel criar tabelas temporária de forma física, por exemplo, de acordo com o ambiente que o usuário está não posso ter tabelas vinculadas pois os dados virão do banco de dados do ambiente selecionado, cada filial tem o seu, a tabela Permissões vinculada ao servidor 192.168.0.2, quando mudar o ambiente ela estará vinculada ao servidor 192.168.10.3 não posso vincular uma nova tabela pois o modo ACCDE não permite, e não posso deixar várias tabelas vinculadas aos servidores tipo, Permissões_Serv1, Permissões_Serv2, Permissões_Serv3, porque se incluir um novo servidor tenho que vincular uma nova tabela e criar um novo ACCDE, e isso tem que ser feito automaticamente, resolveria meu problema se pudesse fazer a seguinte situação.
Até aí tudo bem, precisaria usar estas tabelas para criar um novo recordset, como se elas fossem tabelas físicas, tipo...
E assim eu teria um terceiro recordset com um Select de 2 recordsets já existentes, mais não fisicamente, virtualmente, depois que extraísse as informações necessárias daria um Close em todos os recordsets esvaziando assim a memória...
Preciso saber se existe uma forma de incluir dentro de uma instrução SQL um RecordSet aberto na memória, pois tenho um sistema que utiliza múltiplos bancos de dados e no modo ACCDE não é possivel criar tabelas temporária de forma física, por exemplo, de acordo com o ambiente que o usuário está não posso ter tabelas vinculadas pois os dados virão do banco de dados do ambiente selecionado, cada filial tem o seu, a tabela Permissões vinculada ao servidor 192.168.0.2, quando mudar o ambiente ela estará vinculada ao servidor 192.168.10.3 não posso vincular uma nova tabela pois o modo ACCDE não permite, e não posso deixar várias tabelas vinculadas aos servidores tipo, Permissões_Serv1, Permissões_Serv2, Permissões_Serv3, porque se incluir um novo servidor tenho que vincular uma nova tabela e criar um novo ACCDE, e isso tem que ser feito automaticamente, resolveria meu problema se pudesse fazer a seguinte situação.
- Código:
Dim DB1 as DAO.Database
Dim DB2 as DAO.Database
Dim RSvirtual1 as DAO.Recordset
Dim RSvirtual2 as DAO.Recordset
Set DB1 = DBEngine.Workspaces(0).OpenDatabase("Caminho Servidor 1", False, False, "MS Access;PWD=" & Me.Senha)
Set RSvirtual1 = DB1.Openrecordset("SELECT * FROM Permissoes")
Set DB2 = DBEngine.Workspaces(0).OpenDatabase("Caminho Servidor 2", False, False, "MS Access;PWD=" & Me.Senha)
Set RSvirtual2 = DB2.Openrecordset("SELECT * FROM Permissoes")
Até aí tudo bem, precisaria usar estas tabelas para criar um novo recordset, como se elas fossem tabelas físicas, tipo...
- Código:
Dim RS as Recordset
Set RS = Docmd.RunSQL("SELECT A.NomePermissao, B.NomePermissao FROM @RSvirtual1 AS A, @RSvirtual2 AS B")
E assim eu teria um terceiro recordset com um Select de 2 recordsets já existentes, mais não fisicamente, virtualmente, depois que extraísse as informações necessárias daria um Close em todos os recordsets esvaziando assim a memória...