21. august 2003 - 12:37Der er
29 kommentarer og 3 løsninger
optælling af emner på en subform
jeg har en form med en subform på. Denne form har en række elementer der skal tælles op. Subformen kan f.eks indeholde 34 A'er 15 B'er 10 C'er osv. Disse optællinger skal gerne skrives i en tekstboks, som IKKE er på subformen, men på den form som subformen er på... kan dette lade sig gøre? gerne uden at skulle bruge en forespørgelsel på det...
Først skal du sikre dig, at subformen er opdateret. Herefter kan du anvende en DCount på den forespørgsel, der leverer data til subformen. Jeg har ikke Access på denne maskine, men brug e's søgefunktion for at få den rette syntaks.
Me.FELTNAVN = DCount("*", og så noget mere evt. med et kriterie indlagt)
det kan jeg ikke, for min subform er som dataark, og hvis der er 34 a'ere, 15 b'ere og 10 c'ere, betyder det at der er 34 + 15 + 10 linier med data. Det ville være lidt vildt at skrive hvormange der er af alle a,b,c'ere på alle linierne, ik'? De er tilgængelig på subformen, men de vil jo ikke være tilgængeligt på "hovedformen", ville de?
Det kan du ogsaa godt vha dcount. Men du skal goeres vha kriteriet der forbinder din hovedform og din subform. Saa hvis hovedform og subform er linkede via f.eks MainID og SubID kan du lave en tekstboks i hovedformen enten for hver kategori eller for alle tre i en:
overchord-> Det er sådan noget jeg vil have fat i, men jeg kan sgu ikke finde den rigtige syntaks. Der kommer ikke rigtigt noget i min tekstboks... min syntaks ser således ud: me.MinTekstBoks = Dcount(FeltetIForespørgelsenTilSubFormen) , NavnetPåForespørgelsenTilSubFormen, "UnderOrdnedeFeltISubformen" = OverOrdnedeFeltIHovedFormen)
Jeg har ikke checkket din syntaks, men prøv at flytte koden til formularens VedAktuel. på den måde får du også din tekstboks opdateret hver gang du skifter post i hovedformularen.
Jesp mugs har helt ret - du skal flytte koden til on Current saa den opdateres naar du skifter OverOrdnedeFeltIHovedFormen. Faar du nogen fejlmeldinger eller vises der bare ikke noget?
min subform indeholder en masse linier med data, hvor alle indeholder en kolonne med KatA, KatB, KatC hvor kun én af dem er afkrydset. Det jeg skal tælle op er antallet af afkrydsede KatA felter, KatB ect... Disse optælninger skal skrives i en tekstboks på hovedformen... én tekstboks pr. kat naturligvis...
Jeg vil advare om, at jeg pludselig bliver hentet, men jeg ser om vi kan nå det. "min subform er som dataark": Hvor har du data fra? Er de indtastet? Umiddelbart lyder det nemmere at tælle bogstaver fra kilden.
proceduren er således at jeg har en form der bygger på en tabel "Sælger", og har her en underform "Under_sælger" som er kædet sammen med "sælger_id"'et.
data tastes ikke ind her. Det jeg søger er et udtræk af data. pointen er at jeg skal have en statistik over hvad de forskelliige sælgere har solgt. hovedformen indeholder en sælgersID, mens underfomren indeholder data omkring de enkelte salg, deres kategori, kundenummer ect...
det ved jeg ikke rigtigt, jeg har haft lidt problemer med at ramme den rigtige syntaks, fordi der er subforme, ect... min kode til AntalA tekstboksen hedder:
jo, netop, eller køre det hele som en forespørgsel - det ville jeg nok gøre, for det er nemmere at eksperimentere med. Jeg må løbe, håber det gav lidt.
Ud af ovenstående kan vi nu se, at der skal tælles på numeriske felter med 2 kriterier. En DCount er et domæneagregat som tæller i et domæne altså en tabel eller forespørgsel men ikke en formular. En DCount med 2 numeriske felter kan se sådan ud som postkilde til en ubunden tekstboks:
=DCount("*";"Tabel1";"[sælgerid] = 10 And [KatA] =True")
Tag en tekstboks fra værktøjslinien og giv den koden som postkilde. Du skal selvfølgelig rette feltnavne m.v. Du skal også rette sælgerid til en eksisterende værdi.
Du vil ikke få det ønskede resultat, fordi vi ikke refererer til noget felt i formen / subformen. Men i første omgang ønsker jeg blot, at vi får den til at tælle uden fejlmeldinger. Så kan vi rette det andet senere.
Hvis du lægger din e-mail, kan jeg sende dig et eksempel. Derefter vil jeg være væk et par timer, men vender tilbage senere.
Eksempler sendt. Et omhandlende Dcount og derefter et vedr. subforms, hvordan man peger på subformen og derefter et felt i subformen.
Synes godt om
Ny brugerNybegynder
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.