Avatar billede avest Nybegynder
15. oktober 2002 - 09:52 Der er 5 kommentarer

RemoveAllFromFolder -> Notes Error

I en database er der en formular som benyttes til at lave en søgning efter dokumenter. Resultatet placeres i en PrivateOnFirstUse mappe.
Men inden dette vil jeg gerne tømme denne mappe for sidste resultat.

... søgestreng oprettes ud fra formularen ...
Set dc = db.AllDocuments
Call dc.removeAllFromFolder("SoegResultat") ' FEJL!
Set dc = db.Search(searchFormula$,dateTime,0)
... alle dokumenter placeres i folderen ...
... doc.PutInFOlder("SoegResultat")


Alt virker som det skal undtaget RemoveFromFolder som stopper koden og giver meddelelsen

"Notes error: Alle relaterede svardokumenter fjernes fra denne mappe sammmen med de overordnede dokumenter (SoegResultat)"

Databasen har ikke nogen svardokumenter.

Hvad er der mon galt her?
Avatar billede c_random Nybegynder
15. oktober 2002 - 10:25 #1
Er "db" en Notesdatabase variabel?
I så fald sætter du din dc til at indeholde samtlige dokumenter i databasen .... det er kun dem i folderen du vil fjerne !
set sview=db.GetView("SoegResultat")
set dc=sview.allentries
call dc.removeallfromfolder("SoegResultat")
Avatar billede avest Nybegynder
15. oktober 2002 - 10:39 #2
Jo, db er databasen.
AllEntries duer ikke. Det skal virke på en 4.6 klient.
Der er ikke så mange dokumenter i databasen så det gør ikke så meget at det er alle dokumenter.

Fra hjælpen:
"The method does nothing for documents not in the folder you specify. This method does nothing if the folder you specify does not exist."
Avatar billede c_random Nybegynder
15. oktober 2002 - 11:00 #3
Aahh... version 4.6 ! Ja, det er for længe siden til at jeg tør gøre mig klog på det ;-)

Jeg har prøvet din kode i version 5, og jeg får en fejlmeddelelse om at jeg ikke kan fjerne svardokumenter uden hoveddokumenterne, eller noget i den retning, er det den samme fejl du får i 4.6?

Kan du evt. lave en skjult sorteret kolonne som nr. 1 i din "SoegResultat"-folder - sætte et "1"-tal eller lignende fast værdi for hvert dokument, og hente din documentcollection via sview.getalldocumentsbykey("1")?

Det er ikke kønt - jeg ved det :-)
Avatar billede avest Nybegynder
15. oktober 2002 - 11:15 #4
Eneste man kan med view er doc = GetDocumentByKey(key) ikke noget med at hente flere dokumenter åp en gang. Forsøger mig med at løbe dem alle sammen igennem en efter en.
Avatar billede avest Nybegynder
15. oktober 2002 - 11:21 #5
LØSNING:

    Set doc = view.GetFirstDocument
    While Not ( doc Is Nothing )
        doc.RemoveFromFolder("SoegResultat")
        Set doc = view.GetFirstDocument
    Wend

Jeg ved dog stadig ikke hvad problemet var med den oprindelige løsning.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester