Oprettet tor. d. 21. august 2003 kl. 12:37:50

ferdinand.k
ferdinand.k (26.663 point. Point ude: 105)

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...

Skrevet tor. d. 21. august 2003 kl. 12:42:25| #1

mugs
mugs (162.407 point)
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)

Skrevet tor. d. 21. august 2003 kl. 12:45:31| #2

ferdinand.k
ferdinand.k (26.663 point)
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?

Skrevet tor. d. 21. august 2003 kl. 12:46:58| #3

ferdinand.k
ferdinand.k (26.663 point)
jeg havde tænkt mig måske noget med at man kunne lave en tekstboks, og her kunne tælle emnerne for A'erne op, ect...?!

Skrevet tor. d. 21. august 2003 kl. 13:58:31| #4

overchord
overchord (35.182 point)
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:

me.Texbox = Dcount("A",TabellenfordinSubform, "[subID]=" & me.MainID)

Skrevet tor. d. 21. august 2003 kl. 14:47:18| #5

ferdinand.k
ferdinand.k (26.663 point)
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)

Er det helt skidt?

Skrevet tor. d. 21. august 2003 kl. 14:50:59| #6

ferdinand.k
ferdinand.k (26.663 point)
jeg har sat formlen under on form_load...

Skrevet tor. d. 21. august 2003 kl. 16:12:56| #7

mugs
mugs (162.407 point)
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.

Skrevet tor. d. 21. august 2003 kl. 16:39:04| #8

overchord
overchord (35.182 point)
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?

Skrevet fre. d. 22. august 2003 kl. 09:11:28| #9

ferdinand.k
ferdinand.k (26.663 point)
jeg har også forsøgt mig med "on current", dog hjælper dette ikke... Jeg får ikke noget i min tekstboks...

Skrevet fre. d. 22. august 2003 kl. 09:15:34| #10

ferdinand.k
ferdinand.k (26.663 point)
gør det nogen ændring hvis jeg fortæller at det er checkbokse der skal tælles op?!

Skrevet fre. d. 22. august 2003 kl. 09:21:29| #11

ferdinand.k
ferdinand.k (26.663 point)
Jeg får fejlen: Du har indtastet et ugyldigt argument i en domæneaggreatfunktion.

Skrevet fre. d. 22. august 2003 kl. 14:06:49| #12

mugs
mugs (162.407 point)
Checkbokse eller asfkrydsningsfelter er et Ja/Nej felt, og kan kun indeholde 1 af 2 værdier:

Ja (True) eller Nej (False)

og aldrig A,B eller noget som helst andet.

Så: Hvad er det du vil tælle?

Skrevet fre. d. 22. august 2003 kl. 14:13:20| #13

ferdinand.k
ferdinand.k (26.663 point)
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...

Skrevet fre. d. 22. august 2003 kl. 14:51:37| #14

staticdata
staticdata (14.989 point)
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.

Skrevet fre. d. 22. august 2003 kl. 14:55:41| #15

ferdinand.k
ferdinand.k (26.663 point)
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.

Skrevet fre. d. 22. august 2003 kl. 14:57:00| #16

staticdata
staticdata (14.989 point)
Eller sagt på en anden måde; hvis data tastes ind, sker det måske direkte i en tabel. Så kan du lave Sum - Group By, direkte fra tabellen.

Skrevet fre. d. 22. august 2003 kl. 14:58:03| #17

staticdata
staticdata (14.989 point)
Dér kom vi vist ind samtidig - men: Kan du ikke forespørge direkte på tabellen?

Skrevet fre. d. 22. august 2003 kl. 14:59:05| #18

ferdinand.k
ferdinand.k (26.663 point)
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...

Skrevet fre. d. 22. august 2003 kl. 15:02:16| #19

staticdata
staticdata (14.989 point)
Kan du ikke forespørge direkte på tabellen?

Skrevet fre. d. 22. august 2003 kl. 15:04:12| #20

ferdinand.k
ferdinand.k (26.663 point)
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:

AntalA = DCount(Kat_A, Under_Sælger, sælger_id = Me.sælger_id)

Skrevet fre. d. 22. august 2003 kl. 15:06:45| #21

staticdata
staticdata (14.989 point)
Øh, og det er ikke rigtigt?

Skrevet fre. d. 22. august 2003 kl. 15:07:07| #22

ferdinand.k
ferdinand.k (26.663 point)
ellers skal jeg jo lave en eller anden Dlookup hvor jeg læser i den "originale" tabellen, ik'?

Skrevet fre. d. 22. august 2003 kl. 15:07:53| #23

ferdinand.k
ferdinand.k (26.663 point)
nej, det er det ikke... jeg får fejlen: Du har indtastet et ugyldigt argument i en domæneaggreatfunktion.

Skrevet fre. d. 22. august 2003 kl. 15:09:09| #24

staticdata
staticdata (14.989 point)
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.

Skrevet fre. d. 22. august 2003 kl. 15:09:17| #25

ferdinand.k
ferdinand.k (26.663 point)
men jeg skal vel også specificere at jeg kun ønsker at optælle alle de felter hvor Kat_A = -1, ik'?

Skrevet fre. d. 22. august 2003 kl. 15:51:45| #26

mugs
mugs (162.407 point)
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")

Skrevet fre. d. 22. august 2003 kl. 16:08:03| #27

ferdinand.k
ferdinand.k (26.663 point)
min fejlmeddelse er nu: runtime 2001, Du har annuleret den forrige handling... hmm

Skrevet fre. d. 22. august 2003 kl. 16:09:50| #28

mugs
mugs (162.407 point)
Hvor har du indsat koden?

Skrevet fre. d. 22. august 2003 kl. 16:16:56| #29

ferdinand.k
ferdinand.k (26.663 point)
under "ved aktuel"... skal den på som "filter" istedet, eller..?`!

Skrevet fre. d. 22. august 2003 kl. 16:21:14| #30

mugs
mugs (162.407 point)
Læs nu hjvad jeg skriver:

som postkilde til en ubunden tekstboks: 

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.

Skrevet fre. d. 22. august 2003 kl. 16:24:05| #31

ferdinand.k
ferdinand.k (26.663 point)
du kan se mit minisite... takker..

Skrevet fre. d. 22. august 2003 kl. 16:34:39| #32

mugs
mugs (162.407 point)
Eksempler sendt. Et omhandlende Dcount og derefter et vedr. subforms, hvordan man peger på subformen og derefter et felt i subformen.

Skriv et indlæg




Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] [img]link til billede[/img]
Web- og emailadresser omdannes automatisk til links

Log ind

   

   

Seneste spørgsmål

Link til et dokument

Oprettet den 10. februar 2012 kl. 14.15
omn giver 60 point for svar | Giv et svar »

Formular med flere paramtre

Oprettet den 9. februar 2012 kl. 16.48
stuegnu giver 100 point for svar | Giv et svar »

Kodemodul ???

Oprettet den 8. februar 2012 kl. 17.05
olejohn giver 200 point for svar | Giv et svar »

Seneste guides

Installer win 7
Den gode bruger


   




Tips & Tricks fra PC World

Teaser billede

Her er fem sjove danske websider du skal kende

Trænger dine lattermuskler til en omgang fitness på dansk? Vi viser vej til fem websider fyldt med humor og vanvittig satire.


Anmeldelser fra PC World

Teaser billede

Test: Denne super-tablet er iPads hårdeste konkurrent

Eee Pad Transformer Prime er frygtindgydende med sin quadcore processor og evne til at trylle sig om til bærbar. Apple bør kigge i bagspejlet, for Asus' tablet-pc kommer buldrende - og gør det...


Seneste blogindlæg

Teaser billede

Tvangslukke spørgsmål: Hvad er den bedste løsning?

Hej Vi har mange åbne spørgsmål på Eksperten. Vi ville gerne tvangslukke dem - så et spørgsmål efter f.eks. 6 måneder lukkes. Men der er et par uklarheder som ville være gode at få lidt input til:...


Nyheder fra PC World

Teaser billede

Nu kan du snart hente Windows 8

Den nye offentlige betaversion af Windows 8 er klar i denne måned.


Nyheder fra Computerworld

Teaser billede

Måske snart slut med Androids helt store problem

Android-platformen har længe været plaget af et særligt problem. Men måske er problemet nu ved at være elimineret.


Kurser
Samarbejdspartnere

Udgiver · © 2012 IDG Danmark A/S · Hørkær 18 · 2730 Herlev · Tlf.: 77 300 300 · Fax: 77 300 301 · Brug af personoplysninger