11. maj 2002 - 13:38Der er
16 kommentarer og 1 løsning
Tælling af antal i en tabel med en speciel værdi!
Hejsa
Jeg har en database med en tabel der hedder "Tilmeldte" I den har jeg følgende kolonner: Deltagere og Firma.
Nu er mit spørgsmål så hvordan jeg gør sådan at den finder alle dem der har samme firma og så ligger deres deltager antal sammen så min side viser at der er 2 tilmeldte fra firma a og ikke at den skriver firma a har 1 tilmeldte og firma a har en tilmeldte!
Her er min kode som jeg har den indtil nu:
<%Language = "VBScript"%> <%Fagseminar = request.Querystring%> <HTML> <HEAD> <TITLE>Tilmeldte</TITLE> </HEAD> <BODY text=#000000 vLink=#000000 aLink=#000000 link=#000000 rightMargin=0> Følgende firmaer er tilmeldt til seminaren:<br><br> <% Set Conn = Server.CreateObject("ADODB.Connection") Set Rs = Server.CreateObject("ADODB.Recordset") 'Modify and use this connection if your database is in your database directory 'Conn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=Fagseminar.mdb" Conn.Open "DBQ=" & Server.Mappath("Fagseminar.mdb") & ";Driver={Microsoft Access Driver (*.mdb)};"
SQL = "SELECT Fagseminar.FagseminarId, Tilmeldte.Deltagere, Tilmeldte.Firma, Tilmeldte.Betaling, Tilmeldte.Fagseminar from Tilmeldte LEFT JOIN Fagseminar ON Tilmeldte.Fagseminar = Fagseminar.Fagseminarid where Tilmeldte.Fagseminar=" & request.querystring("Fagseminar") rs.Open SQL, Conn
If rs.BOF AND rs.EOF then Response.Write "Der er på nuværende tidspunkt ingen tilmeldte." Response.Write"<br>"
End if
For x = 1 to 10 If rs.eof then Exit For Else %>
<% =rs("Firma")%> med <% =rs("Deltagere")%> deltagere.<br>
<% rs.MoveNext End If Next
%> <br> <a href="java script:history.go(-1)" style="text-decoration: none">Tilbage til informationerne om fagseminaren</a><br> <a href="fagseminar.asp" style="text-decoration: none">Tilbage til listen over fagseminar</a>
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
SQL = "SELECT Fagseminar.FagseminarId, Tilmeldte.Deltagere, Tilmeldte.Firma, Tilmeldte.Betaling, Tilmeldte.Fagseminar from Tilmeldte LEFT JOIN Fagseminar ON Tilmeldte.Fagseminar = Fagseminar.Fagseminarid GROUP BY Tilmeldte.Firma WHERE Tilmeldte.Fagseminar=" & request.querystring("Fagseminar") rs.Open SQL, Conn
Ja det er mig igen :-D ... den lave fejl hvis jeg bruger det du skrev: [Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression 'Tilmeldte.Firma WHERE Tilmeldte.Fagseminar=23'.
SQL = "SELECT Fagseminar.FagseminarId, Tilmeldte.Deltagere, Tilmeldte.Firma, Tilmeldte.Betaling, Tilmeldte.Fagseminar from Tilmeldte LEFT JOIN Fagseminar ON Tilmeldte.Fagseminar = Fagseminar.Fagseminarid WHERE Tilmeldte.Fagseminar=" & request.querystring("Fagseminar") & " GROUP BY Tilmeldte.Firma" rs.Open SQL, Conn
Så får jeg følgende fejl: [Microsoft][ODBC Microsoft Access Driver] You tried to execute a query that does not include the specified expression 'FagseminarId' as part of an aggregate function.
Du kan benytte denne SQL, den sammen tæller antal deltagere fra alle firmaer tilknyttet et fagsminar:
strSQL = "SELECT Tilmeldte.Firma, Count(Tilmeldte.Firma) AS AntalOfFirma FROM Fagseminar LEFT JOIN Tilmeldte ON Fagseminar.FagseminarId = Tilmeldte.Fagseminar WHERE Fagseminar.FagseminarID = " & request.querystring("Fagseminar") & " GROUP BY Tilmeldte.Firma; set rs = connection.execute(strSQL) udskrive:
ups der mangler en " til at afslutte SQL sætnignne:
strSQL = "SELECT Tilmeldte.Firma, Count(Tilmeldte.Firma) AS AntalOfFirma FROM Fagseminar LEFT JOIN Tilmeldte ON Fagseminar.FagseminarId = Tilmeldte.Fagseminar WHERE Fagseminar.FagseminarID = " & request.querystring("Fagseminar") & " GROUP BY Tilmeldte.Firma;"
Jeg har smidt det ind som følgende: <% Set Conn = Server.CreateObject("ADODB.Connection") Set Rs = Server.CreateObject("ADODB.Recordset") 'Modify and use this connection if your database is in your database directory 'Conn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=Fagseminar.mdb" Conn.Open "DBQ=" & Server.Mappath("Fagseminar.mdb") & ";Driver={Microsoft Access Driver (*.mdb)};"
strSQL = "SELECT Tilmeldte.Firma, Count(Tilmeldte.Firma) AS AntalOfFirma FROM Fagseminar LEFT JOIN Tilmeldte ON Fagseminar.FagseminarId = Tilmeldte.Fagseminar WHERE Fagseminar.FagseminarID = " & request.querystring("Fagseminar") & " GROUP BY Tilmeldte.Firma;" set rs = connection.execute(strSQL)
If rs.BOF AND rs.EOF then Response.Write "Der er på nuværende tidspunkt ingen tilmeldte." Response.Write"<br>"
så kan du lave Count(firma) om til Sum(deltagere):
strSQL = "SELECT Tilmeldte.Firma, Sum(Tilmeldte.Deltagere) AS AntalOfDeltagere FROM Fagseminar LEFT JOIN Tilmeldte ON Fagseminar.FagseminarId = Tilmeldte.Fagseminar WHERE Fagseminar.FagseminarID = " & request.querystring("Fagseminar") & " GROUP BY Tilmeldte.Firma;"
Bare glem det ... jeg har valgt at ændre det hele totalt, eftersom at man ikke skal kunne tilføje et firma med x antal bruger! Hver enkelte bruger skal selv tilmeldes! Men tak for hjælpen eagleeye ... det gav mig nogle tips til senere brug!
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.