Toon posts:

[Access] Huisnummer scheiden in apart veld *

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

Verwijderd

Topicstarter
Wie o wie heeft voor mij de oplossing voor het volgende:
in tabel "X" staat een veldje dat heet "ADRES" en is gevuld met een straatnaam en een huisnummer. Nu is de bedoeling het huisnummer in het veldje "HUISNUMMER" te zetten dmv een query of stukje code. Hoe kan ik dit aanpakken of welke code kan ik hiervoor gebruiken?

Verwijderd

TIP: zoek eens in de Help op Instr

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 07-10-2022
Ik heb je topic titel even verduidelijkt. Hoop dat ik je goed begreep ;) .

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • raptorix
  • Registratie: Februari 2000
  • Laatst online: 17-02-2022
Uhm gewoon doorloopen, split het adres op, op spatie, zet het in array, stop array(0) in straat en array(1) in nummer.

  • Steven
  • Registratie: December 2000
  • Laatst online: 04-11 12:33
Op woensdag 20 februari 2002 17:29 schreef raptorix het volgende:
Uhm gewoon doorloopen, split het adres op, op spatie, zet het in array, stop array(0) in straat en array(1) in nummer.
En toen woonde iemand op de "Grote beer 60" dan woont hij gus vanaf nu in de straat Grote met als nummer beer

Verwijderd

Yep. Je zal eerst moeten kijken of je Array(1) wel een cijfer is, en zo niet: door naar Array(2) of.... :)

  • raptorix
  • Registratie: Februari 2000
  • Laatst online: 17-02-2022
Op woensdag 20 februari 2002 18:04 schreef Systeemprutser het volgende:
Yep. Je zal eerst moeten kijken of je Array(1) wel een cijfer is, en zo niet: door naar Array(2) of.... :)
Tjah niet aan gedacht maar wat dacht je dan van grote beer 2h dan zit je weer met zelfde gezeik, kortom, automatisch kan je dit niet zomaar ff oplossen.

  • bigtree
  • Registratie: Oktober 2000
  • Laatst online: 16-08 17:16
Schrijf een query die de volgende 2 velden produceert (pseudo-query)
code:
1
2
3
4
5
6
7
8
9
10
11
- de eerste positie van een numerieke karakter van veld Adres 
  (numeriek = 0 t/m 9)
- het tweede veld is gevuld met de straat: 
    - als eerste veld > 0:
      het gedeelte van Adres t/m die positie (geclipt)
    - anders:
      het gehele veld Adres
- het derde veld is gevuld met het huisnummer (en eventueel een 
  toevoeging, als in huisnummer 29a)
    - als eerste veld > 0:
      het stuk vanaf die positie t/m het einde (geclipt)

Lekker woordenboek, als je niet eens weet dat vandalen met een 'n' is.


  • Limhes
  • Registratie: Oktober 2001
  • Laatst online: 28-10 08:43
Adres heeft in Nederland altijd volgende syntax:

([a-zA-Z0-9_en_de_rest]\s)+([0-9]+[a-zA-Z]?){1}

Niet?

  • Danfoss
  • Registratie: Mei 2000
  • Laatst online: 19:49

Danfoss

Deze ruimte is te koop..

Op woensdag 20 februari 2002 19:16 schreef bigtree het volgende:
Schrijf een query die de volgende 2 velden produceert (pseudo-query)
ik woon op de "1e weerdsweg 45".
dan werkt jou methode volgens mij niet.


Ik werk veel met query tools en daar zou ik het zo oplossen:

Hele string omdraaien en dan de positie van eerste spatie bepalen. Daarna kan je gewoon substringen (met totaallengte-positie,positie) of functie rechts(positie) gebruiken.

Alleen kan je volgens mij in Access niet makkelijk een string omdraaien.

Sys Specs


  • Tim
  • Registratie: Mei 2000
  • Laatst online: 04-08 16:29

Tim

splitsen op spatie en dan het laatste element nemen?
Lijkt me ook wel lukken, tenzij je natuurlijk invult "Straat 2 h"

  • MisterData
  • Registratie: September 2001
  • Laatst online: 03-11 21:42
[off-topic]
Best verwarrend,nu hebben we een J2K en een D2K :)
[/off-topic]

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

kvdveer

Z.O.Z.

In papendrecht is een straat met als huisnummers:
Badhuisstraat 7 rood
Badhuisstraat 3 zwart

Dat soort grapjes maken het jou leven leuk...
Nog een:
Mijn adres is Beukelsweg 7a-35

(35 is het kamernummer van mijn studentenhuis)

Localhost, sweet localhost


  • D2k
  • Registratie: Januari 2001
  • Laatst online: 22-09 14:35

D2k

Op woensdag 20 februari 2002 20:06 schreef MisterData het volgende:
[off-topic]
Best verwarrend,nu hebben we een J2K en een D2K :)
[/off-topic]
tssk :( ik zit ook al steeds te kijken :)
maar tis D2k :P
</offtopic>

Doet iets met Cloud (MS/IBM)


  • raptorix
  • Registratie: Februari 2000
  • Laatst online: 17-02-2022
En dan heb je nog Grote 1e Jansweg 33 HUIS

  • Crazy D
  • Registratie: Augustus 2000
  • Laatst online: 04-11 17:01

Crazy D

I think we should take a look.

Op woensdag 20 februari 2002 20:20 schreef kvdveer het volgende:
In papendrecht is een straat met als huisnummers:
Badhuisstraat 7 rood
Badhuisstraat 3 zwart

Dat soort grapjes maken het jou leven leuk...
Nog een:
Mijn adres is Beukelsweg 7a-35

(35 is het kamernummer van mijn studentenhuis)
Heb nog weleens pakketten gezien dat opsloegen als
straat: Badhuisstraat
nummer: 7
achtervoeging: [leeg]
toevoeging: rood

en

straat: Beukelsweg
nummer: 7
achtervoeging: a
toevoeging: 35

(waarbij achtervoeging en toevoeging wel iets betere namen hadden maar dat weet ik niet meer precies:P toevoeging zou kamernummer oid kunnen heten).
Waarbij achtervoeging en toevoeging "alles" kan bevatten.

Ik denk dat je met zo'n opbouw op zich de meeste Nederlandse adressen te pakken hebt. Maar om dat ff in een query op te splitsen....

Exact expert nodig?


  • Boss
  • Registratie: September 1999
  • Laatst online: 23:12

Boss

+1 Overgewaardeerd

In het veld 'toevoeging' kunnen dingen staan als 'tegenover' voor huizen die gebouwd zijn aan een straat waar vroeger aan 1 kant huizen stonden die doorlopend genummerd zijn.
'woonboot' krijg je als je een woonboot bij jou voor de deur hebt liggen en jij woont op nummer 16. (dus: 16 - woonboot). Die dingen hebben nl geen vaste plaats dus ook geen vast adres.

Ergens bij PTT Post kan je de exacte adres-specificaties opvragen, incl. de lengte van de velden, en toegestane afkortingen (str voor straat, ln voor laan etc)

The process of preparing programs for a digital computer is especially attractive, not only because it can be economically and scientifically rewarding, but also because it is an aesthetic experience much like composing poetry or music.


Verwijderd

Topicstarter
Maarrrree IJSKOUD,

ik kom er niet uit met "InStr".
Ik heb het een en ander geprobeerd om een text te verwijderen, zodat je alleen maar het nummerieke gedeelte overblijft, maar dat lukte niet helemaal. Misschien zou je me kunnen helpen door een voorbeeld te sturen??

Alvast Tx!

  • Crazy D
  • Registratie: Augustus 2000
  • Laatst online: 04-11 17:01

Crazy D

I think we should take a look.

Op donderdag 21 februari 2002 11:33 schreef J2K het volgende:
ik kom er niet uit met "InStr".
Dit is imho niet met 1 querietje op te lossen. Ik zou er een stukje VBA (of VB :P) code voor schrijven, die in 1e instantie alle duidelijke adressen eruit filterd. Dus bv Straatnaam 11, behoorlijk duidelijk, kun je nl. simpel zoeken op de spatie met InStr, en controleren of het laatste deel numeriek is. Straatnamen als 3e Tochweg 11 zijn hiermee ook makkelijk te filteren, aangezien alles na de laatste spatie nog steeds numeriek is. En daarna zou ik eens kijken hoeveel records er over blijven, en wat de layout van die records is. En afhankelijk daarvan nog wat code schrijven (bv om adressen als Dorpsweg 11a en Dorpsweg 11 a eruit te filteren). Maar ja die aanpak werkt alleen als het een eenmalige conversie is, als het regelmatig moet gebeuren zou ik er iets langer over nadenken ;)

Oh en InStr werkt als:
InStr(1, "de hele tekst", "teken(s) die ik zoek", vbTextCompare)
(vbTextCompare zodat ie case insensitive vergelijkt, en de 1 is de begin positie waarvanaf er gezocht moet worden)

Exact expert nodig?


Verwijderd

Ik denk dat dat eerste gedeelte Instr je wel gelukt is gezien de uitleg in de Help en van Crazy_D. Maar wat moet je ermee? De waarde die Instr je oplevert kun je in een variabele zetten, die je weer kunt gebruiken voor je startpositie/stringlengte bij het Mid/Left/Right-statement (naar keuze). Tot zover het technische.

Voor het functionele deel, zoals je in de posts hierboven hebt gelezen is het niet gemakkelijk om functioneel te bepalen waar het adres "doorgeknipt" moet worden. Ik raad je aan bij de meest rechtse spatie af te knippen, en vervolgens met de hand "mislukte" velden bij te werken. Dat is verreweg de snelste oplossing!

Als je het wat professioneler wilt kun je bijvoorbeeld AdresCorrect aanschaffen bij de PTT (10000 piek ofzo), waarbij je NEN of PTT of ISO notatie kunt kiezen.
Pagina: 1