mastnak | Optimalizace kodu |
| Ahojte, mam tenhle kod. Slouzi to k procisteni db od dokumentu se stejnym ID. Jedna se o elektronickou distribuci dokumentu. Tak jak to je ted bezi kod dost dlouho. Mate nekdo napad, jak to zefektivnit?
Prvni sloupec v pohledu je kategorizovany podle IDDOC + jmeno
Kod: Dim session As New NotesSession Dim db As NotesDatabase Dim view As NotesView Dim entry As NotesViewEntry Dim entryD As NotesViewEntry Dim nav As NotesViewNavigator Dim doc As NotesDocument Dim key As String Dim vc As NotesViewEntryCollection Set db = session.CurrentDatabase Set view = db.GetView("DIAJ") view.AutoUpdate = False Set nav = view.CreateViewNav Set entry = nav.GetFirst REM Vezme prvni dokument v pohledu a hleda stejny podle klice, pokud najde, smaze vsechny, necha jen nejnovejsi While Not entry Is Nothing key = entry.ColumnValues(0) 'jmeno osoby + ID dokumentu (IDDOC + jmeno) If key = "" Then Else Set vc = view.GetAllEntriesByKey(Cstr(key)) Set entryD = vc.GetLastEntry() Call vc.DeleteEntry(entryD) While Not entryD Is Nothing Call vc.RemoveAll(True) Set entryD=vc.GetNextEntry (entryD) Wend End If Set entry = nav.GetNextCategory(entry) Wend | Miro Uhlar(eD) | Tip... | 16.04.2016 00:53:13
ID: 3648.1
| ... na dohladanie duplicit cisiel pouzivam kod, zalozeny na prinicpe:
1) interneho pohladu, kde je prvy stlpec kategorizovany podla daneho cisla a dalsi je sumarizacia poctu v danej kategorii
2) Script "chodi" po kategoriach a nacitava sumarizaacny stlpec - v pripade, ze tam je sucet 2 ( anie 1), tak vytvorim collection z danej kategorie a urobim so zaznami, co treba (napr. vymazem nadbytocny)
Skratka namiesto hladania v scripte vyuzivam index pohladu. | Palo | To Miro | 31.05.2016 13:42:35
ID: 3648.2
| Poradte Viac. Neviem nacitať sumarizačny stlpcec
|
|