Boa tarde companheiros!
Gostaria de esclarecer uma dúvida que tenho a algum tempo:
Quando preciso me referir a algum recordset em um banco desvinculado, custumo usar o seguinte:
Set rs = DBEngine.Workspaces(0).OpenDatabase(CaminhoDobanco+Banco, False, False, "MS Access;PWD="1234").OpenRecordset(Tabela1)
Atualiza, adiciono, excluo...
'Fecho o banco e saio imediatamente do rs...
rs.Close
Set rs = Nothing
Ok, sem problema algum!
Minha dúvida está no seguinte:
Caso em uma função, eu precise fazer alterações em registros de tabelas diferentes, posso fazer como abaixo?
Set rs = DBEngine.Workspaces(0).OpenDatabase(CaminhoDobanco+Banco, False, False, "MS Access;PWD="1234").OpenRecordset(Tabela1)
Atualiza, adiciono, excluo...
Set rs = DBEngine.Workspaces(0).OpenDatabase(CaminhoDobanco+Banco, False, False, "MS Access;PWD="1234").OpenRecordset(Tabela2)
Atualiza, adiciono, excluo...
Set rs = DBEngine.Workspaces(0).OpenDatabase(CaminhoDobanco+Banco, False, False, "MS Access;PWD="1234").OpenRecordset(Tabela3)
Atualiza, adiciono, excluo...
'Observe que somente após fazer todas as operações nas diferentes tabelas acima é que eu saí do RecordSet e fechei o banco
rs.Close
Set rs = Nothing
Então, amigos. posso fazer assim?
Minha dúvida é porque eu não costumo abrir o banco separado do recordset e sim já junto (como poderam cer acima). Sendo assim, não preciso sair do banco e depois do rs. Pois dessa forma, saio de uma só vez tanto do banco como do rs.
Em testes, pensei que o RecordSet uma vez setado para uma tabela/Query e após sem fechá-lo, setar para outra tabela/Query, daria algum erro. Mas não deu, funciona certinho...
Mas tenho medo dessa maneira causar algum problema futuro com o banco, como o corrompimento...
Grato pelos esclarecimentos.
Gostaria de esclarecer uma dúvida que tenho a algum tempo:
Quando preciso me referir a algum recordset em um banco desvinculado, custumo usar o seguinte:
Set rs = DBEngine.Workspaces(0).OpenDatabase(CaminhoDobanco+Banco, False, False, "MS Access;PWD="1234").OpenRecordset(Tabela1)
Atualiza, adiciono, excluo...
'Fecho o banco e saio imediatamente do rs...
rs.Close
Set rs = Nothing
Ok, sem problema algum!
Minha dúvida está no seguinte:
Caso em uma função, eu precise fazer alterações em registros de tabelas diferentes, posso fazer como abaixo?
Set rs = DBEngine.Workspaces(0).OpenDatabase(CaminhoDobanco+Banco, False, False, "MS Access;PWD="1234").OpenRecordset(Tabela1)
Atualiza, adiciono, excluo...
Set rs = DBEngine.Workspaces(0).OpenDatabase(CaminhoDobanco+Banco, False, False, "MS Access;PWD="1234").OpenRecordset(Tabela2)
Atualiza, adiciono, excluo...
Set rs = DBEngine.Workspaces(0).OpenDatabase(CaminhoDobanco+Banco, False, False, "MS Access;PWD="1234").OpenRecordset(Tabela3)
Atualiza, adiciono, excluo...
'Observe que somente após fazer todas as operações nas diferentes tabelas acima é que eu saí do RecordSet e fechei o banco
rs.Close
Set rs = Nothing
Então, amigos. posso fazer assim?
Minha dúvida é porque eu não costumo abrir o banco separado do recordset e sim já junto (como poderam cer acima). Sendo assim, não preciso sair do banco e depois do rs. Pois dessa forma, saio de uma só vez tanto do banco como do rs.
Em testes, pensei que o RecordSet uma vez setado para uma tabela/Query e após sem fechá-lo, setar para outra tabela/Query, daria algum erro. Mas não deu, funciona certinho...
Mas tenho medo dessa maneira causar algum problema futuro com o banco, como o corrompimento...
Grato pelos esclarecimentos.