Avatar billede rookie44 Juniormester
02. december 2009 - 15:11 Der er 14 kommentarer og
1 løsning

Procent datavisning

Jeg har et Access XP-program, hvor jeg i en formular har et felt - tillæg - der skal vise værdien fra en tabel i %.
I tabellen er felt formatet sat til Reel med 2 decimaler og på formularen er felt formatet % med 2 decimaler.
Det virker fint, når jeg arbejder i Access XP, men hvis jeg åbner programmet i Access 2007 sker der følgende:
Indtaster jeg 23 vises 23,00 %
Indtaster jeg 200 vises 2,00 %
Indtaster jeg 2000 vises 20,00 %
Indtaster jeg 20000 vises 200,00%

Er det noget med opsætning af Access 2007?
Avatar billede Slettet bruger
02. december 2009 - 16:45 #1
Prøv at indtaste % efter - eks.
23%
200%
etc.
Avatar billede terry Ekspert
02. december 2009 - 17:09 #2
according to Access help:

% Percentage. The value is multiplied by 100 and a percent sign is appended.

Example:
Percent data = 3 Display 300%
            0.45          45%



But I muist admit I dont seem to be able to get it to works as I had hoped.

If the data type is Double (is that reel?) and format is Percent, and I enter for example 123 then it displays 123,00%
Avatar billede terry Ekspert
02. december 2009 - 17:14 #3
Avatar billede terry Ekspert
02. december 2009 - 17:20 #4
I've never really understood why entering a value say 7 it should by miltiply by 100!

According to this link http://www.everythingaccess.com/tutorials.asp?ID=The-lowdown-on-Access-2007

Under "Percent Format"
Percent format If you type 5 into a field formatted as "Percent", Access 2007 understands it as 5%. Previous versions interpreted it as 500%. (This workaround is no longer required.)


This workaround was the one mentioned in the previous link I gave.


But I think it all depend on what data type you use. Using Double seems to work.
Avatar billede Slettet bruger
02. december 2009 - 18:33 #5
Det giver god mening, at der bliver "ganget med 100%".
3 == 300%, da x% == x/100 og dermed x == x*100%.

At den agerer forskelligt, om tallet er over eller under 100 er i min optik idiotisk (se følgende uddrag fra spørgsmålet):
"Indtaster jeg 23 vises 23,00 %
Indtaster jeg 200 vises 2,00 %"

Det er nok ligesom den default vil have middle endian dato format (mm/dd/yyyy), men hvis man inputter en dato, hvor måneden overstiger 12, vil den benytte sig af little endian dato format (dd/mm/yyyy) - eks:
12/02/2009 == 2. december 2009
13/02/2009 == 13. februar 2009

Access inputmask sucks big time!

/1
Avatar billede terry Ekspert
02. december 2009 - 18:50 #6
"Det giver god mening, at der bliver "ganget med 100%"."

Well I think it did for Microsoft too until Access 2007 came along :o)

And according to the second link I gave it is now "what you see is what you get"
Avatar billede Slettet bruger
02. december 2009 - 22:20 #7
Men matematisk set, er 1 == 100%, så det er ikke WYSIWYG..

Men det forklarer stadig ikke, hvorfor han får:
"Indtaster jeg 23 vises 23,00 %
Indtaster jeg 200 vises 2,00 %"

Det skulle være
23 -> 23,00%
200 -> 200,00%

For at være sikker på, hvad du får, skal du altså appende %
Avatar billede terry Ekspert
03. december 2009 - 08:35 #8
In Access 2007 I've tried with different data types formatted as a procent and as far as I can see out of those I tried only Double works

Si if I enter 1 (which I see as 1) I get 1%. (What I see is what I get)

And as I'm no mathematician I cant see how 1 = 100% :o(

If I asked you to write down 51,25% would you NOT expect to see it as such?
Avatar billede Slettet bruger
03. december 2009 - 09:45 #9
I would expect to see 51,25% as 51,25% - but I would be just as pleased to see it as 0,5125 because % means 1/100.

If you say "23%" you mean "23 out of a hundred" or 23/100 or 0,23.
Therefore I would also expect 1 to be saved as 100% because 100% (100/100) is in fact 1.
<http://en.wikipedia.org/wiki/Percent>
Avatar billede rookie44 Juniormester
04. december 2009 - 17:03 #10
Det hjælper ikke. Ved focus på feltet skriver Access % i feltet.
Som sagt, når jeg skriver 23 vises 23,00% og i tabellen står det som 0,23. Når jeg skriver 200 vises det som 2,00% og i tabellen står der 2,00.
Programmet er i format XP og kører i Access 2007.
Hvis jeg prøver i et Access 2007 program, virker det OK.
Avatar billede terry Ekspert
04. december 2009 - 17:43 #11
any chance of seeing the dB?

ekspertenATsanthell.dk
AT = @
Avatar billede rookie44 Juniormester
04. december 2009 - 21:37 #12
terry

I can send you an Installation setup. But that will give you an Access.MDE.
So you can see the problem. Will that be Ok.
Avatar billede terry Ekspert
04. december 2009 - 21:47 #13
I would like to be able to see and alter the data and table design. and maybe see the form where you enter the data if ther is one. I dont need to see any code so I think an mde will be OK.
Avatar billede rookie44 Juniormester
05. december 2009 - 09:29 #14
Terry

I found the answer.
The code after Update says
If Number > 1 Then
  Number = Number / 100
End If

In Access XP there is no % in the field when I input a number.
In Access 2007 there is a % in the field when I input a number, so Access 2007 in that way calculate the number 123 to 1,23%

I close this case.
Avatar billede rookie44 Juniormester
05. december 2009 - 09:30 #15
O:)
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
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

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