Pomogite Najti Oshibku V Formule...

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

Olga23

Гость
#1
:) 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

Гость
#2
<!--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

Гость
#4
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

Гость
#5
<!--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

Гость
#6
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...
 

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

Olga23

Гость
#8
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...
 

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

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

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

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