Avatar billede aros Nybegynder
18. juli 2003 - 20:52 Der er 44 kommentarer og
1 løsning

Tælle antal poster i forespørgsel

Hejsa
Nu nærmer jeg endelig enden på min database "leg".. hehe
Jeg sidder med et sidste problem:
Findes der en måde, at tælle antallet af poster i en forespørgsel, og så sætte dem ind i en formular??
Jeg har 15 forespørgsler, hvor jeg skal vide hvor mange poster der er tilbage i hvert af disse. Denne information skal så sættes ind i en formular.
Avatar billede nmh Nybegynder
18. juli 2003 - 20:59 #1
Du mener du har et recordset rs, og du vil vide, hvormange poster der er.
rs.RecordCount vil angive antallet af poster.
Avatar billede aros Nybegynder
18. juli 2003 - 21:01 #2
hmm.... hvor skal jeg sætte det ind henne???
Kan godt være det lyder dumt, men er newbie
Avatar billede nmh Nybegynder
18. juli 2003 - 21:02 #3
ups: Nu ser jeg , at det er slet ikke asp-sider du arbejder med.
Avatar billede nmh Nybegynder
18. juli 2003 - 21:04 #4
Jeg troede du hentede data fra databasen ved at benytte asp-programmering. Nu forstår jeg du´, du arbejder direkte med databasen.
Avatar billede aros Nybegynder
18. juli 2003 - 21:05 #5
hehe det kan ske for en hver....
Avatar billede arne_v Ekspert
18. juli 2003 - 21:32 #6
DCount("felt", "query")
Avatar billede aros Nybegynder
18. juli 2003 - 21:44 #7
Arne: hmm... dur Dcount ikke kun hvis det er tal???
Avatar billede arne_v Ekspert
18. juli 2003 - 21:47 #8
Nej.

DCount tæller antal records. Og det betyder ikke noget om der er tal
eller tekst.

Dsum og Davg virker bedst på tal.

:-)
Avatar billede aros Nybegynder
18. juli 2003 - 21:50 #9
ok, og hvor skal jeg sætte det ind henne???
Avatar billede terry Ekspert
18. juli 2003 - 21:51 #10
aros>Tælle antal poster i forespørgsel!
Dcount counts the records the query will return, is it this you want or what? If not then can you explain in more detail please?
Avatar billede arne_v Ekspert
18. juli 2003 - 21:52 #11
Du kan bare skrive:

=DCount("felt", "query")

som værdi.
Avatar billede aros Nybegynder
18. juli 2003 - 21:53 #12
terry: yes, that is it....
Avatar billede aros Nybegynder
18. juli 2003 - 21:53 #13
arne: ok, prøver lige
Avatar billede aros Nybegynder
18. juli 2003 - 22:04 #14
hmm... kan ikke få det til at virke... prøver at være lidt mere specifik
Det drejer sig om at jeg er ved at lave en db, der skal bruges til en indsamling.
Jeg har en oversigt over de distrikter vi har (Distriktsoversigt), denne ligger både, som en tabel og som en formular. I denne har jeg et felt, der hedder "Antal ledige ruter". Her vil jeg gerne have den til at skrive antallet af ledige ruter.
Jeg har derudover 15 forespørgsler (et for hvert distrikt), som opdateres afhængigt af om ruten er besat. Hvis ruten er besat, fjernes den fra forespørgslen.
Det jeg gerne vil have er at den tæller antallet af "poster"/ruter i hver forespørgsel, og sætter dette tal ind i distriktsoversigten....

Forvirret??? Det er jeg ;o)
Avatar billede arne_v Ekspert
18. juli 2003 - 22:08 #15
Du kan hente antal records fra en tabel eller query med:
  =DCount("felt navn", "tabel eller query navn")

Du kan hente en værdi fra en tabel eller query med:
  =DLookUp("felt navn", "tabel eller query navn", "where betingelse uden where")
Avatar billede arne_v Ekspert
18. juli 2003 - 22:10 #16
Hvis du vil summere et numerisk felt, så er det:
  =DSum("felt navn", "tabel eller query navn")
eller:
  =DSum("felt navn", "tabel eller query navn", "where betingelse uden where")
Avatar billede aros Nybegynder
18. juli 2003 - 22:11 #17
arne: nu er jeg endnu mere forvirret.... :o)
Avatar billede arne_v Ekspert
18. juli 2003 - 22:12 #18
Men jeg har stadigvæk ikke forstået din tabel-struktur og query/form-logik.
Avatar billede aros Nybegynder
18. juli 2003 - 22:14 #19
kan jeg maile den til dig, så du kan se den??? Den er lidt svær at forklare, det er vidst noget værre noget jeg har rodet mig ud i
Avatar billede arne_v Ekspert
18. juli 2003 - 22:14 #20
Har du en tabel med bl.a. 2 felter distrikts id og ledige ruter
1  3
2  1
3  7
4  2
5  0
...
15 3

Så vil:

=DLookUp("ledigeruter", "distrikstabel", "distriktsid=1")

vise 3 mens:

=DSum("ledigeruter", "distrikstabel")

vil vise det totale antal ledige ruter.
Avatar billede arne_v Ekspert
18. juli 2003 - 22:15 #21
arne_v@mail.danbbs.dk

(men svaret skal postes her ifølge ekspertens regler)
Avatar billede aros Nybegynder
18. juli 2003 - 22:17 #22
Tabellen er bygget op på flg. måde:
Rutenr.    Distrikt    Antal ledige ruter

I feltet Antal ledige ruter, står der ikke noget på nuværende tidspunkt, her er det, at der gerne skulle komme til at stå noget :o)
Avatar billede aros Nybegynder
18. juli 2003 - 22:17 #23
selvfølgelig, sender den med det samme, svaret har sikkert også været her, det er nok bare mig, der er forvirret
Avatar billede arne_v Ekspert
18. juli 2003 - 22:21 #24
Hvis "antal ledige ruter" feltet er "antal ledige ruter i hele distriktet";
så er den gal med din tabel-struktur.

Den skal normaliseres ud i to tabeller:

rute  distrikt    ledig yes or no

distrikt    antal ledige ruter
Avatar billede aros Nybegynder
18. juli 2003 - 22:23 #25
Hvis du kigger i den tabel der hedder Ruteplan, ser du at den er bygget op af netop rute distrikt ledig yes or no
Avatar billede aros Nybegynder
18. juli 2003 - 22:24 #26
hvorimod at tabellen distriktsoversigt blot "fortæller" hvilke rutenr. der hører til hvilket distrikt
Avatar billede arne_v Ekspert
18. juli 2003 - 22:25 #27
Jep - du har den rigtige tabel struktur.

Og det du gerne vil er at få opdateret "Antal ledige ruter" i "Distriktsplan"
tabellen af en query, så det kan vises i en form ?
Avatar billede aros Nybegynder
18. juli 2003 - 22:26 #28
ja tak
Avatar billede arne_v Ekspert
18. juli 2003 - 22:40 #29
Den her opdaterer et distrikt:

UPDATE distriktoversigt SET [antal ledige ruter] = dcount("distrikt", "ruteplan", "distrikt='Beder' AND NOT udleveret") WHERE distrikt='Beder'
Avatar billede arne_v Ekspert
18. juli 2003 - 22:41 #30
Enten skal der bare laves 15 af dem - eller så skal jeg have lavet en
smart version der kan tage alle distrikter i en query (det tror jeg at man kan,
men Access samarbejder ikke lige nu - men jeg prøver lidt mere).
Avatar billede aros Nybegynder
18. juli 2003 - 22:45 #31
Tusind tak, hvor indsætter du dette felt????? Hvis det er ligetil, kan jeg bare selv lave alle 15, bare jeg ved hvor det er at det skal sættes ind
Avatar billede arne_v Ekspert
18. juli 2003 - 22:48 #32
Det er ikke et felt.

Det er en update query.

Hvis du laver 15 styks, så laver du f.eks. en makro der kører alle 15 - og
så viser du bare tabel feltet på formen helt normalt.
Avatar billede aros Nybegynder
18. juli 2003 - 23:02 #33
hmmm....har aldrig prøvet at arbejde med sådan noget, har du mulighed for at lave den første, og så sende db'en tilbage til mig, så jeg kan se hvad du har gjort?? (Ved ikke om det er imod reglerne)
Avatar billede nih Novice
18. juli 2003 - 23:03 #34
ØHH - Hvorfor laver du ikke en ny foresp.

i foresp. vinduet skal du trykke på summationstegnet og trække eet felt ned i gitteret. Der hvor der står 'gruper efter' skal du vælge 'antal' istedet (rækken total). Så får du antalet af forekomster direkte i en foresp, som kan kaldes fra en form eller rapport.
Afhængig af din tabel struktur kan det laves meget enkelt.

Niels
Avatar billede aros Nybegynder
18. juli 2003 - 23:10 #35
niels: huh? Hvad er summationstegnet?? Hvilket felt skal jeg trække ned i gitteret?
Avatar billede nih Novice
18. juli 2003 - 23:15 #36
Græsk E - Det er i værktøjslinjen :)

Du skal trække et felt ned du er SIKKER på har en værdi i alle poster (Id feltet er godt at bruge).
Avatar billede arne_v Ekspert
18. juli 2003 - 23:16 #37
DB sendt retur med ovenstående query og en makro til at køre den som igen køres
ve dopen af form.
Avatar billede aros Nybegynder
18. juli 2003 - 23:19 #38
Arne: kigger lige på den
Avatar billede aros Nybegynder
18. juli 2003 - 23:21 #39
Arne: kan godt være, at jeg spørger dumt... men hvordan kommer du ind og får skrevet alt den tekst i et felt, når jeg trykker ny forespørgsel, får jeg kun gitterfeltet frem....og jeg skal vælge hvilke tabeller jeg vil bruge
Avatar billede aros Nybegynder
18. juli 2003 - 23:24 #40
Arne: Jeg kan se, at du har lavet en Macro1, som ikke indeholder noget, bruges den til noget, eller må den slettes??
Avatar billede aros Nybegynder
18. juli 2003 - 23:26 #41
Arne: har fundet ud af hvordan jeg kan "snyde" mig til at lave resten af dem, men vil selvfølgelig stadig gerne lære hvordan jeg kommer derind....
Tusind tak for hjælpen
Avatar billede arne_v Ekspert
18. juli 2003 - 23:29 #42
Queries har 3 views:
  data
  design
  SQL

Du laver den tekst i SQL view.

Og der er en lille combo box oppe i hjørnet hvor man kan vælge view.
Avatar billede arne_v Ekspert
18. juli 2003 - 23:29 #43
Macro1 kan godt slettes - det var kun et lille eksperiment.
Avatar billede aros Nybegynder
18. juli 2003 - 23:31 #44
ok, endnu en gang tusind tak
Avatar billede arne_v Ekspert
18. juli 2003 - 23:32 #45
Iøvrigt den query som jeg ikke kunne få til at virke var:

UPDATE distriktoversigt SET [antal ledige ruter] = (SELECT COUNT(*) FROM ruteplan
WHERE ruteplan.distrikt = distriktoversigt.distrikt AND NOT udleveret)

Det er tildsyneladende ikke legal Access SQL.

En skam fordi den kunne have opdateret alle i et hug.
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
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

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