Pomogite Najti Oshibku V Formule...

Тема в разделе "Lotus - Программирование", создана пользователем Olga23, 8 фев 2006.

Статус темы:
Закрыта.
  1. Olga23

    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
     
  2. Domino6

    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]

    Код (Text):
    searchFormula$ = {Form != "Company" & CpyDocID_T = "}+ doc.universalid+{"}
     
  3. Olga23

    Olga23 Гость

    spasibo ogromnoe:)
     
  4. Olga23

    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?
     
  5. Domino6

    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]

    Код (Text):
    buf=doc.VerbandsG
    doc1.VerbandsG = buf
    или методом CopyItem от NotesDocument
     
  6. Olga23

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

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

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

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

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

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

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

    Olga23 Гость

    :) oj spasibo bolshoe Vam vsem!!!Prosto spasli menya:)Udachnogo dnya ;)
     
Статус темы:
Закрыта.

Поделиться этой страницей