• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

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

    Запись на курс до 25 апреля. Получить промодоступ ...

Pomogite Najti Oshibku V Formule...

  • Автор темы Olga23
  • Дата начала
Статус
Закрыто для дальнейших ответов.
O

Olga23

:) Gragdane, pomogite pogalujsta najti oshibku v formule:
searchFormula$ = {Form != "Company" & CpyDocID_T = "" + cstr(doc.universalid)}


Eta stroka vzyata iz etogo koda:
Sub Initialize
Dim collection As NotesDocumentCollection
Dim db As NotesDatabase
Dim doc As NotesDocument
Dim doc1 As NotesDocument
Dim view As NotesView
Dim session As New NotesSession


Set db = session.CurrentDatabase
Set view = db.GetView( "AllByName" )
Set doc = view.GetFirstDocument
While Not ( doc Is Nothing )


searchFormula$ = {Form != "Company" & CpyDocID_T = "" + cstr(doc.universalid)}

Set collection = db.Search(searchFormula$, Nothing,0)
Set doc1 = collection.GetFirstDocument()


While Not(doc Is Nothing)
doc1.VerbandsG = doc.VerbandsG
Call doc1.Save( True, False )
Set doc1 = collection.GetNextDocument(doc1)
Wend
Messagebox collection.Count, , "Child documents found"


Set doc = view.GetNextDocument( doc )
Wend

End Sub

Vsem premnogo blagodarna
 
D

Domino6

<!--QuoteBegin-Olga23+8:02:2006, 17:49 -->
<span class="vbquote">(Olga23 @ 8:02:2006, 17:49 )</span><!--QuoteEBegin-->searchFormula$ = {Form != "Company" & CpyDocID_T = "" + cstr(doc.universalid)}
[snapback]30330" rel="nofollow" target="_blank[/snapback]​
[/quote]

Код:
searchFormula$ = {Form != "Company" & CpyDocID_T = "}+ doc.universalid+{"}
 
O

Olga23

Sechas vot po tomu ge kodu, hotela sprosit pochemu na shage doc1.VerbandsG = doc.VerbandsG poyavlyaetsya oshibka object variable not set.....Eto ved dolgno proishodit,esli object ne opredelen...No doc1 opredelen zdes:
Set doc1 = collection.GetFirstDocument()

Ili moget bit prichina gde-to eshe?
 
D

Domino6

<!--QuoteBegin-Olga23+8:02:2006, 17:49 -->
<span class="vbquote">(Olga23 @ 8:02:2006, 17:49 )</span><!--QuoteEBegin-->doc1.VerbandsG = doc.VerbandsG
[snapback]30330" rel="nofollow" target="_blank[/snapback]​
[/quote]

Код:
buf=doc.VerbandsG
doc1.VerbandsG = buf
или методом CopyItem от NotesDocument
 
O

Olga23

seychas v debuggere buf = doc.VerbandsG prohodit i ono prinimaet znachenie polya VerbandsG. A na sledujuschem shage doc1.VerbandsG= buf, ta ge oshobka object variable not set..Doc1-pusoj...
 
G

Guest

Для: Olga23
Я писала тебе в теме про связь полей, что у тебя ошибка во второй строке
While Not(doc Is Nothing)
Надо:
While Not(doc1 Is Nothing)
Видимо, просто документов не находится ни одного по заданной тобой формуле.
 
O

Olga23

ops, spasibo,ya kak raz imela v vidu doc1, a napisala doc:)Bivaet...Seychas vse rabotaet...Kod viglyadit tak:
Sub Initialize
Dim collection As NotesDocumentCollection
Dim db As NotesDatabase
Dim doc As NotesDocument
Dim doc1 As NotesDocument
Dim view As NotesView
Dim session As New NotesSession
Dim intCount As Integer


Set db = session.CurrentDatabase
Set view = db.GetView( "CompanyByName" )
Set doc = view.GetFirstDocument

intCount=0

While Not ( doc Is Nothing )

searchFormula$ = {Form != "Company" & CpyDocID_T = "}+ doc.universalid+{"}

Set collection = db.Search(searchFormula$, Nothing,0)
Set doc1 = collection.GetFirstDocument()
intCount=intCount+1
Print intCount

While Not(doc1 Is Nothing)
'doc1.VerbandsG = doc.VerbandsG
buf=doc.VerbandsG
doc1.VerbandsG = buf
Call doc1.Save( True, False )
Set doc1 = collection.GetNextDocument(doc1)
Wend
'Messagebox collection.Count, , "Child documents found"


Set doc = view.GetNextDocument( doc )
Wend

End Sub

Proshlas debuggerom,posmotrela,vse pravilno...View "CompanyByName" postroila iz odnih roditelskih dokumentov...Eto mne moj kollega pomog...A vot prostite za glupij vopros, no vse taki obyasnite pogalujsta, kak tak proishodit, chto mi rabotaem s View, gde tolko dokumenti roditeli, a potom v kollekzii poluchaem dokumenti deti...Ya imeyu vvidu otkuda oni berutsya, ili mi prosto po samoj baze dannih idem i ischem eti dokumenti po usloviju search formuli,a etot View "CompanyByName" nugen tolko dlya oblegchenija zadachi?

P.S.:pogalujsta ne rugaytes, esli vopros glupij, no mne prosto ne u kogo tut sprosit...
 
G

Guest

Если судить по коду, то мы идем по всем документам вида (родительским).
А дочерние ищем Search, тоесть по всей базе данных.

Получается так у тебя есть вид:

родительский док 1
родительский док 2
...
родительский док n

ты берешь первый и Search находишь для него 5 подчиненных. Все там меняешь, потом идешь ко второму родительскому и т.д.
 
O

Olga23

:) oj spasibo bolshoe Vam vsem!!!Prosto spasli menya:)Udachnogo dnya ;)
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!