Toon posts:

[vb] Excel script voor persoonsbestanden.

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik ben een excel script aan het maken om heel eenvoudig verschillende persoonsbestanden die we binnen krijgen om te zetten in een juist formaat. Dit doe ik door eigen geschreven VB scriptjes te gebruiken.

Het veld waar ik moeite mee heb is naam. bijvoorbeeld.
G.J de boom van de laar.
of:
G.J de groot

Het script moet ervoor zorgen dat ik de voorletters, en de tussenvoegsel in een apart veld kan krijgen. Bij de eerste zou dat zijn:
VLS: G.J.
TVS: de
ACN: boom van de laar.

Bij de laatste natuurlijk:
VLS: G.J.
TVS: de
ACN: groot

Iemand tips voor me?

  • NetForce1
  • Registratie: November 2001
  • Laatst online: 23:18

NetForce1

(inspiratie == 0) -> true

string afknippen op 1e en 2e spatie.
alles voor 1e spatie: voorletters
alles tussen 1e en 2e spatie: tussenvoegsel
alles na 2e spatie: achternaam

De wereld ligt aan je voeten. Je moet alleen diep genoeg willen bukken...
"Wie geen fouten maakt maakt meestal niets!"


Verwijderd

Topicstarter
Als iemand bijvoorbeeld:
G.J. groot

heet dan werkt dat niet.

  • NetForce1
  • Registratie: November 2001
  • Laatst online: 23:18

NetForce1

(inspiratie == 0) -> true

Dan doe je eerst een check op het aantal spaties

De wereld ligt aan je voeten. Je moet alleen diep genoeg willen bukken...
"Wie geen fouten maakt maakt meestal niets!"


Verwijderd

Topicstarter
en bij
G.J van de groot

??, dan klopt het ook niet

  • NetForce1
  • Registratie: November 2001
  • Laatst online: 23:18

NetForce1

(inspiratie == 0) -> true

Moet dat perse van de zijn dan, kun je daar geen v/d van maken? :)

De wereld ligt aan je voeten. Je moet alleen diep genoeg willen bukken...
"Wie geen fouten maakt maakt meestal niets!"


Verwijderd

Topicstarter
ik heb noh een leuke.
hij moet van adressen als
de steenstraat 15
de steenstraat 17 a

de huisnummer eraf halen. Dus inlezen tot het eerste numeriek getal en dan strippen. Hoe doe ik dit?

  • Thunder
  • Registratie: Maart 2000
  • Niet online
Op donderdag 14 februari 2002 20:15 schreef lisson01 het volgende:
ik heb noh een leuke.
hij moet van adressen als
de steenstraat 15
de steenstraat 17 a

de huisnummer eraf halen. Dus inlezen tot het eerste numeriek getal en dan strippen. Hoe doe ik dit?
En dan heb je straten als '1e weidjesstraat' :*

Verwijderd

Topicstarter
dat boeit niet, dat is een uitzondering. Of lezen vanaf 3de char

  • NetForce1
  • Registratie: November 2001
  • Laatst online: 23:18

NetForce1

(inspiratie == 0) -> true

Op donderdag 14 februari 2002 20:15 schreef lisson01 het volgende:
ik heb noh een leuke.
hij moet van adressen als
de steenstraat 15
de steenstraat 17 a

de huisnummer eraf halen. Dus inlezen tot het eerste numeriek getal en dan strippen. Hoe doe ik dit?
strippen of inlezen?

De wereld ligt aan je voeten. Je moet alleen diep genoeg willen bukken...
"Wie geen fouten maakt maakt meestal niets!"


Verwijderd

Topicstarter
Function straatnummer(str As String)

Dim Temp, i As Integer, P As Integer
Temp = Trim(str)
P = Search(1 Or 2 Or 3 Or 4 Or 5 Or 6 Or 7 Or 8 Or 9 Or 0, Temp, 3)
i = Len(Temp)
straatnummer = Mid(Temp, P, i - P)

End Function

Dit heb ik nu. Maar die search of de find functie uit excel werkt niet in vb, welke moet ik dan gebruiken??

  • NetForce1
  • Registratie: November 2001
  • Laatst online: 23:18

NetForce1

(inspiratie == 0) -> true

code:
1
2
3
4
5
6
7
for i = 1 to len(straatnaam)
 karakter = mid$(straatnaam,i,1)
 if asc(karakter) >= 48 and asc(karakter) <= 57 then
  huisnummer = right$(straatnaam,i)
  exit for
 end if
next i

met len kun je de lengte van een string bepalen
met mid$ kun je een aantal karakters uit een string halen
met asc kun je de ascii waarde van een karakter bepalen
48 is ascii 0, en 57 is ascii 9.
met right$ kun je een aantal karakters uit een string halen, vanaf het n-de karakter tot het einde.

edit: straatnaam moet natuurlijk adres zijn

De wereld ligt aan je voeten. Je moet alleen diep genoeg willen bukken...
"Wie geen fouten maakt maakt meestal niets!"


  • MIster X
  • Registratie: November 2001
  • Laatst online: 01-01 23:41
In principe horen 'de', 'v.d.', 'van', etc. ALTIJD bij de naam die er achter wordt genoemd. Vind je één van deze woorden, dan gewoon de rest er achter plakken. Lost niet alle problemen op, maar wel 95%.
Pagina: 1