2009-06-17 10 views
0

Я заинтересован в настройке базы данных доступа для автоматического запуска отчета. Чтобы сберечь себя от необходимости переходить на каждый клиентский компьютер и настраивать соответствующие DSN, я хотел бы настроить соединения ODBC в самом скрипте VB, если это возможно.Как подключиться к Lotus через ODBC с помощью VBA?

Я googled и проверил этот сайт и нашел хороший код стартера, но недостаточно, чтобы все сообщения об ошибках исчезли. Может ли кто-нибудь заполнить код ниже?

Sub SetupODBC(Str_Server as string, Str_Db as string) 
'Str_Server=Name of Server 
'Str_db=Name of Database 
Dim C as ADODB.Connection 
Set C = new ADODB.Connection 
C.ConnectionString = ?? 
C.Open 
Debug.print C.State 
Exit Sub 
+0

Вы пытаетесь подключиться из Access to Lotus Notes или Lotus Notes to Access? Если это первый, какой тип отчета вы генерируете? Возможно, вы можете сделать это прямо в заметках с помощью планируемого агента. – Carlos

ответ

1

Добро пожаловать на борт. ConnectionStrings действительно ваш друг, но проблема, с которой вы сталкиваетесь, заключается в том, что у вас нет драйвера :) Lotus Notes не является реляционной базой данных, это document oriented database. Исторически не было способа получить доступ к нему, так как это реляционная база данных по этой причине. Однако IBM в конце концов собралась написать своего рода переводчик в форме NotesSQL. Если вы следуете ссылке и получите драйвер, вы сможете использовать ODBC. Стоит отметить, что Notes предоставляет себя COM. Так что, если толчок приходит в себя, вы можете автоматизировать клиента.

+0

Спасибо, что объяснили это более подробно. – PowerUser

+0

Были ли у вас все в порядке после того, как вы вывели драйвер? – Oorang

+0

Да, это сработало. Однако, поскольку мне все равно пришлось установить драйвер на всех клиентских машинах, я просто сделал DSN вручную, пока я был там. Спасибо за помощь. – PowerUser

1

Этот сайт является вашим другом: http://www.connectionstrings.com/access

я не следовал ваш вопрос правильно сначала. Я вижу, что вы хотите создать ссылку из Access to Lotus для представления данных Lotus Notes. Ну, есть несколько способов сделать это.

Часто использую метод отображения данных Lotus Notes как XML, а затем доступ к этому XML из удаленной системы. Вы можете легко создать страницу Notes с помощью тега начала XML, корневого элемента, а затем вставить встроенный вид между корневым элементом. Это встроенное представление затем должно отображаться как HTML и содержать столбцы, которые разрешают xml-теги. Например, каждая строка представления будет выглядеть примерно так:

<Person><FirstName>Ken</FirstName><LastName>Pespisa</LastName></Person> 

и ваши формулы колонок будут:

"<Person><FirstName>" + FirstName + "</FirstName>" 

для первого столбца, и для последнего столбца имя было бы это:

"<LastName> + LastName + </LastName></Person>" 

Обратите внимание, что это предполагает, что сервер Notes имеет службу HTTP включен, и вы можете добраться до базы данных через браузер.

Однако, как упоминалось в других ответах, вы можете использовать другие методы, такие как NotesSQL и COM. Похоже, вы размещаете это решение на многих рабочих станциях, и NotesSQL потребует установки драйвера на каждой рабочей станции. Метод COM будет работать, не требуя дополнительной работы на столах пользователей, поэтому я бы одобрил это решение в этом случае.

0

Похож на отличный сайт для моих нужд, даже если он не обновлялся через год. Но сигары все еще нет. Теперь, я получаю «Имя источника данных не найден и драйвер по умолчанию не указано»

(Очевидно, ServerNameGoesHere и DatabaseNameGoesHere являются subsitutions)

Sub dbX() 
    Dim C As adodb.Connection 
    Set C = New adodb.Connection 
    C.Open _ 
     "Driver={Lotus NotesSQL 3.01 (32-bit) ODBC DRIVER (*.nsf)};" & _ 
     " Server=ServerNameGoesHere;" & _ 
     " Database=DatabaseNameGoesHere.nsf;" 
    C.Close 
End Sub 
+0

Какой тип отчета вы пытаетесь создать? Это может быть проще создать непосредственно в Lotus Notes. – Carlos

+0

Спасибо, но у меня нет разрешений для средств разработки в Lotus. Я просто пытаюсь создать и сохранить файл Excel, что я делал много раз с VBA. Тем не менее, это первый раз, когда я пытаюсь подключиться к DSN-less. – PowerUser

Смежные вопросы