when I ourput data from Access, numbers bigger than 999 are shown with
letter "B" inserted into the 4th position left to the coma. (in my w2k
regional settings I have the decimal dot separator set to "." and digit
group separater set to nothing. In Access the number are shown with "." as
decimal separator, but for some reason ASP used "," instead)
Say, 3000,00 is shown as 3B 000,00
Why and how do I sort this out? 19 3077
What do you mean by "output data from Access"? How are you outputting it,
and what software are you using to view the output data?
"aa" <A@aa.comwrote in message
news:ey**************@TK2MSFTNGP03.phx.gbl...
when I ourput data from Access, numbers bigger than 999 are shown with
letter "B" inserted into the 4th position left to the coma. (in my w2k
regional settings I have the decimal dot separator set to "." and digit
group separater set to nothing. In Access the number are shown with "." as
decimal separator, but for some reason ASP used "," instead)
Say, 3000,00 is shown as 3B 000,00
Why and how do I sort this out?
Likely the server on which ASP is running has different Regional Settings
than the computer where Access is running.
Try explicitly formatting the numbers.
--
Doug Steele, Microsoft Access MVP http://I.Am/DougSteele
(no e-mails, please!)
"aa" <A@aa.comwrote in message
news:ey**************@TK2MSFTNGP03.phx.gbl...
when I ourput data from Access, numbers bigger than 999 are shown with
letter "B" inserted into the 4th position left to the coma. (in my w2k
regional settings I have the decimal dot separator set to "." and digit
group separater set to nothing. In Access the number are shown with "." as
decimal separator, but for some reason ASP used "," instead)
Say, 3000,00 is shown as 3B 000,00
Why and how do I sort this out?
Everything is on local w2k and Personal Web Server
"Douglas J. Steele" <NOSPAM_djsteele@NOSPAM_canada.comwrote in message
news:#1**************@TK2MSFTNGP04.phx.gbl...
Likely the server on which ASP is running has different Regional Settings
than the computer where Access is running.
Try explicitly formatting the numbers.
--
Doug Steele, Microsoft Access MVP http://I.Am/DougSteele
(no e-mails, please!)
"aa" <A@aa.comwrote in message
news:ey**************@TK2MSFTNGP03.phx.gbl...
when I ourput data from Access, numbers bigger than 999 are shown with
letter "B" inserted into the 4th position left to the coma. (in my w2k
regional settings I have the decimal dot separator set to "." and digit
group separater set to nothing. In Access the number are shown with "."
as
decimal separator, but for some reason ASP used "," instead)
Say, 3000,00 is shown as 3B 000,00
Why and how do I sort this out?
ASP
The query is stored in MDB file and when open in Access all the numbers look
OK
View in IE6
But why "B"? What is "B"?
"Baz" <ba**@REMOVEbcap.THEeuro1net.CAPScomwrote in message
news:45***********************@news.zen.co.uk...
What do you mean by "output data from Access"? How are you outputting it,
and what software are you using to view the output data?
"aa" <A@aa.comwrote in message
news:ey**************@TK2MSFTNGP03.phx.gbl...
when I ourput data from Access, numbers bigger than 999 are shown with
letter "B" inserted into the 4th position left to the coma. (in my w2k
regional settings I have the decimal dot separator set to "." and digit
group separater set to nothing. In Access the number are shown with "."
as
decimal separator, but for some reason ASP used "," instead)
Say, 3000,00 is shown as 3B 000,00
Why and how do I sort this out?
applying ASP function FormatNumber() with digit groups separation disabled
sorted the problem out.
But I still curious where that "B" came from
"Douglas J. Steele" <NOSPAM_djsteele@NOSPAM_canada.comwrote in message
news:#1**************@TK2MSFTNGP04.phx.gbl...
Likely the server on which ASP is running has different Regional Settings
than the computer where Access is running.
Try explicitly formatting the numbers.
--
Doug Steele, Microsoft Access MVP http://I.Am/DougSteele
(no e-mails, please!)
"aa" <A@aa.comwrote in message
news:ey**************@TK2MSFTNGP03.phx.gbl...
when I ourput data from Access, numbers bigger than 999 are shown with
letter "B" inserted into the 4th position left to the coma. (in my w2k
regional settings I have the decimal dot separator set to "." and digit
group separater set to nothing. In Access the number are shown with "."
as
decimal separator, but for some reason ASP used "," instead)
Say, 3000,00 is shown as 3B 000,00
Why and how do I sort this out?
I think you are more likely to get an answer from the ASP people than the
Access people.
"aa" <A@aa.comwrote in message
news:Og**************@TK2MSFTNGP05.phx.gbl...
applying ASP function FormatNumber() with digit groups separation disabled
sorted the problem out.
But I still curious where that "B" came from
"Douglas J. Steele" <NOSPAM_djsteele@NOSPAM_canada.comwrote in message
news:#1**************@TK2MSFTNGP04.phx.gbl...
Likely the server on which ASP is running has different Regional
Settings
than the computer where Access is running.
Try explicitly formatting the numbers.
--
Doug Steele, Microsoft Access MVP http://I.Am/DougSteele
(no e-mails, please!)
"aa" <A@aa.comwrote in message
news:ey**************@TK2MSFTNGP03.phx.gbl...
when I ourput data from Access, numbers bigger than 999 are shown
with
letter "B" inserted into the 4th position left to the coma. (in my w2k
regional settings I have the decimal dot separator set to "." and
digit
group separater set to nothing. In Access the number are shown with
"."
as
decimal separator, but for some reason ASP used "," instead)
Say, 3000,00 is shown as 3B 000,00
Why and how do I sort this out?
>
>
"aa" <A@aa.comwrote in message
news:Og**************@TK2MSFTNGP05.phx.gbl...
applying ASP function FormatNumber() with digit groups separation disabled
sorted the problem out.
But I still curious where that "B" came from
We are going to need to see some code if we have any chance helping you.
You think it has to do with the ASP code?
It pretty standard and does not seem to use anything which can relevant to
the problem, but might have to do with some settings on the computer, for it
works OK on my XP-Home notebook, and the problems happen on w2k Pro SP4.
Anyway, the code creates a recordset object and then goes through it
building rows for an HTML table like this:
================================
set objRS=objCom.Execute
dim html_string, c
do while not objRS.eof
c= objRS(2)
html_string=html_string&"<tr><td>" & c & "</td></tr>"
objRS.movenext
loop
Response.write html_string
================================
This gets letter "B" inserted
If I change
c= objRS(2)
to
c= FormatNumber(objRS(2),2,,,0)
then it is OK
"Anthony Jones" <An*@yadayadayada.comwrote in message
news:eb**************@TK2MSFTNGP04.phx.gbl...
>
"aa" <A@aa.comwrote in message
news:Og**************@TK2MSFTNGP05.phx.gbl...
applying ASP function FormatNumber() with digit groups separation
disabled
sorted the problem out.
But I still curious where that "B" came from
We are going to need to see some code if we have any chance helping you.
"aa" <A@aa.comwrote in message
news:OE**************@TK2MSFTNGP02.phx.gbl...
You think it has to do with the ASP code?
It pretty standard and does not seem to use anything which can relevant to
the problem, but might have to do with some settings on the computer, for
it
works OK on my XP-Home notebook, and the problems happen on w2k Pro SP4.
Anyway, the code creates a recordset object and then goes through it
building rows for an HTML table like this:
================================
set objRS=objCom.Execute
dim html_string, c
do while not objRS.eof
c= objRS(2)
html_string=html_string&"<tr><td>" & c & "</td></tr>"
objRS.movenext
loop
Response.write html_string
================================
This gets letter "B" inserted
If I change
c= objRS(2)
to
c= FormatNumber(objRS(2),2,,,0)
then it is OK
"Anthony Jones" <An*@yadayadayada.comwrote in message
news:eb**************@TK2MSFTNGP04.phx.gbl...
>> "aa" <A@aa.comwrote in message news:Og**************@TK2MSFTNGP05.phx.gbl...
applying ASP function FormatNumber() with digit groups separation
disabled
sorted the problem out.
But I still curious where that "B" came from We are going to need to see some code if we have any chance helping you.
I don't think it's anything to do with the code, I think there's some kind
of number display format setting somewhere, but I don't know enough about
ASP to know what.
The fact that using the Format function "corrects" it proves that what you
are getting from the recordset is a number. Numbers don't contain "B"
characters (at least, decimal ones don't!), hence what you have is a display
problem, not a problem with the data.
"aa" <A@aa.comwrote in message
news:OE**************@TK2MSFTNGP02.phx.gbl...
You think it has to do with the ASP code?
It pretty standard and does not seem to use anything which can relevant to
the problem, but might have to do with some settings on the computer, for
it
works OK on my XP-Home notebook, and the problems happen on w2k Pro SP4.
Anyway, the code creates a recordset object and then goes through it
building rows for an HTML table like this:
================================
set objRS=objCom.Execute
dim html_string, c
do while not objRS.eof
c= objRS(2)
html_string=html_string&"<tr><td>" & c & "</td></tr>"
objRS.movenext
loop
Response.write html_string
================================
This gets letter "B" inserted
If I change
c= objRS(2)
to
c= FormatNumber(objRS(2),2,,,0)
then it is OK
"Anthony Jones" <An*@yadayadayada.comwrote in message
news:eb**************@TK2MSFTNGP04.phx.gbl...
"aa" <A@aa.comwrote in message
news:Og**************@TK2MSFTNGP05.phx.gbl...
applying ASP function FormatNumber() with digit groups separation
disabled
sorted the problem out.
But I still curious where that "B" came from
>
We are going to need to see some code if we have any chance helping you.
Numbers do not contain, say, spacers either, yet spacers might be incertad
as digit group separator
In my case it looks like "B" is inserted as such a separator. Or the System
is incerting something else but encoding presents it as B
"Baz" <ba**@REMOVEbcap.THEeuro1net.CAPScomwrote in message
news:45***********************@news.zen.co.uk...
I don't think it's anything to do with the code, I think there's some kind
of number display format setting somewhere, but I don't know enough about
ASP to know what.
The fact that using the Format function "corrects" it proves that what you
are getting from the recordset is a number. Numbers don't contain "B"
characters (at least, decimal ones don't!), hence what you have is a
display
problem, not a problem with the data.
"aa" <A@aa.comwrote in message
news:OE**************@TK2MSFTNGP02.phx.gbl...
You think it has to do with the ASP code?
It pretty standard and does not seem to use anything which can relevant
to
the problem, but might have to do with some settings on the computer,
for
it
works OK on my XP-Home notebook, and the problems happen on w2k Pro SP4.
Anyway, the code creates a recordset object and then goes through it
building rows for an HTML table like this:
================================
set objRS=objCom.Execute
dim html_string, c
do while not objRS.eof
c= objRS(2)
html_string=html_string&"<tr><td>" & c & "</td></tr>"
objRS.movenext
loop
Response.write html_string
================================
This gets letter "B" inserted
If I change
c= objRS(2)
to
c= FormatNumber(objRS(2),2,,,0)
then it is OK
"Anthony Jones" <An*@yadayadayada.comwrote in message
news:eb**************@TK2MSFTNGP04.phx.gbl...
>
"aa" <A@aa.comwrote in message
news:Og**************@TK2MSFTNGP05.phx.gbl...
applying ASP function FormatNumber() with digit groups separation
disabled
sorted the problem out.
But I still curious where that "B" came from
>
We are going to need to see some code if we have any chance helping
you.
>
>
Numbers do NOT contain spaces or group separators, such things are a
function of display formatting, they are NOT part of numeric data. The
FormatNumber function operates on numbers, any input value which contained a
"B" would be a string, not a number, and would result in a type mismatch
error. Hence, the "B" is not in the data, it is being added by some display
formatting.
"aa" <A@aa.comwrote in message
news:Ob*************@TK2MSFTNGP06.phx.gbl...
Numbers do not contain, say, spacers either, yet spacers might be incertad
as digit group separator
In my case it looks like "B" is inserted as such a separator. Or the
System
is incerting something else but encoding presents it as B
"Baz" <ba**@REMOVEbcap.THEeuro1net.CAPScomwrote in message
news:45***********************@news.zen.co.uk...
I don't think it's anything to do with the code, I think there's some
kind
of number display format setting somewhere, but I don't know enough
about
ASP to know what.
The fact that using the Format function "corrects" it proves that what
you
are getting from the recordset is a number. Numbers don't contain "B"
characters (at least, decimal ones don't!), hence what you have is a
display
problem, not a problem with the data.
"aa" <A@aa.comwrote in message
news:OE**************@TK2MSFTNGP02.phx.gbl...
You think it has to do with the ASP code?
It pretty standard and does not seem to use anything which can
relevant
to
the problem, but might have to do with some settings on the computer,
for
it
works OK on my XP-Home notebook, and the problems happen on w2k Pro
SP4.
Anyway, the code creates a recordset object and then goes through it
building rows for an HTML table like this:
>
================================
set objRS=objCom.Execute
dim html_string, c
do while not objRS.eof
c= objRS(2)
html_string=html_string&"<tr><td>" & c & "</td></tr>"
objRS.movenext
loop
Response.write html_string
================================
>
This gets letter "B" inserted
If I change
c= objRS(2)
to
c= FormatNumber(objRS(2),2,,,0)
then it is OK
>
>
"Anthony Jones" <An*@yadayadayada.comwrote in message
news:eb**************@TK2MSFTNGP04.phx.gbl...
"aa" <A@aa.comwrote in message
news:Og**************@TK2MSFTNGP05.phx.gbl...
applying ASP function FormatNumber() with digit groups separation
disabled
sorted the problem out.
But I still curious where that "B" came from
>
We are going to need to see some code if we have any chance helping
you.
>
>
"aa" <A@aa.comwrote in message
news:OE**************@TK2MSFTNGP02.phx.gbl...
You think it has to do with the ASP code?
It pretty standard and does not seem to use anything which can relevant to
the problem, but might have to do with some settings on the computer, for
it
works OK on my XP-Home notebook, and the problems happen on w2k Pro SP4.
Anyway, the code creates a recordset object and then goes through it
building rows for an HTML table like this:
================================
set objRS=objCom.Execute
dim html_string, c
do while not objRS.eof
c= objRS(2)
html_string=html_string&"<tr><td>" & c & "</td></tr>"
objRS.movenext
loop
Response.write html_string
================================
This gets letter "B" inserted
If I change
c= objRS(2)
to
c= FormatNumber(objRS(2),2,,,0)
then it is OK
This is simply a case of messed up regional settings. Instead of having a .
or a , for the thousands separator the (or actually a) regional setting for
it has B as the thousands seperator.
First check that this isn't the case in the control panel -regional
settings -numbers tab. However this isn't the only place that IIS may get
regional settings in fact it's unlikely. Regional settings are per user and
are stored in the user profile.
Typically the user accessing a web site does not have a profile on the
server (unless they've logged on interactively). Most often the user is the
anonymous user anyway.
In this case ASP get it's regional settings from the .DEFAULT user profile.
Hence you should use RegEdit and open the key:-
HKEY_USERS\.DEFAULT\Control Panel\International
In there is a value sThousand value. It seems likely to me that currently
this contains a B.
Things are made worse by the fact that ASP caches the regional settings and
will use them for the life time of the process. Hence even if other
requests may run under user accounts of user that do have a profile with
different regional settings these settings will be ignored.
Therefore you may find that .DEFAULT is ok but another user profile is wrong
and it's this profile that just happens to be the first used.
Anthony.
Thanks, Anthony,
1. My control panel settings I addressed in my originmal message - there is
nothing criminal in them as you can see
2. HKEY_USERS\.DEFAULT\Control Panel\International
I do not know which parameter there is responsible in this case, but by the
name, there is one which might be relevant: sGrouping which is set to 3;0
Is this the one?
Regarding other profiles - this is my personal computer and nobody was
setting profiles in here. Neither did I for I even do not know how to do
this.
However, apart from DEFAULT there are two other entries under HKEY_USERS,
named S-1-5-21-1960408961-1417001333-725345543-500 and
S-1-5-21-1960408961-1417001333-725345543-500_Classes
They both have sGrouping set to 3;0
What is the verdict?
"Anthony Jones" <An*@yadayadayada.comwrote in message
news:e1**************@TK2MSFTNGP03.phx.gbl...
>
"aa" <A@aa.comwrote in message
news:OE**************@TK2MSFTNGP02.phx.gbl...
You think it has to do with the ASP code?
It pretty standard and does not seem to use anything which can relevant
to
the problem, but might have to do with some settings on the computer,
for
it
works OK on my XP-Home notebook, and the problems happen on w2k Pro SP4.
Anyway, the code creates a recordset object and then goes through it
building rows for an HTML table like this:
================================
set objRS=objCom.Execute
dim html_string, c
do while not objRS.eof
c= objRS(2)
html_string=html_string&"<tr><td>" & c & "</td></tr>"
objRS.movenext
loop
Response.write html_string
================================
This gets letter "B" inserted
If I change
c= objRS(2)
to
c= FormatNumber(objRS(2),2,,,0)
then it is OK
This is simply a case of messed up regional settings. Instead of having a
..
or a , for the thousands separator the (or actually a) regional setting
for
it has B as the thousands seperator.
First check that this isn't the case in the control panel -regional
settings -numbers tab. However this isn't the only place that IIS may
get
regional settings in fact it's unlikely. Regional settings are per user
and
are stored in the user profile.
Typically the user accessing a web site does not have a profile on the
server (unless they've logged on interactively). Most often the user is
the
anonymous user anyway.
In this case ASP get it's regional settings from the .DEFAULT user
profile.
Hence you should use RegEdit and open the key:-
HKEY_USERS\.DEFAULT\Control Panel\International
In there is a value sThousand value. It seems likely to me that currently
this contains a B.
Things are made worse by the fact that ASP caches the regional settings
and
will use them for the life time of the process. Hence even if other
requests may run under user accounts of user that do have a profile with
different regional settings these settings will be ignored.
Therefore you may find that .DEFAULT is ok but another user profile is
wrong
and it's this profile that just happens to be the first used.
Anthony.
"aa" <A@aa.comwrote in message
news:el**************@TK2MSFTNGP04.phx.gbl...
Thanks, Anthony,
1. My control panel settings I addressed in my originmal message - there
is
nothing criminal in them as you can see
2. HKEY_USERS\.DEFAULT\Control Panel\International
I do not know which parameter there is responsible in this case, but by
the
name, there is one which might be relevant: sGrouping which is set to 3;0
Is this the one?
Regarding other profiles - this is my personal computer and nobody was
setting profiles in here. Neither did I for I even do not know how to do
this.
However, apart from DEFAULT there are two other entries under HKEY_USERS,
named S-1-5-21-1960408961-1417001333-725345543-500 and
S-1-5-21-1960408961-1417001333-725345543-500_Classes
They both have sGrouping set to 3;0
What is the verdict?
That's fine. What setting do you have for sThousand?
below is a very interesting comment I received from Mihai Nita in NG dealing
with
i18:
++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++
This has little to do with number format.
Russian uses non breaking space (U+00A0) as thousand separator (an I guess
you are on Russian system because of the 866). This is the result of number
formatting, and it is correct.
Non-breaking space as UTF-8 is 'C2 A0' (bytes), which, when interpreted
as 1252, gives cyrillic capital letter Ve (U+0412) (which looks like an
uppercase B), followed by non-breakig space.
So you are seeing a UTF-8 page as 1251.
To confirm this is the case, force the browser to UTF-8:
Firefox: View -Character Encoding -Unicode (UTF-8)
IE6: View -Encoding -Unicode (UTF-8)
Is the result looks ok, try adding the proper meta tag in the head section
of
your HTML:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
I have nothing for sThousand - just a blank space.
As you can see from my previous post, the problem was in wrong encodinmg of
my HTML page.
But they bit of the Registry you refered me to is interesting. Where can I
read about meanings of all the parameters there?
"Anthony Jones" <An*@yadayadayada.comwrote in message
news:#d**************@TK2MSFTNGP03.phx.gbl...
That's fine. What setting do you have for sThousand?
"aa" <A@aa.comwrote in message
news:%2****************@TK2MSFTNGP06.phx.gbl...
I have nothing for sThousand - just a blank space.
As you can see from my previous post, the problem was in wrong encodinmg
of
my HTML page.
I don't think that is true. I see nothing wrong with either examples of
your code.
But they bit of the Registry you refered me to is interesting. Where can I
read about meanings of all the parameters there?
sThousand simply specifies the character to use to separate groups of
thousands in formatting number. I'm not sure what would happen in nothing
is specified. These values are manipulated by the control panel regional
settings.
Try editing that registry value and placing a , or . in that value.
Also worth a look is this KB:- http://support.microsoft.com/kb/306044
>
"Anthony Jones" <An*@yadayadayada.comwrote in message
news:#d**************@TK2MSFTNGP03.phx.gbl...
That's fine. What setting do you have for sThousand?
"aa" <A@aa.comwrote in message
news:eU**************@TK2MSFTNGP05.phx.gbl...
below is a very interesting comment I received from Mihai Nita in NG
dealing
with
i18:
++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++
This has little to do with number format.
Russian uses non breaking space (U+00A0) as thousand separator (an I guess
you are on Russian system because of the 866). This is the result of
number
formatting, and it is correct.
Ah I see that's why your sThousand setting appears blank.
>
Non-breaking space as UTF-8 is 'C2 A0' (bytes), which, when interpreted
as 1252, gives cyrillic capital letter Ve (U+0412) (which looks like an
uppercase B), followed by non-breakig space.
So you are seeing a UTF-8 page as 1251.
To confirm this is the case, force the browser to UTF-8:
Firefox: View -Character Encoding -Unicode (UTF-8)
IE6: View -Encoding -Unicode (UTF-8)
Is the result looks ok, try adding the proper meta tag in the head section
of
your HTML:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
In ASP I prefer Response.CharSet = "UTF-8" This thread has been closed and replies have been disabled. Please start a new discussion. Similar topics
by: Gustav Hållberg |
last post by:
I tried finding a discussion around adding the possibility to have
optional underscores inside numbers in Python. This is a popular option
available in several "competing" scripting langauges, that...
|
by: Christopher Robin |
last post by:
Hi,
I'm trying to find if a function exists that would format a large (> 1000)
number with comma notation on a unix type system...
I currently have
X = 10000;
printf("X = %d\n", X);
which...
|
by: lllomh |
last post by:
Define the method first
this.state = {
buttonBackgroundColor: 'green',
isBlinking: false, // A new status is added to identify whether the button is blinking or not
}
autoStart=()=>{
|
by: Mushico |
last post by:
How to calculate date of retirement from date of birth
|
by: DJRhino |
last post by:
Was curious if anyone else was having this same issue or not....
I was just Up/Down graded to windows 11 and now my access combo boxes are not acting right. With win 10 I could start typing...
|
by: isladogs |
last post by:
The next Access Europe meeting will be on Wednesday 4 Oct 2023 starting at 18:00 UK time (6PM UTC+1) and finishing at about 19:15 (7.15PM)
The start time is equivalent to 19:00 (7PM) in Central...
|
by: Aliciasmith |
last post by:
In an age dominated by smartphones, having a mobile app for your business is no longer an option; it's a necessity. Whether you're a startup or an established enterprise, finding the right mobile app...
|
by: giovanniandrean |
last post by:
The energy model is structured as follows and uses excel sheets to give input data:
1-Utility.py contains all the functions needed to calculate the variables and other minor things (mentions...
|
by: Teri B |
last post by:
Hi, I have created a sub-form Roles. In my course form the user selects the roles assigned to the course.
0ne-to-many. One course many roles.
Then I created a report based on the Course form and...
|
by: isladogs |
last post by:
The next Access Europe meeting will be on Wednesday 1 Nov 2023 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM)
Please note that the UK and Europe revert to winter time on...
|
by: NeoPa |
last post by:
Introduction
For this article I'll be focusing on the Report (clsReport) class. This simply handles making the calling Form invisible until all of the Reports opened by it have been closed, when it...
| |