Да, это будет хорошо.У нас много клиентов, подключенных таким образом.
Однако это не простая задача.Не уверен, что все необходимые усилия окупятся.
А у вас возникли некоторые проблемы с техническим обслуживанием и развертыванием.
Выполните следующие шаги:
1) Перенос ваших таблиц в SQLServer
2) Создание источника данных ODBC, который будетиспользоваться для подключения к вашей серверной базе данных
3) Соедините ваши таблицы
4) Переименуйте ваши связанные таблицы, чтобы удалить квалификатор схемы (например, "dbo_"), такВаши связанные таблицы имеют то же имя, что и раньше.
Теперь пришло время протестировать весь ваш код.
Надеюсь, вам не придется ничего переписывать.
Реальные проблемы лежат на клиентских ПК, где вам нужно создать источник данных ODBC, которыйсоответствует вашей оригинальной.Кроме того, если вы распространяете свою базу данных переднего плана, возможно, вам придется заново подключить все таблицы с клиентских компьютеров.Вам нужно вызвать такую функцию:
Public Function UpdateODBCTables() As Boolean
On Error GoTo Exit_On_Error
Dim dbs As DAO.Database
Dim tdf As DAO.TableDef
Dim sDSN As String
Dim sDB As String
Dim sComputer As String
Dim sDesc As String
Dim sApp As String
Dim strConnect As String
sDSN = "YOUR_DSN_NAME"
sDB = "YOUR_DATABASE_NAME"
sComputer = "YOUR_COMPUTER_NAME"
sApp = "YOUR_APP_NAME"
sDesc = "DESCRIPTION_OF_YOUR_APP"
strConnect = "ODBC;DSN=" & sDSN & ";" & _
"DATABASE=" & sDB & ";" & _
"WSID=" & sComputer & ";" & _
"TrustedConnection=Yes;" & _
"Description=" & sDesc & ";" & _
"APP=" & sApp ";"
Set dbs = CurrentDb
' Loop over tabledefs of ODBC type and reconnect
For Each tdf In dbs.TableDefs
If tdf.Connect <> "" And Left(tdf.Connect, 4) = "ODBC" And Left(tdf.Name, 1) <> "~" Then
tdf.Connect = strConnect
tdf.RefreshLink
End If
Next
dbs.TableDefs.Refresh
UpdateODBCTables = True
Exit_On_Return:
Set dbs = Nothing
Exit Function
Exit_On_Error:
MsgBox Err.Description, vbCritical, "YOUR_MESSAGE_TITLE"
Resume Exit_On_Return
End Function