Office System

The Office Developer Blog (by Luiz Cláudio C. V. Rocha - São Paulo, Brazil)

March 2009 - Posts

Excluindo objetos do Access com controle de versão

Dando sequência ao artigo de desenvolvimento Access com controle de versão, segue a dica de uma situação comum: exclusão de objetos do Access com controle de versão.

Se você quiser excluir, por exemplo, um formulário do seu banco de dados Access, é normal que tenha a seguinte dúvida: "devo excluir a partir do Access (da mesma forma que faria em uma aplicação sem controle de versão) ou a partir do Team Explorer (ou SourceSafe)?"

Se fosse um arquivo comum, minha sugestão seria excluir a partir do Team Explorer, pois ele providenciaria automaticamente a exclusão do arquivo local. No caso do Access, porém, em que o formulário é representado por um arquivo no TFS mas na máquina local ele é apenas um objeto dentro do MDB, o Team Explorer não consegue excluí-lo localmente. Assim, o mais prático é excluir o formulário a partir do Access, pois ele identificará que o objeto está com controle de versão e perguntará se você deseja excluir o arquivo correspondente no TFS.

 

Esta pergunta só é feita se nas configurações de Source Control do Access você mantiver o padrão "Ask" para o parâmetro "Remover objetos do controle de versão ao deletá-los do Access", conforme mostra a figura abaixo.

 

Um cuidado importante que você deve ter é fazer o Check-In do objeto antes de excluí-lo, já que o Access (infelizmente) não dá nenhum alerta a este respeito. Se acontecer de você excluir o formulário quando ele estiver com status Check-Out, ele será excluído do Access mas permanecerá no TFS. E pior, ele não permitirá excluir nem fazer Check-In pelo Team Explorer, conforme mostram as figuras abaixo:

 

 

Para conseguir excluir do TFS, é necessário primeiro desfazer as alterações pendentes e só depois disto excluir.

 

Concluindo: faça a exclusão do objeto a partir do Access, mas antes disto assegure-se de ter feito Check-In do objeto.

Access 2007 com controle de versão no TFS

No Access 2003 criei projetos usando controle de versão de objetos usando o Team Foundation Server 2005 (TFS). Isto é possível usando-se o Access 2003 Source Code Control Add-In, disponível aqui: http://www.microsoft.com/downloads/details.aspx?familyid=2ea45ff4-a916-48c5-8f84-44b91fa774bc&displaylang=en

Agora, com Access 2007 e TFS 2008, demorei um pouco a achar a solução. Vi na Internet alguns sites dizendo que a integração Access 2007 x TFS não é possível, apenas Access 2007 e SourceSafe. Isto felizmente não é verdade!

Para desenvolver no Access usando os recursos de controle de versão do TFS (tanto 2005 como 2008), após instalar o Access, o TFS e o Team Explorer (que é o client do TFS), é necessário instalar:

a) O Access Developer Extensions 2007 (ADE): http://www.microsoft.com/downloads/details.aspx?FamilyId=D96A8358-ECE4-4BEE-A844-F81856DCEB67&displaylang=en O add-in de controle de versão agora faz parte deste pacote ADE, não é mais separado. Após instalar o ADE, você notará que há um novo item disponível a partir do botão Office: "Developer". Este novo item tem as opções "Package Wizard", "Save as Template" e "Create from SourceSafe". Foi justamente esta última opção que levou aos mais desavisados a acreditar que Access 2007 não fala com TFS.

b) O Visual Studio Team System 2008 (ou 2005) Team Foundation Server MSSCCI Provider: aqui está o segredo. Como o suporte MSSCCI no TFS não é nativo, é preciso instalar este add-in. Endereços:

- Para TFS 2005: http://www.microsoft.com/downloads/details.aspx?FamilyId=87E1FFBD-A484-4C3A-8776-D560AB1E6198&displaylang=en

- Para TFS 2008: http://www.microsoft.com/downloads/details.aspx?familyid=faeb7636-644e-451a-90d4-7947217da0e7&displaylang=en

Após instalar este add-in, o item "Create from SourceSafe" do Access passa a se chamar "Create from Team Foundation".

 

Agora podemos começar o desenvolvimento.

 

Em outro tópico abordarei os pontos de atenção no uso de ferramentas de controle de versão com o Access.