Avatar billede sbay Nybegynder
03. november 2006 - 10:59 Der er 7 kommentarer og
1 løsning

dynamisk array til sammentælling

Hejsa

Jeg sidder og bakser lidt med et array i Notes. Et eksempel på de data jeg henter fra dokumenter i et view kan være (hver linie = et dokument):

9999 - 6
9999 - 8
9999 - 2
9966 - 3
9966 - 8
osv

Dem vil jeg gerne have adderet inden jeg eksporter dem til Excel, sådan her:
9999 - 16
9966 - 11

Nogle forslag?
Avatar billede jogii Nybegynder
03. november 2006 - 11:06 #1
puha, det kommer da lidt an på hvordan du henter data fra hvorhen ...

@Sum kan passende anvendes på formularer ...
Totaler og kategorier kan bruges i Views og "Copy Selected as Table" til export ...

I Lotusscript kan man bruge en ViewNavigator. Hvis du er heldig kan den nemt vise dig totaler ...

bare nogle forslag ...
Avatar billede jogii Nybegynder
03. november 2006 - 11:06 #2
Hvordan foregår eksporten til Excell?
Avatar billede sbay Nybegynder
03. november 2006 - 11:19 #3
Eksporten gør jeg sådan her:
Set xlApp = CreateObject("Excel.Application")  'start Excel with OLE Automation
xlApp.StatusBar = "Creating WorkSheet. Please be patient..."
xlApp.Visible = True
xlApp.Workbooks.Add
xlApp.ReferenceStyle = 2
Set xlsheet = xlApp.Workbooks(1).Worksheets(1)  'select first worksheet

Umiddelbart prøver jeg sådan noget her, men skal nok på en eller anden vis have lagt det i et array!
Dim vc As NotesViewEntryCollection
    Set db = session.CurrentDatabase
    Set view = db.GetView("(AppLookupTimeSheetsForOperationNo)")
    Set vc = view.AllEntries   
    Set entry = vc.GetFirstEntry()
    Set doc = entry.Document
   
   
    While (Not Doc Is Nothing)
        If ( oprno = Doc.GetItemValue("SalaryOperaNo")(0)) Then
            oprquantity = oprquantity +  Doc.GetItemValue("SalaryQuantity")(0) 
        Else
            oprno = Doc.GetItemValue("SalaryOperaNo")(0)
           
        End If
Avatar billede jogii Nybegynder
03. november 2006 - 12:00 #4
Den slags løkker du har gang i er lidt mere komplekse end som så.
Du skal holde bedre øje med "forrige" oprno og sammenligne.

Men det kan være at en af de punkter jeg nævnte foroven kan hjælpe dig.

Kategoriser dokumenterne på SalaryOperaNo
Tilføj en Totaler på kolonnen der har SalaryQuantity
Nu vil du se en sum i oversigten ved siden af kategorien


prøv nu at oprette en ViewNavigator.
Det burde være muligt at traversere oversigten med denne viewnavigator og hente totalerne ud af kolonnen for hver kategori.
Avatar billede sbay Nybegynder
03. november 2006 - 12:05 #5
Ok, jeg har nu fået det til at virke på en anden måde :-) Nu skal jeg hbare have tilføjet alle min udvalgskriterier!

While (Not Doc Is Nothing)
        If ( oprno = Doc.GetItemValue("SalaryOperaNo")(0)) Then
            oprtext = Doc.GetItemValue("SalaryOperaText")(0)
            oprquantity = oprquantity +  Doc.GetItemValue("SalaryQuantity")(0) 
            Set entry = vc.GetNextEntry(entry)
            Set doc = entry.Document
        Else
            R = R+1
            rows=rows+1
            SB = oprno
            SC=  oprtext
            SD = oprquantity 
            'Print "----------------------------------" & SA
            xlsheet.Range("A" & R ).Value = SA
            xlsheet.Range("B" & R ).Value = SB
            xlsheet.Range("C" & R ).Value = SC
            xlsheet.Range("D" & R ).Value = SD
            xlsheet.Range("E" & R ).Value = SD
            xlsheet.Range("F" & R ).Value = SD
            xlsheet.Range("G" & R ).Value = SD
            xlsheet.Range("H" & R ).Value = SD
           
            oprno = Doc.GetItemValue("SalaryOperaNo")(0)
            Set entry = vc.GetNextEntry(entry)
            Set doc = entry.Document
        End If
    Wend
Avatar billede jogii Nybegynder
03. november 2006 - 12:38 #6
Husk bare den sidste skrivning til Excel.
Så vidt jeg kan se kommer din sidste kategori ikke med over i Excel. Men ellers havde du jo allerede styr på "sidste". Det overså jeg.
Avatar billede sbay Nybegynder
12. januar 2007 - 14:37 #7
Hej smid et svar
Avatar billede jogii Nybegynder
12. januar 2007 - 17:44 #8
kastet...
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