2014-11-06 5 views
0

У меня есть таблица Excel с небольшим количеством кода VB, который копирует данные в базу данных доступа. Это копирует данные из одного листа в лист кэша, а затем из листа кэша в db, используя флаг для идентификации новых данных. Это работает нормально, но мы хотели бы добавить тест подключения, чтобы проверить, нормально ли соединение с базой данных ,Excel VB Database connection test

Это код, который я ниже проверки соединения:

Dim cnn As ADODB.Connection 
Dim canConnect As Boolean 
Set cnn = New ADODB.Connection 

cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0; " & _ 
    "Data Source=\\G-FILE1\Common_Files\All Users\Robert T\Cash Sheets\CashSheets.mdb;" 
If cnn.State = adStateOpen Then 
canConnect = True 
cnn.Close 
MsgBox "Connection UP", vbOKOnly 
Else 
cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0; " & _ 
    "Data Source=\\G-FILE1\Common_File\All Users\Robert T\Cash Sheets\CashSheets.mdb;" 
cnn.Close 
If cnn.State = adStateClosed Then 
canConnect = False 
cnn.Close 
MsgBox "Connection DOWN!", vbOKOnly 

End If 
End If 

Так что я хочу сделать это:

Когда кнопка нажата> данные передаются в кэш-лист (рабочий)> Тестовое соединение DB> Если нет, то MsgBox пользователю информируя их> осуществлять кэширование листа

Я не хочу, чтобы появиться окно ошибки, скорее MsgBox и пусть остальная часть кода вести ..

Надежда эта правка немного понятнее ..

С уважением

+0

Не могли бы вы уточнить, что ваша проблема? Это скорее «я получаю эту ошибку, и я не могу понять, почему». – Kat

+0

отредактировал сообщение orignal –

ответ

0

достаточно, если файл доступен:

If Dir(accessFilePath) = "" Then 
    'file not found! 
else 
    'file found! 
end if