lach Juniormester
19. april 2003 - 14:30 Der er 14 kommentarer og
1 løsning

Tælle poster

Hvordan får jeg et samlet resultat ud, hvis jeg eks. har en database med en kolonne hvori jeg har 10 lange søm, 25 korte søm?

Jeg vil altså gerne ha et output der siger:
(Der er i alt 35 søm på lageret.)
eagleeye Praktikant
19. april 2003 - 14:33 #1
Hvis du har en tal kolonne så kan du summere dem ved eksvis en vareType=søm eks.:

SQL = "SELECT Sum(antal) as tantal FROM tabel WHERE vareType='søm'"

Så hvordan er din database bygget op? Hvilke kolonner har du og hvad er der i dem.
eagleeye Praktikant
19. april 2003 - 14:34 #2
Så kan du udskrive det med:

Set rs = ConnectionObject.Execute(SQL)

Response.write "Det er " & rs("tantal") & " søm på lager."
lach Juniormester
19. april 2003 - 14:50 #3
Øjeblik! jeg tror jeg fik formuleret mit spørgsmål forkert øhmm
Systemet skal tælle hvor mange forskellige typer søm der er lager
hvis man siger der 14 korte, 8 lange 33 meget lange skal resultatet være 3
Jeg har kun 2 kolonner ID, søm (auto, tekst)
eagleeye Praktikant
19. april 2003 - 15:09 #4
Ok. Så kan du bruge Count

SQL = "SELECT Count(*) as antal FROM tabel"
Set rs = ConnectionObject.Execute(SQL)

Response.write "Det er " & rs("antal") & " forskellige typer søm på lager."
lach Juniormester
19. april 2003 - 15:15 #5
ja okay, det er også godt nok hvis de er placeret i 3 poster, men her kan der godt være 1, 1, 4, 2, 1, 1, osv. så der faktisk er 50 poster.
Så system skal altså kunne tælle hvormange ens søm der er ud af alle disse poster og vise resultatet 3 i det her tilfælde.
Håber ikke jeg er for besværlig :-?
eagleeye Praktikant
19. april 2003 - 15:39 #6
Hvad indeholder en post så? kunne det se sådan her ud:
ID  søm
1  Lange
2  Korte
3  Lange
4  Lange

Eller vi der også stå et antal?
lach Juniormester
19. april 2003 - 15:45 #7
Ja netop:
ID  søm
1  Lange
2  Korte
3  Lange
4  Lange

Her skal systemet så tælle "2" - Der er 2 forskellige typer søm på lageret.
eagleeye Praktikant
19. april 2003 - 15:50 #8
Så prøv med men den virker vist ikke i Access:
"SELECT Count(DISTICT [søm]) as antal FROM tabel"
eagleeye Praktikant
19. april 2003 - 15:54 #9
DISTICT = DISTINCT
eagleeye Praktikant
19. april 2003 - 15:58 #10
Eller må du prøve:

SQL = "SELECT DISTINCT [søm] FROM tabel"
rs.Open SQL, ConnectionObject, 1

Response.write "Antalet forskellige typer søm er : " & rs.RecordCount
lach Juniormester
19. april 2003 - 16:11 #11
Ikke nogen af de forslag lader til at virke, jeg får en masse fejl
Object "" systax error og masse andet.
Jeg bruger dette til at vise typer søm, kan det skrives lidt om så udtrækket countes?

<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath ("søm.mdb")
strSQL = "SELECT TOP 20 count(søm) AS enssøm, søm FROM søm GROUP BY søm ORDER BY count(søm) DESC"
set rs = Conn.execute(strSQL)



if rs.EOF then
Response.write "Lageret er tom."
else
Do Until rs.EOF

response.write ("<font face=verdana color=000000 size=2>"&RS("søm")&"<br></b></font>")

RS.MoveNext
Loop
end if

Conn.Close
Set Conn = Nothing

%>
eagleeye Praktikant
19. april 2003 - 16:16 #12
Prøv at lave det om til dette så kan den også skrive hvor mange forskellige der er:


<%
Set rs = Server.CreateObject("ADODB.RecordSet")
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath ("søm.mdb")
strSQL = "SELECT TOP 20 count(søm) AS enssøm, søm FROM søm GROUP BY søm ORDER BY count(søm) DESC"
rs.Open SQL, Conn, 1


if rs.EOF then
  Response.write "Lageret er tom."
else
  Response.write "Der er " & rs.RecordCount & " forskellige typer søm.<br>"

Do Until rs.EOF

response.write ("<font face=verdana color=000000 size=2>"&RS("søm")&"<br></b></font>")

RS.MoveNext
Loop
end if

Conn.Close
Set Conn = Nothing

%>
lach Juniormester
19. april 2003 - 16:23 #13
Det har jeg så lige prøvet, men får så denne fejl:

Arguments are of the wrong type, are out of acceptable range, or are in conflict with one another.
eagleeye Praktikant
19. april 2003 - 16:38 #14
hmm jeg har skrvet forket så.. prøv at rette denne linje:

rs.Open SQL, Conn, 1

Til:

rs.Open strSQL, Conn, 1
lach Juniormester
19. april 2003 - 17:02 #15
Det virker, mange TAK for hjælpen :-)
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

Opret Preview

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





Premium
Test: Kæmpestort gaming-headset er perfekt til dine lange Teams-møder - men har også nogle besværligheder
Længe før vi andre blev slået hjem til hjemmekontorets endeløse webmøder har gamerne gennemskuet behovet for komfortabelt grej. Så vi tog danske EPOS top gamingheadset med på arbejde. Læs testen her.
Computerworld
Biden sender skjult besked til kode-folket: "Hvis du læser dette, har vi brug for din hjælp”
En stående invitation er blevet opdaget i kildekoden på Det Hvide Hus' hjemmeside. Men den er kun til de eksperter, der selv kan finde den.
CIO
Podcast: Hos Viking Life-Saving Equipment er it gået fra at være backend til at være noget, som kunderne spørger aktivt efter
Podcast, The Digital Edge: Viking leverer en stadig større del af deres produkt som en tjeneste. Som en del af tjenesten tager Viking ansvar for sikkerheden ved at levere, dokumentere og vedligeholde det nødvendige sikkerhedsudstyr. Hør hvordan Henrik Balslev senior digital director hos Viking har løftet den opgave.
White paper
Her skal du passe på: Rapport fra cyberkrigens frontlinje
I 2020 blev cyberangreb hyppigere og stadig mere alvorlige, og i CrowdStrike Services Cyber Front Lines Report 2020 har du læse, hvor udfordringerne er størst. Rapporten dokumenterer blandt andet, at 63 pct. af alle angreb var økonomisk motiverede – og at hovedparten af angriberne benytter ransomware. Samtidigt bliver de afkrævede beløb større og større, og de kriminelle truer nu ikke kun med at slette data. Stadig oftere sker det, at de cyberkriminelle aktivt analyserer data og undersøger, om der kan sættes trumf på truslen ved true med at lække eller sælge følsomme informationer.