2013-02-15 3 views
1

У меня есть БД доступа с интерфейсами на клиентских машинах и на сервере на сервере.Должны ли ссылки на DAO устанавливаться на каждом клиентском компьютере?

Мне никогда не приходилось использовать ссылки на DAO, но на этот раз мне придется использовать его для работы ConcatRelated. Мне придется развернуть обновленные интерфейсы, но я не уверен, что ссылка, которую я установил на моей машине, будет работать на других машинах.

У меня нет опыта с этим, и я не знаю, нужно ли устанавливать ссылки на каждой машине (многие из них используют разные версии Access: 2003, 2007, 2010), или он получит информацию прямо из интерфейса.

Если это нужно будет установить повсюду, скорее всего, мне придется найти другое решение без DAO.

Спасибо!

+1

Когда вы разворачиваете конец шрифта, у него будет набор ссылок, проблема возникнет, если у пользователя нет библиотеки. Для большинства библиотек вы можете использовать позднюю привязку, но DAO является родной для Access, поэтому, если у пользователя есть Access, у них будет библиотека DAO. В идеале, вы должны разработать в самой низкой версии MS Access, потому что у вас будет восходящая совместимость. – Fionnuala

+0

Случалось, что я использую версию Access 2003 DB, потому что я использую функцию прав пользователя, а библиотека - это библиотека объектов Microsoft DAO 3.6, которая, по моему мнению, очень старая, поэтому выглядит, что все должно быть ОК :) Большое спасибо за Помогите! –

+0

В худшем случае, они могут бесплатно загрузить библиотеку Jet DAO, поэтому вы должны быть в порядке, если никто не использует Access 64 бит. – Fionnuala

ответ

0

Я работаю в среде, где некоторые пользователи на XP, а некоторые на Win7. Некоторые используют Access 2003, некоторые используют Access 2010. При развертывании моих баз данных проблемы с обломами - общая проблема.

Моим обходным путем является объявление объектов с помощью CreateObject вместо ссылок.

Следующий пример - это то, что вы использовали бы, когда у вас есть ADO в ваших ссылках.

Dim rst as new ADODB.Recordset 

Следующий пример, как вы можете использовать ADO Recordset без ссылки:

Dim rst as Object 
Set rst = CreateObject("ADODB.Recordset") 

Это позволяет операционной системе определить правильную библиотеку. Выполнение кода не будет работать с этим методом - так что может быть проще написать свой код, проверить его, а затем сделать трюк CreateObject.