Avatar billede lifeweb Nybegynder
22. december 2004 - 10:30 Der er 11 kommentarer

Gennemløbe database

Hej

Jeg vil gerne tjekke om et telefonnummer er korrekt før jeg gemmer det til en database

Derfor er min ide at lave en tabel indeholdende de "ulovlige" numre eller nummerserier...

Dette kunne eksempelvis være:
12345678
87654321
men også
80****** eller ****1448

Det er intet problem at tjekke databasen igennem for 12345678 og 87654321, men det er straks sværere med 80******

Er der nogen der kan fortælle mig hvordan jeg gør det??

Skulle nogen være i tvivl står * selvfølgelig for tallene fra 0-9

På forhånd tak
Avatar billede Slettet bruger
22. december 2004 - 10:36 #1
Hvilken database og er felterne af typen tal eller tekst?
Avatar billede sw_red_6 Nybegynder
22. december 2004 - 10:37 #2
Kan det ikke gøres ved at bruge LIKE 80% ?
Avatar billede lifeweb Nybegynder
22. december 2004 - 10:39 #3
bertie:
access og det er tekstfelter, talfelter kan vel ikke indeholder * ?
sw_red_6:
jeg får eksempelvis et input som 75841448.
Dette ser umiddelbart korrekt ud, men hvis jeg så har et felt i min database hvor der står ****1448 skal dette sorteres fra
Avatar billede sw_red_6 Nybegynder
22. december 2004 - 10:40 #4
så er det vel bare %1448 i stedet for 80%
Avatar billede Slettet bruger
22. december 2004 - 10:42 #5
Du kan gøre noget med:

where tlfnr like '80%' or tlfnr like '%1448'

dette vil matche på alle dem som starter med 80 eller ender på 1448.
Avatar billede lifeweb Nybegynder
22. december 2004 - 11:03 #6
det er rigtigt ja...

meen jeg bruger jo tabellen til at udelukke nogle telefonnumre inden de bliver skrevet til database.

når brugeren forsøger at indskrive et "ulovligt" nummer til databasen skal min funktion lave en fejl.

Indeholder databasen ****1448 og bruger forsøger med 75841448 skal dette resultere i en fejl.
Avatar billede Slettet bruger
22. december 2004 - 11:07 #7
Du er på en eller anden måde nok nødt til at teste om der må skrives ned først, det kan du gøre med en SELECT med ovenstående kriterie og hvis der så ingen rækker blev hentet frem kan du lave en insert.
Avatar billede fennec Nybegynder
22. december 2004 - 11:16 #8
Er det dette du er efter. Her gør du brug af "omvendt" LIKE kald:

set rs = conn.execute("SELECT * from UlovligeNumre where '12345678' LIKE nummer;")
if rs.eof then
  'tlf OK
else
  'tlf IKKE OK
end if

UlovligeNumre:
ID nummer
1  80*
2  12345678
3  98765432
4  *1448
Avatar billede fennec Nybegynder
22. december 2004 - 11:17 #9
set rs = conn.execute("SELECT * from UlovligeNumre where '12345678' LIKE nummer;")

skal selvfølgelig være noget i denne stil:
set rs = conn.execute("SELECT * from UlovligeNumre where '"& request.form("tlf") &"' LIKE nummer;")
Avatar billede lifeweb Nybegynder
03. januar 2005 - 10:22 #10
der skulle lidt ændringer til, men nu virker det vist...

et svar fra fennec??
Avatar billede fennec Nybegynder
03. januar 2005 - 10:33 #11
Godt nytår...
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
Kurser inden for grundlæggende programmering

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