Filteren van huisnummer uit adres

Pagina: 1
Acties:
  • 307 views sinds 30-01-2008
  • Reageer

  • pkouwer
  • Registratie: November 2001
  • Laatst online: 07-10 13:23
Uit een tabel haal ik een adres (=straat + huisnummer + toevoeging). Hiervan moet ik het huisnummer en de toevoeging scheiden om er een KIX-code van te maken voor onze vrienden van de PTT/TPG-Post of hoe ze ook mogen heten. Heeft iemand een gouden tip om dit te bewerkstelligen voor alle voorkomende adressen en combinaties of heeft iemand ervaring in eze techniek?

Taal is VB, db is Access..

  • Tux
  • Registratie: Augustus 2001
  • Laatst online: 21:29

Tux

Ik weet hier niet zo direct een tactiek voor, maar als je getallen moet je wel oppassen dat er ook wegen zijn met namen als: 5e blaatieblaweg. En dat ie er dan dus over kan struikelen.

The NS has launched a new space transportation service, using German trains which were upgraded into spaceships.


Verwijderd

dat is bijna onmogelijk... je kan huisnummer in apart kolom zetten, of ze er met de hand allemaal uithalen...

  • pkouwer
  • Registratie: November 2001
  • Laatst online: 07-10 13:23
ja precies en adressen zoals plein 1940 en dan huisnummer 6, 6a of 6 a

zijn leuke dingen.....Niemand ervaring ?

  • pkouwer
  • Registratie: November 2001
  • Laatst online: 07-10 13:23
aha, BIJNA onmogelijk is dus mogelijk :) maar euh 50.000 adressen gaat de klant echt niet met het handje nalopen hoor ..

Verwijderd

hmz, een 100% waterdichte oplossing krijg je natuurlijk nooit, maar je zou het volgende kunnen doen.

Je loopt het adres van rechts naar links af.
- Als je een getal 0..9 tegenkomt kan je van twee dingen uitgaan
Op die positie eindigd het huisnr, en alles wat je daarvoor gehad hebt is de toevoeging.
- Nu je die 2 dingen hebt, loop je de string verder af, totdat je een spatie of tekst tegenkom, dan heb je vanaf positie 1 tot die positie de straatnaam.

  • pkouwer
  • Registratie: November 2001
  • Laatst online: 07-10 13:23
hmm, zou idd wel een eind moeten lukken. Gaat waarschijnlijk niet goed met dam 6-8, het streepje zit dwars, huisnummer = 8 straat = dam 6-

Verwijderd

ja, je zou de uitzonderingen die je tegenkomt kunnen loggen, en kijken of je daar weer iets generieks voor kan maken.

Of het streepje ook zien als scheidingsteken tussen straat/lokatie en huisnr

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 23:51

Janoz

Moderator Devschuur®

!litemod

pkouwer schreef op 27 september 2002 @ 20:05:
aha, BIJNA onmogelijk is dus mogelijk :) maar euh 50.000 adressen gaat de klant echt niet met het handje nalopen hoor ..

Yep, net als jim carry in Dumb & dumber "dus er is nog een kans"


Maar dit soort dingen hoor je eigenlijk voor het vullen van de DB te bedenken, en niet waneer ie vol staat :), maar ok, genoeg gepreekt..

Wat je kunt doen is iets maken dat de adressen overzet. Gebruik hiervoor een functie die niet koste wat kost de boel probeert om te zetten, maar die bij enige vorm van twijfel niet om gaat zetten. Op deze manier heb je al 80% (als het niet meer is) van je werk gedaan. Mischien vindt je nog een andere methode om nog een paar om te zetten, en op het laatst blijven er waarschijnlijk zo weinig over dat het best nog wel met de hand te doen is.

Makkelijkste is om aan de tabel een huisnummer veld toe te voegen terwijl je straat+huisnummer in eerste instantie in het adres veld laat staan (huisnummer is leeg) Laat hier je simpele conversie op los en zorg dat, waneer de conversie er niet uit komt, dat ie het bij het oude laat. Door vervolgens in die tabel te zoeken naar records met huisnummer == null zie je precies welke nog over zijn.

suc6

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • SWINX
  • Registratie: Juni 2001
  • Laatst online: 23-07 18:19
Blaatstraat 57 met als toevoeging 3 hoog zal ook niet echt goed gaan denk ik......

Mannen komen van Mars Tweakers, vrouwen van Venus Bokt


  • pkouwer
  • Registratie: November 2001
  • Laatst online: 07-10 13:23
geef je dat zo in, 3 hoog ?

  • kvdveer
  • Registratie: November 2000
  • Laatst online: 07-11-2023

kvdveer

Z.O.Z.

Even wat adressen die bestaan:

plein 1940-1945 nr 6
badhuisstraat 7rood
2e schansstraat 12a
2e struisenburger dwarsstraat 1bis
beukelsweg 7a 35 (was mijn adres tot juli dit jaar)

Localhost, sweet localhost


  • kvdveer
  • Registratie: November 2000
  • Laatst online: 07-11-2023

kvdveer

Z.O.Z.

Bedenk ook dat bijvoorbeeld woonboten soms geen nummer hebben, alleen een naam.

Localhost, sweet localhost


  • MSalters
  • Registratie: Juni 2001
  • Laatst online: 13-09 00:05
Aan de andere kant hoef je ook niet te verzinnen wat een straatnaam is. De klus lijkt op een professionele, zo te lezen, dus geen hobby projectje. Wat je dan kan doen is een lijst met alle straatnamen kopen. Vervolgens is het een kwestie van de langste straatnaam vinden die een prefix is van jouw string; de rest is dan huisnummer+toevoeging

Man hopes. Genius creates. Ralph Waldo Emerson
Never worry about theory as long as the machinery does what it's supposed to do. R. A. Heinlein


  • SWINX
  • Registratie: Juni 2001
  • Laatst online: 23-07 18:19
dat weet ik niet...
ik geef maar een voorbeeld

Mannen komen van Mars Tweakers, vrouwen van Venus Bokt


  • pkouwer
  • Registratie: November 2001
  • Laatst online: 07-10 13:23
MSalters schreef op 27 september 2002 @ 22:43:
Aan de andere kant hoef je ook niet te verzinnen wat een straatnaam is. De klus lijkt op een professionele, zo te lezen, dus geen hobby projectje. Wat je dan kan doen is een lijst met alle straatnamen kopen. Vervolgens is het een kwestie van de langste straatnaam vinden die een prefix is van jouw string; de rest is dan huisnummer+toevoeging
klopt, is ook een professionele van bijna 100.000 Eur ;)

  • ShadowrunR
  • Registratie: Maart 2002
  • Laatst online: 18-05 20:55
pkouwer schreef op 27 september 2002 @ 23:15:
[...]


klopt, is ook een professionele van bijna 100.000 Eur ;)
Raar dat de straatnaam en het huisnummer dan niet gesplitst zijn :?

  • pkouwer
  • Registratie: November 2001
  • Laatst online: 07-10 13:23
krijg de adressen via bestanden aangeleverd en worden geimporteerd, ik moet dus overal rekening mee houden, mag wel ook voor dat geld :)

  • Crazy D
  • Registratie: Augustus 2000
  • Laatst online: 21:16

Crazy D

I think we should take a look.

Als je de adressen waarbij de laatste posities alleen numeriek is, er uit filterd heb je waarschijnlijk een groot deel al gehad. De huisnummers met een toevoeging a la c, bis, boven, of dat soort dingen, zijn op soortgelijke wijze relatief simpel eruit te filteren. Een 7a 35 is ook nog wel te doen (tenzij je veel "Straatnaam Straatnummer Huisnummer" formaten tegenkomt, maar ik ken niet zo snel een straatnaam die op een nummer eindigt (en al helemaal niet op 'spatie nummer"), dan heb je een groot deel al gehad.

Exact expert nodig?


  • kvdveer
  • Registratie: November 2000
  • Laatst online: 07-11-2023

kvdveer

Z.O.Z.

Als je de postcode hebt is het nog makkelijker: zoek de postcode er bij en controleer of de string op de juiste straatnaam begint. Zo niet, mark 'm als invalid, want als de straatnaam niet klopt dat moet er zowieso al naar gekeken worden.

Localhost, sweet localhost


  • pkouwer
  • Registratie: November 2001
  • Laatst online: 07-10 13:23
Crazy_D schreef op 28 september 2002 @ 04:00:
Als je de adressen waarbij de laatste posities alleen numeriek is, er uit filterd heb je waarschijnlijk een groot deel al gehad. De huisnummers met een toevoeging a la c, bis, boven, of dat soort dingen, zijn op soortgelijke wijze relatief simpel eruit te filteren. Een 7a 35 is ook nog wel te doen (tenzij je veel "Straatnaam Straatnummer Huisnummer" formaten tegenkomt, maar ik ken niet zo snel een straatnaam die op een nummer eindigt (en al helemaal niet op 'spatie nummer"), dan heb je een groot deel al gehad.
wat dacht je van Plein 1940 ?

  • floduR
  • Registratie: September 2001
  • Niet online
als je nou van rechts begint te lezen en dan de eerste tekenreeks die begint met een cijfer uitlezen als huisnummer

dan heb je al meer kans, toch? het huisnummer zit toch meestal verder naar rechts dan naar links

een achtervoegsel als 'a' ofzo kan die gewoon meenemen (of apart nemen)
alles wat achter het huisnummer staat is achtervoegsel

en dan kan je nog uitzonderingen invoeren voor b.v. 2 hoog

(als 'hoog' in de string zit, dan een tekenreeks verder lezen (en dan hopen dat het niet als twee is geschreven :) )) edit -> maar dan heb je er helemaal geen last van trouwens, want hij leest de eerste tekenreeks met cijfers dus 'twee' slaat ie over

wie weet kan het werken, correct me if I'm wrong

edit:
een deel is al gezegd zie ik nu (moet beter lezen) maar goed...

Verwijderd

misschien dat dit helpt: [rml][ veldlengte] lengte huisnummer en toevoeging[/rml] en dan bij het lange bericht over NEN
Pagina: 1