Para quem desenvolve programas é comum, e põe comum nisso, que seja necessário inserir um campo ou alterar o tamanho de campo em uma tabela no banco de dados do cliente. Se você utiliza banco de dados .mdb você pode fazer essa alteração via código utilizando o VBA. Imagine o desconforto se seu cliente está do outro lado do país e fazer acesso remoto é muito complicado porque a Internet do cliente é a vapor. Você precisa enviar apenas o arquivo executável de instalação e ao abrir o sistema automaticamente as alterações do banco de dados são realizadas sem nenhuma dificuldade.
Então vamos às dicas:
Tabela com a data e hora que foi gerada a versão
Para diferenciar as versões do seu sistema você pode criar uma tabela com um campo chamado NumeroVersao tipo Número, um campo chamado DataVersao tipo Data/Hora e um campo chamado Caminho, tipo texto, valor padrão = “C:\temp\”, salvar a tabela com nome de Versao.
Crie um módulo no MS-Access chamado Utilitarios
Crie uma função chamada NovaVersao com o código abaixo
Public Function NovaVersao()
On Error GoTo Fim
'Pergunta se deseja gerar uma nova versão
If MsgBox("Deseja gerar uma nova versão?" _
, vbQuestion + vbYesNo, "Aviso de Sistema") <> vbYes Then
Exit Function
End If
Dim db As DAO.Database
Set db = CurrentDb()
Dim rs As DAO.Recordset
Set rs = db.OpenRecordset("Versao") 'tabela versao
If Not rs.EOF Then
'se encontrado
rs.Edit
rs.Fields("NumeroVersao") = rs.Fields("NumeroVersao") + 1
rs.Fields("DataVersao") = Date
rs.Update
Else 'se nada existir cria uma linha com o número de versão
rs.AddNew
rs.Fields("NumeroVersao") = 1000 'inicia com a versao 1.00.0
rs.Fields("DataVersao") = Date
rs.Update
End If
Dim sVersao As String
sVersao = rs.Fields("NumeroVersao")
sVersao = sVersao & " de " & rs.Fields("DataVersao")
MsgBox "A Versao " & sVersao & " foi criada com sucesso.", vbInformation, "Aviso de Sistema"
rs.Close
db.Close
Exit Function
Fim:
MsgBox Err.Number & " " & Err.Description
Exit Function
End Function
Crie uma macro chamada Autokeys. Esta macro habilita o uso de teclas de atalho no MS-Access.
Crie uma macro que é chamada pressionando-se os botões Ctrl + 0 conforme a imagem abaixo:
Ao pressionar Ctrl 0 irá aparecer as seguinte pergunta:
Se responder sim irá aparecer a seguinte tela:
Mantenha anotações do que foi feito em cada nova versão. A cada nova versão faça uma cópia de segurança do arquivo que você está desenvolvendo.
Vendas1012.mdb, Vendas1013.mdb, Vendas1014.mdb, etc.
Após gerar a nova versão converta o arquivo em mde, gere o arquivo de instalação e envie ao cliente.
Arquivo XML para copiar para o cliente quando instalar o sistema pela primeira vez
No mesmo diretório onde ficará o sistema copie o arquivo caminho.xml para mostrar o caminho onde ficará o banco de dados, a versão do sistema e a data da versão.
Abra o módulo Utilitários e insira uma nova função chamada VersaoXML()
Public Function VersaoXML()
On Error GoTo Fim
'Diretorio atual
Dim sDir As String
sDir = CurrentProject.Path
sDir = sDir & "\"
'------------------------------------------------
'Variáveis
Dim sArq As String
Dim sTab As String
sTab = "Versao" 'tabela versao
sArq = "Caminho" 'nome do arquivo em xml
'------------------------------------------------
'Exporta arquivo xml para o diretório corrente
Application.ExportXML _
ObjectType:=acExportTable, _
DataSource:=sTab, _
DataTarget:=sDir & sArq & ".xml", _
SchemaTarget:=sDir & sArq & "Schema.xml"
'------------------------------------------------
Exit Function
Fim:
MsgBox Err.Number & " " & Err.Description
Exit Function
End Function
Atribua à função uma tecla de atalho, Ctrl 9, por exemplo
Ao pressionar Ctrl 9 serão gerados dois arquivos no diretório corrente do projeto. Um arquivo XML e outro arquivo de Schemma que contém as formatações dos campos. Não se importe por enquanto com o segundo arquivo. Quando for instalar um programa em um cliente lembre-se de copiar esses dois arquivos para o mesmo diretório do programa em Access que você está desenvolvendo. Veja o conteúdo dos arquivos abertos em bloco de notas:
Parte 2
Parte 3
Nenhum comentário:
Postar um comentário