Avatar billede 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.)
Avatar billede 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.
Avatar billede 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."
Avatar billede 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)
Avatar billede 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."
Avatar billede 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 :-?
Avatar billede 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?
Avatar billede 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.
Avatar billede 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"
Avatar billede eagleeye Praktikant
19. april 2003 - 15:54 #9
DISTICT = DISTINCT
Avatar billede 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
Avatar billede 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

%>
Avatar billede 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

%>
Avatar billede 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.
Avatar billede 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
Avatar billede lach Juniormester
19. april 2003 - 17:02 #15
Det virker, mange TAK for hjælpen :-)
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

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





CIO
Stort CIO-interview: Lemvigh-Müllers milliard-omsætning er blevet digital