Jag har ett stort antal order i en access databas. Jag vill skriva ut en rapport på dessa. I tabellen finns en kolumn: Antal. Jag vill kunna skriva ut så många orderrader från tabellen i min rapport till det sammanlagda värdet på Antal är = 300. Alltså Sum(Antal)=300 Eftersom Access i alla fall är filbaserad så skulle jag öppna en cursor och loopa igenom raderna till villkoret uppfylls. 1. Lägg till fältet du vill summera, Antal i ditt fall, som en textbox(i exemplet nedan kallad AccAntal).Begränsa antalet rader från en tabell till en rapport
Går det på något sätt att filtrera så här? Har försökt men hittar inget nånstans.Sv: Begränsa antalet rader från en tabell till en rapport
Om du använder Access som databas till en .Net applikation är det en DataReader du ska öppna i så fall.
Om du gör hela applikationen i Access tror jag du måste göra det i två steg genom att först loopa igenom raderna för att ta reda på högsta ID som ska vara med i rapporten.
/johan/Sv: Begränsa antalet rader från en tabell till en rapport
2. Sätt "Löpande summering"/"Running sum" till sant/true
3. Dölj den om du vill genom att sätta den visible till false
4. Lägg till följande kodsnutt i detaljens format event:
Private Sub Detail_Format(Cancel As Integer, FormatCount As Integer)
PrintSection = (AccAntal.Value <= 300)
End Sub
Om du har:
Antal:
25
50
100
200
400
Kommer bara:
25
50
100
Att synas, eftersom 200 får summan att överstiga 300.