Na empresa que trabalho alguns computadores tem duas versões do Access instaladas, a 2007 e a 2010, existem versões de RunTime e versões Full, estou tendo problemas com alguns bancos que quando são modificados através do 2010, não abrem mais no 2007, porém nem todas as máquinas tem a versão do 2010.
Por isso estou trabalhando em um código que verifique se a máquina tem a versão Full do Access e permitir que os bancos sejam abertos apenas com a versão 2007.
Consegui fazer isso normalmente com o código abaixo, porém quando o caminho do arquivo contém espaços ele não consegue abrir o banco.
O meu problema é fazer com que o Access consiga ler os espaços no caminho do arquivo, se o arquivo estiver na pasta "D:\teste\Banco.accdb" funciona normalmente, porém se estiver na pasta "D:\tes te\Banco.accdb não funciona, apresenta a seguinte mensagem: "O Microsoft Access não pode localizar o arquivo de banco de dados 'D:\tes.mdb'. Verifique se o caminho e o nome do arquivo foram inseridos.
Por isso estou trabalhando em um código que verifique se a máquina tem a versão Full do Access e permitir que os bancos sejam abertos apenas com a versão 2007.
Consegui fazer isso normalmente com o código abaixo, porém quando o caminho do arquivo contém espaços ele não consegue abrir o banco.
O meu problema é fazer com que o Access consiga ler os espaços no caminho do arquivo, se o arquivo estiver na pasta "D:\teste\Banco.accdb" funciona normalmente, porém se estiver na pasta "D:\tes te\Banco.accdb não funciona, apresenta a seguinte mensagem: "O Microsoft Access não pode localizar o arquivo de banco de dados 'D:\tes.mdb'. Verifique se o caminho e o nome do arquivo foram inseridos.
- Código:
Option Compare Database
Option Explicit
Dim Versao As String
Dim Caminho As String
Dim Access2007 As String
Private Sub Form_Load()
Versao = Application.Version
Caminho = Application.CurrentProject.FullName
Access2007 = "C:\Program Files (x86)\Microsoft Office\Office12\MSACCESS.EXE"
'Verificar se é RunTime
If SysCmd(acSysCmdRuntime) = False Then
'Verificar versao do Access
If Versao = 140 Then
MsgBox "O banco será fechado agora e reaberto na versão do Access 2007!", vbInformation, "Versão do Access"
Call Shell(Access2007 & " " & Caminho, 1)
DoCmd.Quit acExit
End If
End If
End Sub