/ 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
Decimaler i tabel ?
Fra : Is


Dato : 25-11-06 19:40

Hej

Jeg henter data fra en forespørgsel i access, og hvis jeg åbner denne qry,
så er der 2 decimaler, men når jeg prøver at vise dem via en asp fil i en
taben, så fjernes for værdien unødvendige decimaler.

hvordan tvinger jeg den til at vise decimalerne, også hvis de er 0 ???


--
Med venlig hilsen
Erik Isager



 
 
Ukendt (25-11-2006)
Kommentar
Fra : Ukendt


Dato : 25-11-06 22:10

> Jeg henter data fra en forespørgsel i access, og hvis jeg åbner denne qry,
> så er der 2 decimaler, men når jeg prøver at vise dem via en asp fil i en
> taben, så fjernes for værdien unødvendige decimaler.
>
> hvordan tvinger jeg den til at vise decimalerne, også hvis de er 0 ???

Med denne funktion:

Function VisPris(Tal As String) As String
'-----------------------------
'
' f. eks: Pris = VisPris(23.856)
'-----------------------------
Dim intKommapos As Integer
Dim strHeltal As String, strDecimal As String
Dim arrTal
' Find en kommapos i strengen
intKommapos = InStr(Tal, ",")
'Hvis der ikke er noget komma
If intKommapos = 0 Then
Tal = Tal & ",00"
End If
'Hvis der er et komma
If intKommapos > 0 Then
arrTal = Split(Tal, ",")
' så split op i to dele
strHeltal = arrTal(0) & ","
strDecimal = Left(arrTal(1) & strDecimal & "0", 2)
' og saml det igen
Tal = strHeltal & strDecimal
End If
VisPris = Tal
End Function

Med venlig hilsen

Tom Jensen
- Læs mere om asp og databaser her -
www.ffsoft.dk




Is (25-11-2006)
Kommentar
Fra : Is


Dato : 25-11-06 22:52


"Tom Jensen" <noone> skrev i en meddelelse
news:12mhc6tf5rdgvc5@corp.supernews.com...
> > Jeg henter data fra en forespørgsel i access, og hvis jeg åbner denne
qry,
> > så er der 2 decimaler, men når jeg prøver at vise dem via en asp fil i
en
> > taben, så fjernes for værdien unødvendige decimaler.
> >
> > hvordan tvinger jeg den til at vise decimalerne, også hvis de er 0 ???
>
> Med denne funktion:
>
> Function VisPris(Tal As String) As String
> '-----------------------------
> '
> ' f. eks: Pris = VisPris(23.856)
> '-----------------------------
> Dim intKommapos As Integer
> Dim strHeltal As String, strDecimal As String
> Dim arrTal
> ' Find en kommapos i strengen
> intKommapos = InStr(Tal, ",")
> 'Hvis der ikke er noget komma
> If intKommapos = 0 Then
> Tal = Tal & ",00"
> End If
> 'Hvis der er et komma
> If intKommapos > 0 Then
> arrTal = Split(Tal, ",")
> ' så split op i to dele
> strHeltal = arrTal(0) & ","
> strDecimal = Left(arrTal(1) & strDecimal & "0", 2)
> ' og saml det igen
> Tal = strHeltal & strDecimal
> End If
> VisPris = Tal
> End Function
>

Tak, det ser spændende ud - den driller mig dog lidt

jeg har det der skal undersøges her:
data.Fields ("Resultat")

Hvor skal jeg indsætte det ???

Er det her: intKommapos = InStr(Tal, ",")
så hvordan??

Det er vel ikke nødvendigt at indsætte det som en function ? Koden kan vel
også indsættes i den tabel hvor data skal tjekkes for decimaler ??


--
Med venlig hilsen
Erik Isager



Ukendt (26-11-2006)
Kommentar
Fra : Ukendt


Dato : 26-11-06 18:29

> Hvor skal jeg indsætte det ???

VisPris(data.Fields ("Resultat"))

Er det i en .asp side du bruger det ?? Jeg er lige med på
hvad data.fields er for noget.

> Det er vel ikke nødvendigt at indsætte det som en function ? Koden kan vel
> også indsættes i den tabel hvor data skal tjekkes for decimaler ??

Du kan betragte funktionen som et filter, enten sender du data en tur
igennem
filteret inden du lægger dem i tabellen eller osse sender du data igennem
filteret
inden du præsenterer det for brugerne.
Funktionen kan med stort held indsættes på en speciel side og så kan du lave
et include på hver side der får brug for funktionen.

Med venlig hilsen

Tom Jensen
- Læs mere om asp og databaser her -
www.ffsoft.dk




Is (26-11-2006)
Kommentar
Fra : Is


Dato : 26-11-06 18:46


"Tom Jensen" <noone> skrev i en meddelelse
news:12mjjkghuv4c2c5@corp.supernews.com...
> > Hvor skal jeg indsætte det ???
>
> VisPris(data.Fields ("Resultat"))
>
> Er det i en .asp side du bruger det ?? Jeg er lige med på
> hvad data.fields er for noget.
>
> > Det er vel ikke nødvendigt at indsætte det som en function ? Koden kan
vel
> > også indsættes i den tabel hvor data skal tjekkes for decimaler ??
>
> Du kan betragte funktionen som et filter, enten sender du data en tur
> igennem
> filteret inden du lægger dem i tabellen eller osse sender du data igennem
> filteret
> inden du præsenterer det for brugerne.
> Funktionen kan med stort held indsættes på en speciel side og så kan du
lave
> et include på hver side der får brug for funktionen.
>
> Med venlig hilsen
>
> Tom Jensen
> - Læs mere om asp og databaser her -
> www.ffsoft.dk


Jeg trode funktionen skulle være i "tabellen" og ikke kunne køre alle
poster igennem i "data" først.

skal den så være mellem en
While NOT data.EOF
og
data.MoveNext
Wend


--
Med venlig hilsen
Erik Isager



Is (26-11-2006)
Kommentar
Fra : Is


Dato : 26-11-06 18:54


"Tom Jensen" <noone> skrev i en meddelelse
news:12mjjkghuv4c2c5@corp.supernews.com...
> > Hvor skal jeg indsætte det ???
>
> VisPris(data.Fields ("Resultat"))
>
> Er det i en .asp side du bruger det ?? Jeg er lige med på
> hvad data.fields er for noget.

Ja det er

Jeg henter indholdet fra en forespørgsel (access) og sætter ind sådan:

data.Open "SELECT * FROM qryResultater WHERE klasse = 'b' ORDER BY resultat
DESC" , strConnect

"Resultat" er så en række i en tabel(access)

--
Med venlig hilsen
Erik Isager



Is (26-11-2006)
Kommentar
Fra : Is


Dato : 26-11-06 20:27

Hej

Har rodet lidt med den Tom sendte.

Har ændtet lidt, lagt den i en fil og kaldt den decimal2.inc

Den kalder jeg så i tabellen når data lægges i denne.

Men noget går galt !! hvis der kun er 1 decimal, så tages første decimal
tallet før, og sættes som decimal nr 2
Første decimal er ok.

lidt eksempel

er vises
98, 98,00
95,25 95,25
95,2 95,22
90,7 90,72
90,4 90,47



Er det nogle Dim der skal tømmes ???

Koden ser sådan ud nu:

Dim intKommapos
Dim strHeltal, strDecimal
Dim arrTal
Dim Tal


Tal = data.Fields ("Resultat")

' Find en kommapos i strengen
intKommapos = InStr(Tal, ",")

'Hvis der ikke er noget komma
If intKommapos = 0 Then
Tal = Tal & ",00"
End If

'Hvis der er et komma
If intKommapos > 0 Then
arrTal = Split(Tal, ",")
' så split op i to dele
strHeltal = arrTal(0) & ","
strDecimal = Left(arrTal(1) & strDecimal & "0", 2)
' og saml det igen
Tal = strHeltal & strDecimal

End If
Resultat = Tal



Ukendt (26-11-2006)
Kommentar
Fra : Ukendt


Dato : 26-11-06 22:00

Funktionen er placeret i filen funktioner.asp som ligger i mappen inc
**************************************************
Function RetPris(Tal)
Dim intKommapos, strHeltal, strDecimal, arrTal
' Find en kommapos i strengen
intKommapos = InStr(Tal, ",")
'Hvis der ikke er noget komma
If intKommapos = 0 Then
Tal = Tal & ",00"
End If
'Hvis der er et komma
If intKommapos > 0 Then
arrTal = Split(Tal, ",")
' så split op i to dele
strHeltal = arrTal(0) & ","
strDecimal = Left(arrTal(1) & strDecimal & "0", 2)
' og saml det igen
Tal = strHeltal & strDecimal
End If
RetPris = Tal
end function

Test af funktion
**********************************************
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<% ' Rettet 26-11-2006
Option Explicit
Response.Expires = 0
Session.LCID=1030
%>
<!-- Funktioner -->
<!--#include file="inc/funktioner.asp" -->
<%
response.write "" & retpris(98.) & "<br>"
response.write "" & retpris(98.25) & "<br>"
response.write "" & retpris(95.2) & "<br>"
response.write "" & retpris(90.7) & "<br>"
response.write "" & retpris(90.4) & "<br>"
%>

Resultat på skærm
**************************************
98,00
98,25
95,20
90,70
90,40



Ukendt (25-11-2006)
Kommentar
Fra : Ukendt


Dato : 25-11-06 22:18


"Is" <detteerminnewsgruppemailadresse2@get2net.dk> skrev i en meddelelse
news:45688ddb$0$49208$14726298@news.sunsite.dk...
> Hej
>
> Jeg henter data fra en forespørgsel i access, og hvis jeg åbner denne qry,
> så er der 2 decimaler, men når jeg prøver at vise dem via en asp fil i en
> taben, så fjernes for værdien unødvendige decimaler.
>
> hvordan tvinger jeg den til at vise decimalerne, også hvis de er 0 ???

FormatNumber(ditfelt,2) kan vist gøre det...
Bjarne



Is (25-11-2006)
Kommentar
Fra : Is


Dato : 25-11-06 23:01


"bsn" <bsnSNABELAoncableDOTdk> skrev i en meddelelse
news:4568b313$0$156$edfadb0f@dread11.news.tele.dk...
>
> "Is" <detteerminnewsgruppemailadresse2@get2net.dk> skrev i en meddelelse
> news:45688ddb$0$49208$14726298@news.sunsite.dk...
> > Hej
> >
> > Jeg henter data fra en forespørgsel i access, og hvis jeg åbner denne
qry,
> > så er der 2 decimaler, men når jeg prøver at vise dem via en asp fil i
en
> > taben, så fjernes for værdien unødvendige decimaler.
> >
> > hvordan tvinger jeg den til at vise decimalerne, også hvis de er 0 ???
>
> FormatNumber(ditfelt,2) kan vist gøre det...
> Bjarne

Hvor skal det indsættes?


--
Med venlig hilsen
Erik Isager



Ukendt (27-11-2006)
Kommentar
Fra : Ukendt


Dato : 27-11-06 21:56


"Is" <detteerminnewsgruppemailadresse2@get2net.dk> skrev
>> FormatNumber(ditfelt,2) kan vist gøre det...
>> Bjarne
>
> Hvor skal det indsættes?

<%Response.Write "<td>" & FormatNumber(ditfelt(eks: RS("Pris")),2) & </td>%>

Bjarne



Is (27-11-2006)
Kommentar
Fra : Is


Dato : 27-11-06 23:50


"bsn" <bsnSNABELAoncableDOTdk> skrev i en meddelelse
news:456b50d6$0$142$edfadb0f@dread11.news.tele.dk...
>
> "Is" <detteerminnewsgruppemailadresse2@get2net.dk> skrev
> >> FormatNumber(ditfelt,2) kan vist gøre det...
> >> Bjarne
> >
> > Hvor skal det indsættes?
>
> <%Response.Write "<td>" & FormatNumber(ditfelt(eks: RS("Pris")),2) &
</td>%>
>
> Bjarne
>
umiddelbart ser den jo nemmere ud en den Tom sendte - men jeg kan ikke få
den til at virke

Jeg har denne:

<td><%Response.Write data.Fields ("resultat") %> </td>

den sætter ind, men ikke altid 2 decimaler, hvordan vil du flette din
formatering ind ???

Du skriver "<%Response.Write" før "<td>"

Hvorfor det ?? Skriver du i hele rækken i tabellen med en gang
"Response.Write" ??


--
Med venlig hilsen
Erik Isager




Ukendt (28-11-2006)
Kommentar
Fra : Ukendt


Dato : 28-11-06 17:49


"Is" <detteerminnewsgruppemailadresse2@get2net.dk> skrev
>> >> FormatNumber(ditfelt,2) kan vist gøre det...
>> >> Bjarne
>> >
>> > Hvor skal det indsættes?
>>
>> <%Response.Write "<td>" & FormatNumber(ditfelt(eks: RS("Pris")),2) &
> "</td>"%>
>>
> umiddelbart ser den jo nemmere ud en den Tom sendte - men jeg kan ikke få
> den til at virke
>
> Jeg har denne:
>
> <td><%Response.Write data.Fields("resultat") %> </td>

Sådan kan det også skrives...

> den sætter ind, men ikke altid 2 decimaler, hvordan vil du flette din
> formatering ind ???

<td><%Response.Write FormatNumber(data.Fields("resultat"),2) %></td>
Du kan - hvis det er kr. det handler om - også bruge FormatCurrency...

>
> Du skriver "<%Response.Write" før "<td>"
> Hvorfor det ?? Skriver du i hele rækken i tabellen med en gang
> "Response.Write" ??

Det kan gøres på begge måder...

Bjarne



Is (28-11-2006)
Kommentar
Fra : Is


Dato : 28-11-06 19:13


> > Jeg har denne:
> >
> > <td><%Response.Write data.Fields("resultat") %> </td>
>
> Sådan kan det også skrives...
>
> > den sætter ind, men ikke altid 2 decimaler, hvordan vil du flette din
> > formatering ind ???
>
> <td><%Response.Write FormatNumber(data.Fields("resultat"),2) %></td>
> Du kan - hvis det er kr. det handler om - også bruge FormatCurrency...
>


Så virker det !!!

Tak for hjælpen.


--
Med venlig hilsen
Erik Isager



Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408924
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste