Notessession.getdatabase

  • Автор темы Автор темы dimat
  • Дата начала Дата начала

dimat

Well-known member
31.07.2008
508
0
Код:
Dim ns as new NotesSession
Dim ws as new NotesUIWorkSpace
Dim dbs as Variant
Dim dbd as NotesDatabase
Dim dbcur as NotesDatabase
Dim dcur as NotesUIDocument

Set dbcur=ns.CurrentDatabase
Set dcur=ws.CurrentDocument

dbs=dcur.FieldGetText("Dbs")
dbs=Split(dbs,",")
For i=0 To Ubound(dbs)
Set dbd=ns.GetDatabase(dbcur.Server,Cstr(dbs(i)),False)
Call dcur.FieldAppendText("log",dbd.Title+Chr(13)+Chr(10))
Next

dbd=Nothing всегда

В чем может быть проблема?
 
а может Cstr(dbs(i)) - пусто?
ил может неправильно указан путь?
Use a full path name if the database is not within the Notes data directory.

что в дэбагере?
 
а может Cstr(dbs(i)) - пусто?
Не пусто
ил может неправильно указан путь?
Путь указан верно. проверял
Ошибка "Object Variable not set"
В этой строчке
Код:
Call dcur.FieldAppendText("log",dbd.Title+Chr(13)+Chr(10))
Переменная dbd пустая
мож, тримать путь надо?
Не помагает

Добавлено:
Слэшей нет вобще
 
Не видно, где dbs присваивается значение.
 
базы все на одном и том же сервере?
Есть у тебя к базам доступ?
 
msgbox dcur.FieldGetText("Dbs")
если пусто, попробуйте
msgbox dcur.Document.Dbs(0)
попробуйте, что выдаст?
 
базы все на одном и том же сервере?
Есть у тебя к базам доступ?
Базы все на одном сервере, доступ-полный

Добавлено:
msgbox dcur.FieldGetText("Dbs")
попробуйте, что выдаст?
Поле Dialog list
имена файлов баз данных <имя файла>.nsf
 
сделай вместо
Код:
dbs=dcur.FieldGetText("Dbs")
dbs=Split(dbs,",")
так
Код:
dbs=dcur.Document.GetItemValue("Dbs")
 
Если агент выполняется на сервере. Тогда параметр "сервер" должен быть пустой строкой

Set dbd=ns.GetDatabase("",Cstr(dbs(i)),False)
 
Use a full path name if the database is not within the Notes data directory.

что в дэбагере?
dimat, тут имелось в виду, что есть результатом выражения Cstr(dbs(i)).
Можешь в цикле сделать месадж Msgbox "{" & Cstr(dbs(i)) & "}"
Я думаю, там есть пробелы лишние
 
я тут смотрю и пытаюсь понять, а чего ты базу от сессии берешь? :)
 
я тут смотрю и пытаюсь понять, а чего ты базу от сессии берешь?
А чего ты на машине ездишь, а не на автобусе?

Лучше "должен", иначе дополнительные условия появляются. Такие как необходимо серверу иметь коннекшен "на себя".
Хм, не знал. Надо как-нить проверить
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab