/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
udregne % antal gange en værdi vises i fht~
Fra : Otto


Dato : 16-02-07 22:27

Hej derude...
Jeg er ved at blive vanvittig
Jeg har lavet denne side med ASP (VBS) og Accesss (DB) -
http://www.gymnasiereform.dk/svar_q12.asp
det fungerer fint , men nu er jeg ved at migrere til MySQL , og nu kan jeg
simpelthen ikke finde ud af at få vist svar som % af af alle svar..

Jeg kan finde det samlede antal records , samt antal svar = nej etc
men når jeg så vil bruge mine variable f.eks
(antal_nej /antal_records) * 100 for at få % så går det galt.

Min code ser sådan ud:
strSQL="SELECT COUNT(`bruger_evaluering`.Q1) AS antal_nej From
bruger_evaluering WHERE Q1 = 'nej' "

set RS = connection.Execute(strSQL)
antal_nej = rs("antal_nej")
procent_nej = antal_nej/antalrecords '

' ->ERROR Fejltype:
' Der opstod en Microsoft VBScript-kørselsfejl (0x800A000D)
' Typer stemmer ikke overens


Hvad skal jeg gøre ..? Har spurgt i flere database NG'er - men ingen af
løsningsforslagene herfra virker..- desværre
Håber virkelig at der er nogen som kan vise vej her ..
hilsen - og på forhånd tak
Otto



 
 
Jens Gyldenkærne Cla~ (16-02-2007)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 16-02-07 22:46

Otto skrev:

> Hvad skal jeg gøre ..? Har spurgt i flere database NG'er - men
> ingen af løsningsforslagene herfra virker..- desværre

Det er en dårlig ide at shoppe rundt i forskellige grupper - har du
prøvet Peter Lykkegaards forslag fra databasegruppen
(<news:45d5f797$0$47549$edfadb0f@dread16.news.tele.dk>) ?

> set RS = connection.Execute(strSQL)
> antal_nej = rs("antal_nej")
> procent_nej = antal_nej/antalrecords '

Apostroffen i linjen herover er forhåbentlig ikke med i din
originalfil. Der hører den i hvert fald ikke hjemme.

Du bør i øvrigt vise hvordan du får lagt en værdi i antalrecords.

Et par ledsagespørgsmål:

Bruger du Option Explicit?
(se evt. <http://asp-faq.dk/article/?id=9>)

Har du prøvet at udskrive antal_nej hhv. antalrecords?
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Otto (16-02-2007)
Kommentar
Fra : Otto


Dato : 16-02-07 23:40


"Jens Gyldenkærne Clausen" <jens@gyros.invalid> skrev i en meddelelse
news:Xns98D9E79074148jcdmfdk@gyrosmod.cybercity.dk...

>
> Det er en dårlig ide at shoppe rundt i forskellige grupper - har du
> prøvet Peter Lykkegaards forslag fra databasegruppen
> (<news:45d5f797$0$47549$edfadb0f@dread16.news.tele.dk>) ?
>
Ja det har jeg - og jeg har prøvet flere forskellie forlsag fra behjælpsomme
flinke folk - som dig selv - men det virker ikke( jeg kan ikke få det til at
virke)
Jeg shopper ikke rundt. Men bliver henvist fra den den eneNG till den anden.
ASP folk vil henvise mig til database NG og database til ASP NG.

Du skal iøvrigt have tak for dine altid gode og instrultive svar.


> Du bør i øvrigt vise hvordan du får lagt en værdi i antalrecords.

Det gør jeg sådan :
' samlet antal records
strSQL="SELECT COUNT(*) AS antalrecords FROM bruger_evaluering"

> Et par ledsagespørgsmål:
>
> Bruger du Option Explicit?
Nej ikke Option explicit

> Har du prøvet at udskrive antal_nej hhv. antalrecords?
Ja som sagt har jeg disse værdier - og med Access DB var det heller ikke
noget problem at beregne antal data med værdien 'nej' som procent af
allerecords. (antal_nej/antalrecords *100), men i My SQL kan jeg ikke få det
til at fungere.!
hilsen Otto



Jørn Andersen (17-02-2007)
Kommentar
Fra : Jørn Andersen


Dato : 17-02-07 00:16

On Fri, 16 Feb 2007 23:40:25 +0100, "Otto" <ottoleholt@tele.dk> wrote:

>Jeg shopper ikke rundt. Men bliver henvist fra den den eneNG till den anden.
>ASP folk vil henvise mig til database NG og database til ASP NG.

Den fejl du har nu er en ASP-fejl, og derfor er der størst chance i
ASP-gruppen.

I øvrigt: Søg på ASP-fejl i:
<url: http://classicasp.aspfaq.com/>
I dette tilfælde siger den nu ikke så meget andet, end hvad der står i
fejl-meddelelsen - så bare til ena nden gang. Bare put nummeret ind i
søgeboksen, og der er ofte bid.


<snip>
>> Har du prøvet at udskrive antal_nej hhv. antalrecords?
>Ja som sagt har jeg disse værdier - og med Access DB var det heller ikke
>noget problem at beregne antal data med værdien 'nej' som procent af
>allerecords. (antal_nej/antalrecords *100), men i My SQL kan jeg ikke få det
>til at fungere.!

Ud over at udskrive *værdierne*, kan du prøve at udskrive TypeName -
altså hvilken datatype, der er tale om:
Response.Write TypeName(antal_nej) & "<br>" & vbcrlf
Response.Write TypeName(antalrecords)

Hvis du får:
' ->ERROR Fejltype:
' Der opstod en Microsoft VBScript-kørselsfejl (0x800A000D)
' Typer stemmer ikke overens

ved linien:
procent_nej = antal_nej/antalrecords
- så ville det måske være værd at prøve.

En anden mulighed kunne være, at du dividerer med en Null-værdi - men
om den lige vil give denne fejl, kan jeg ikke overskue.

Du kan også prøve at putte noget validering ind, inden du beregner,
fx:
If IsNumeric(antalrecords) And IsNumeric(antal_nej) Then
antalrecords = CDbl(antalrecords)
antal_nej = CDbl(antal_nej)
procent_nej = antal_nej/antalrecords
Else
Response.Write "Ikke numerisk:<br>" & vbcrlf & _
TypeName(antal_nej) & "<br>" & vbcrlf & _
TypeName(antalrecords)
' - og evt, et ID for den fejlende record
Response.End
End If

Køl hovedet ned
- og gå lidt systematisk frem. Post hvad du gør, og hvilke resultater,
du får, så finder du nok fejlen.

Du startede med at skrive, at du *kun* har skiftet fra Access til
MySql - måske er du kommet til at ændre lidt mere undervejs ...


Good luck,
Jørn

--
Jørn Andersen, Brønshøj

Danske tropper hjem fra Irak, nu!
Skriv under: www.kirkmand-initiativet.dk

Jens Gyldenkærne Cla~ (17-02-2007)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 17-02-07 00:49

Otto skrev:

> Ja det har jeg - og jeg har prøvet flere forskellie forlsag
> fra behjælpsomme flinke folk - som dig selv - men det virker
> ikke( jeg kan ikke få det til at virke)

Så spørg igen - eller giv i det mindste besked om at du prøver at
få hjælp i en anden gruppe.



>> Du bør i øvrigt vise hvordan du får lagt en værdi i
>> antalrecords.
>
> Det gør jeg sådan :
> ' samlet antal records
> strSQL="SELECT COUNT(*) AS antalrecords FROM
> bruger_evaluering"

Herover eksisterer antalrecords kun som et aliasfelt i dit postsæt.
Det kan ikke bruges som en variabel, medmindre du også har en
sætning a la:

antalrecords = rs("antalrecords")

>> Bruger du Option Explicit?
> Nej ikke Option explicit

Så er det et godt tidspunkt at komme i gang med det. Option
Explicit forhindrer en masse simple fejl der kan opstå hvis man fx
får skrevet/stavet en variabel forkert.

>> Har du prøvet at udskrive antal_nej hhv. antalrecords?

> Ja som sagt har jeg disse værdier

Kan du lokkes til at gøre det igen - og så fortælle hvad du helt
konkret får ud?

Fx som her:

Response.write "antalrecords: " & antalrecords & "<br>"
Response.write "antal_nej: " & antal_nej & "<br>"
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Otto (17-02-2007)
Kommentar
Fra : Otto


Dato : 17-02-07 18:06

Til Jens og Jørn -
Tusinde tak for jeres meget instruktive og konstruktive forslag - det er jeg
meget taknemlig over. Løsningen på mit spørgsmål lå også i det i sendte
tidligere.

Jeg får nu beregnet procent svar 'nej' på denne måde:

strSQL="SELECT COUNT(Q1) AS Q1_nej FROM bruger_evaluering WHERE Q1 = 'NEJ' "

set RS = connection.Execute(strSQL)
antal_nej = CDbl(RS("Q1_nej"))
procent_nej = CDbl(FormatNumber((antal_nej / antalrecords * 100),2))

Det som gjorde forskellen var 'CDbl'
(antalrecords hentes på samme måde i en tidligere sql)

Dagen idag har altså med jeres hjælp bragt mig en del længere ... fortsat
problemer .. men dem lader vi ligge et øjeblik

hilsen - og mange tak Otto



Jørn Andersen (18-02-2007)
Kommentar
Fra : Jørn Andersen


Dato : 18-02-07 22:43

On Sat, 17 Feb 2007 18:06:12 +0100, "Otto" <ottoleholt@tele.dk> wrote:

Jeg har sendt mail til dig, men får delivery failure fra talkactive.dk

Mvh. Jørn

--
Jørn Andersen, Brønshøj

Danske tropper hjem fra Irak, nu!
Skriv under: www.kirkmand-initiativet.dk

Søg
Reklame
Statistik
Spørgsmål : 177547
Tips : 31968
Nyheder : 719565
Indlæg : 6408797
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste