СРочно нужна помошь!

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

Abbi

#1
Не могу найти ошибку. Проверка на происходит.


[codebox]Function check_kod(a As Variant) As Variant
Dim ses As New Notessession
Dim view As NotesView
Dim docum As NotesDocument
Dim result As String
Dim arr (0 To 1) As String

Dim spravdb As New NotesDatabase("","")

sServer=ses.GetEnvironmentString("SpravInfServer")
sDb = "testOTiTB.nsf"

If Not spravdb.OpenWithFailover(sServer,sDb) Then
Msgbox "База данных ""Тестирование"" не найден.", 16,"Ошибка..."

End If

Set view = spravdb.GetView("(testir)")

result = Inputbox ("Введите код для прохождения тестирования","Тестирование","")
arr(0) = result
arr(1) = a(0)

Set docum=view.GetDocumentByKey(arr) !!!!! НЕ ПРИСВАИВАЕТ DOCUM !!!

If Not(docum Is Nothing) Then
check_kod =True
End If

End Function[/codebox]
 

morpheus

скриптописец
07.08.2006
3 915
1
#2
в какой строке ошибка

з.ы. в след. раз более понятно называйте тему
 

Medevic

Что это ? :)
Lotus team
10.12.2004
3 346
1
#3
Значит не может найти документ по такому ключу, или колонки не отсортированы.
 
A

Abbi

#5
Значит не может найти документ по такому ключу, или колонки не отсортированы.
документ существует и колонки отсортированные


Цитата(Abbi @ 15:04:2009 - 11:49) *
arr(0) = result
arr(1) = a(0)


зачем 2 ключика одинаковых всегда?

они не одинаковые


Set docum=view.GetDocumentByKey(arr)

у меня docum почему то пустой.
 

alb

Well-known member
13.07.2005
212
0
#6
GetDocumentByKey(arr)
я думал принимает в качестве аргумента только строковый тип, нужно уточнить в хелпе
а тут массив
может так пойдет GetDocumentByKey(arr(0)) или GetDocumentByKey(result) или GetDocumentByKey(Cstr(result))
 

alb

Well-known member
13.07.2005
212
0
#8
еще стоить проверить тип столбца на вьюхе
и в запросе использовать такой тип
 

Omh

Lotus team
04.07.2007
2 210
1
#11
Резюмируем :ph34r:
1. Нет документа с такими данными в столбцах
2. Столбцы не отсортированы
3. Столбцы отображают не string

Если так уверен в первых 2-х вариантах, то остаёются третий.
Ну и судя по тому, что ищется нечто суровое, можно вторым параметром к GetDocumentByKey сдеать true.
 

Omh

Lotus team
04.07.2007
2 210
1
#17
Замечание Medevic как раз к тому, что надо нормально переменные называть.
Мне тоже показалось, что одной и той же фигней оба элемента аррая заполняются.
 
A
#18
И еще аналогичная ситуация только что заметил это другая функция похожая.
Если данные вводит Администратор то все нормально отрабатывает а если данные вводит пользователь то аналогичная ситуация

Set docum=view.GetDocumentByKey(arr)
так же не работает


[codebox]Function check_sotr(a,b As Variant) As Variant
Dim ses As New Notessession
Dim ws As New NotesUIWorkspace
Dim db As NotesDatabase
Dim view As NotesView
Dim docum As NotesDocument
Dim doc As NotesDocument
Set doc=ws.CurrentDocument.Document
Set db=ses.CurrentDatabase
Set view = db.GetView("(sotr)")
Dim arr(0 To 1) As String

arr(0) = a(0)
arr(1) = b(0)

Set docum=view.GetDocumentByKey(arr)

If Not(docum Is Nothing) Then
check_sotr =True
End If

End Function[/codebox]