webForumDet fria alternativet

Personnummer med streck

11 svar · 1 051 visningar · startad av evesve

evesveMedlem sedan sep. 2001163 inlägg
#1

Hej!
Jag har en Accessdatabas där personnumren är inskrivna utan streck.
Sedan är kolumnen formad till fälttyp personnummer och visas i Access med streck.
När jag visar datan på en ASP-sida så finns där inget streck.
Hur får jag det att visar rätt?
(12345-6789)
Kan jag även i textfält på sidan skriva in 10 siffror i följd och det med automatik visas med strecket?

VideMedlem sedan dec. 19998 577 inlägg
#2

Jag skulle helt klart lagra det i ett text-fält, och sedan formatera det i ASPsidan eller när du hämtar det via SQL.

------------------
Doesn't 'expecting the unexpected' make the unexpected expected?
webeye.nu

evesveMedlem sedan sep. 2001163 inlägg
#3

Att lagra det som textfält är nog inga problem.
Men tappar man inte kontrollfunktionen då?
(Felmeddelande om man skrivit fel?)

Ibland hämtar jag datan från ett annat program, så därför behöver jag ha dom lagrade som 10 siffror i följd för att slippa merarbete.

Jag har försökt hitta ett fungerande script för att formatera om utan att få till det.

Hur ser din lösning ut?

evesveMedlem sedan sep. 2001163 inlägg
#4

Någon?

jorgenMedlem sedan feb. 20012 412 inlägg
#5

Hej!

Hade gjort precis som vide:

Om du använder ASP:
http://script.webforum.nu/wf/Forum1/HTML/000056.html

Om du använder PHP:
http://script.webforum.nu/wf/Forum4/HTML/000023.html

Vid problem så fråga i resp. forum ;)

mvh Jörgen :)

------------------
Varför bråka när man kan kramas?

evesveMedlem sedan sep. 2001163 inlägg
#6

Tack, det kollar om personumret blir rätt skrivet.
Grundproblemet var egentligen att sidan ska visa
12345-6789
även om jag i databasen har formatet
123456789

jorgenMedlem sedan feb. 20012 412 inlägg
#7

Hej!

Satt och labbade lite med detta och lärde mig ett och annat nytt om strängar, tack min eminente kollega!

Fick ihop följande:

<%
dim strPnummer, nummer
strPnummer = "200011051040"
If (Instr(strPnummer, "-")) Then

'## -- strängen innehåller skiljesträck --

else 

'## -- formatera om personnummer --

nummer = mid(""&strPnummer&"", 1, 8) & "-" & mid(""&strPnummer&"", 9, 12)
response.write "<p> "& nummer &" </p>"
End If
%>

Vilket ger en person som har personnummer: 20001105-1040

mvh Jörgen :)

------------------
Varför bråka när man kan kramas?

[Redigerat av jorgen den 12 okt 2001]

VideMedlem sedan dec. 19998 577 inlägg
#8

Vadan är nu detta, böka ASP i ett Access-forum... hrmpf... :e

Borde inte ett personnummer bestå av tio siffror? Eller har det ändrats nyligen...

<%
dim strPnummer, nummer
strPnummer = "0011051040"
If (Instr(strPnummer, "-")) Then
'## -- strängen innehåller skiljesträck --

else 

'## -- formatera om personnummer --

nummer = mid(strPnummer, 1, 6) & "-" & mid(strPnummer, 7, 4)
response.write "<p> "& nummer &" </p>"
End If
%>

------------------
Doesn't 'expecting the unexpected' make the unexpected expected?
webeye.nu

jorgenMedlem sedan feb. 20012 412 inlägg
#9

Hej!

Det är dock lite olika, jag utgick ifrån hur jag brukar/ska skriva på min internetbank. :)

Kom på en sak till:

<%
dim strPnummer, nummer
strPnummer = "0011051040"
strPnummer = trim(strPnummer)
If (Instr(strPnummer, "-")) Then
'## -- strängen innehåller skiljesträck --
else 

'## -- formatera om personnummer --

nummer = mid(strPnummer, 1, 6) & "-" & mid(strPnummer, 7, 4)
response.write "<p> "& nummer &" </p>"
End If
%>

Så kan inte blankslag före och efter skapa strul. Kanske någon skulle flytta detta till ASP/VB?

mvh Jörgen :)

------------------
Varför bråka när man kan kramas?

evesveMedlem sedan sep. 2001163 inlägg
#10

Den sista koden fungerade alldeles utmärkt för visning!
Skall kolla i inmatningsfält senare.

Håller med...Blev ASP av Access...flytta gärna.

evesveMedlem sedan sep. 2001163 inlägg
#11

Hej igen!
Två RIKTIGA Access-frågor.
1. Går det inte att göra kontrollen att sista siffran är rätt skriven direkt i Access?
Detta för att jag måste
a)kunna kopiera in direkt i Access,
b)Importera från Excel eller
c)skriva in manuellt på ASP-sidan.

2. Jag har fältet som Textfält där jag lagt in indatamask
0000000000;;_
Jag trodde att Access inte skulle acceptera att skriva in något annat än 10 siffror i följd.
(Protestera om det bara blev 9 siffror inskrivna eller en felaktigt inmatad bokstav)
Har även provat med:
##########;;_

Är det möjligt med denna säkerhet i Access 97?

[Redigerat av evesve den 14 okt 2001]

evesveMedlem sedan sep. 2001163 inlägg
#12

Ingen som vet?

129 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)