Avatar billede jesperwerge Nybegynder
25. juli 2003 - 11:44 Der er 7 kommentarer og
1 løsning

hjælp til variabler i SQL sætninger

Hej,

jeg sidder og skal samle nogle data fra en database. dataen er fra et spørgeskema som er tastet ind i en access database. Jeg har nu fået de tal ud som jeg gerne vil se, men til sidst vil jeg gerne lægge alle tallene sammen , så jeg kan se hvormange er ialt. Har fået fortalt at man kan samle dataen i variabler og så lægge dem sammen?

dette er koden indtil videre:

<%
Set oDB = Server.CreateObject("ADODB.Connection")
    oDB.open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("/dk/res/dental/res_dental.mdb")
    response.write "<p><U><b>Antal tandlæger på klinikkerne:</u> (spørgsmål nr. 1)</b></p>"
    'spørgsmål nummer 1

    strSQL = "SELECT COUNT(Autoid) AS Antal FROM res "
    set oRS = oDB.Execute(strSQL)
    response.write "<p>klinikker i alt: <b>" & oRS("Antal") & " </b> stk.</p>"

    strSQL = "SELECT COUNT(Autoid) AS Antal FROM res WHERE sp1 = '1'"
    set oRS = oDB.Execute(strSQL)
    response.write "<p>klinikker med 1 tandlæge tilknyttet:  <b>" & oRS("Antal") & " </b> stk.</p>"

    strSQL = "SELECT COUNT(Autoid) AS Antal2 FROM res WHERE sp1 = '2'"
    set oRS = oDB.Execute(strSQL)
    response.write "<p>klinikker med 2 tandlæge tilknyttet:  <b>" & oRS("Antal2") & " ialt: " & oRS("Antal2")*2 & " </b> stk.</p>"

    strSQL = "SELECT COUNT(Autoid) AS Antal3 FROM res WHERE sp1 = '3'"
    set oRS = oDB.Execute(strSQL)
    response.write "<p>klinikker med 3 tandlæge tilknyttet:  <b>" & oRS("Antal3") & " ialt: " & oRS("Antal3")*3 & " </b> stk.</p>"
   
    strSQL = "SELECT COUNT(Autoid) AS Antal4 FROM res WHERE sp1 = '4'"
    set oRS = oDB.Execute(strSQL)
    response.write "<p>klinikker med 4 tandlæge tilknyttet:  <b>" & oRS("Antal4") & " ialt: " & oRS("Antal4")*4 & " </b> stk.</p>"
%>

det er tallene i oRS("")*X som jeg gerne vil have lagt sammen for alle 4 spørgsmål

mvh

Jesper
Avatar billede thomas_yde Nybegynder
25. juli 2003 - 12:22 #1
du kan evt lave en lokal variabel:
dim antalTL
Du er her : Eksperten : Programmering : Script : ASP : hjælp til variabler i SQL sætninger :


Sidste nyt fra Eksperten : Søgning undervejs, nye features
Vores søgning er ved at blive reindekseret, hvilket normalt tager et par dage. Vi beklager ulejligheden, men kan i mellemtiden anbefale Google. Evt. via http://robotten.dk/?use=5 Sommeren bruger ... læs mere



hjælp til variabler i SQL sætninger    60 point fra jesperwerge
Luk annonce  Hej,

jeg sidder og skal samle nogle data fra en database. dataen er fra et spørgeskema som er tastet ind i en access database. Jeg har nu fået de tal ud som jeg gerne vil se, men til sidst vil jeg gerne lægge alle tallene sammen , så jeg kan se hvormange er ialt. Har fået fortalt at man kan samle dataen i variabler og så lægge dem sammen?

dette er koden indtil videre:

<%
Set oDB = Server.CreateObject("ADODB.Connection")
    oDB.open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("/dk/res/dental/res_dental.mdb")
    response.write "<p><U><b>Antal tandlæger på klinikkerne:</u> (spørgsmål nr. 1)</b></p>"
    'spørgsmål nummer 1

    strSQL = "SELECT COUNT(Autoid) AS Antal FROM res "
    set oRS = oDB.Execute(strSQL)
    response.write "<p>klinikker i alt: <b>" & oRS("Antal") & " </b> stk.</p>"
    antalTL = oRS("Antal")
    strSQL = "SELECT COUNT(Autoid) AS Antal FROM res WHERE sp1 = '1'"
    set oRS = oDB.Execute(strSQL)
    response.write "<p>klinikker med 1 tandlæge tilknyttet:  <b>" & oRS("Antal") & " </b> stk.</p>"

    strSQL = "SELECT COUNT(Autoid) AS Antal2 FROM res WHERE sp1 = '2'"
    set oRS = oDB.Execute(strSQL)
    response.write "<p>klinikker med 2 tandlæge tilknyttet:  <b>" & oRS("Antal2") & " ialt: " & oRS("Antal2")*2 & " </b> stk.</p>"
    antalTL = antalTL + oRS("Antal2")
    strSQL = "SELECT COUNT(Autoid) AS Antal3 FROM res WHERE sp1 = '3'"
    set oRS = oDB.Execute(strSQL)
    response.write "<p>klinikker med 3 tandlæge tilknyttet:  <b>" & oRS("Antal3") & " ialt: " & oRS("Antal3")*3 & " </b> stk.</p>"
    antalTL = antalTL + oRS("Antal3")
    strSQL = "SELECT COUNT(Autoid) AS Antal4 FROM res WHERE sp1 = '4'"
    set oRS = oDB.Execute(strSQL)
    response.write "<p>klinikker med 4 tandlæge tilknyttet:  <b>" & oRS("Antal4") & " ialt: " & oRS("Antal4")*4 & " </b> stk.</p>"
antalTL = antalTL + oRS("Antal4")
Response.Write "Der er i alt: "&antalTL&" tandlæger på klinikken"
%>
Avatar billede thomas_yde Nybegynder
25. juli 2003 - 12:23 #2
hov der kom vist lidt med fra eksperten i den copy/paste
Avatar billede jesperwerge Nybegynder
25. juli 2003 - 13:09 #3
hvor?
Avatar billede jesperwerge Nybegynder
25. juli 2003 - 13:14 #4
jeg har forsøgt at lave et array hvor jeg så vil lægge de forskellige arrays sammen  - men fx:
dim a

array(0) = "3"
array(1) = "5"

a = array(0) + array(1)
response.write(a)

dette resulterer i at den skriver resultattet efterfulgt af hinanden (35) hvor det skulle vis man lægger tallene samme give 8
hvad er der galt med min sætning?
Avatar billede jesperwerge Nybegynder
25. juli 2003 - 13:16 #5
undskyld Thomas yde - jeg så først dine ændringer nu - tak for tippet - jeg prøver lige omd et skulle virke :o)
Avatar billede jesperwerge Nybegynder
25. juli 2003 - 13:27 #6
det virker, efter lidt anden sammensætning (antalTL = antalTL + oRS("antal4")*4) men du får points alligevel hvis du svare - tak for hjælpen
Avatar billede thomas_yde Nybegynder
25. juli 2003 - 14:22 #7
godt det virker :D
Avatar billede c Nybegynder
25. juli 2003 - 14:41 #8
hvad med:

strSQL = "SELECT COUNT(Autoid) AS Antal FROM res"

??
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
Kurser inden for grundlæggende programmering

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