Luís Antunes 15/4/2016, 14:19
J paulo Como não consegui, com a sua dica, aqui vai o código
Grato pela ajuda
Luís Antunes
Function ChecaVinculo(strNomesTab As String) As Boolean
' Autor: João Rodrigues
' E-mail: accessjr@bol.com.br
' Data: Maio/99
' Função que checa o vínculo da tabela strNomesTab.
' Retorna True ou False, dependendo do vínculo
' estar correto, ou não.
On Error GoTo ChecaVinculo_Err
Dim db As Database, fld As Field, prp As Property
Set db = DBEngine(0)(0)
ChecaVinculo = False 'Inicializa a função.
'Tenta obter um campo da tabela vinculada strNomesTab.
'Se der erro, é preciso revincular as tabelas.
Set fld = db.TableDefs(strNomesTab).Fields(0) Código que dá erro
'Se chegou aqui é porque o vínculo é válido.
ChecaVinculo = True
ChecaVinculo_Sai:
Set db = Nothing 'libera memória.
Set fld = Nothing: Set prp = Nothing
Exit Function
Tenta_Vincular:
MsgBox "Não foi possível abrir o arquivo" & vbCrLf _
& "que contém as tabelas com os dados." _
& vbCrLf & vbCrLf _
& "Por favor, selecione um arquivo com os dados.", _
vbInformation, "Informação"
' Abre o form frmMudaBackEnd, para que o usuário
' selecione o MDB contendo as tabelas com os dados
' na caixa de diálogo padrão "Abrir Arquivo" do Windows.
DoCmd.OpenForm "frmMudaBackEnd", windowmode:=acDialog, _
OpenArgs:=True
'O frmMudaBackEnd irá definir o valor de fSucesso.
ChecaVinculo = fSucesso
GoTo ChecaVinculo_Sai
ChecaVinculo_Err:
Select Case Err.Number
Case 3024, 3043, 3044, 3265
'Não é um caminho válido, ou arq não encontrado.
GoTo Tenta_Vincular
Case Else
Call InformaErro
End Select
Resume ChecaVinculo_Sai
End Function