zaterdag 29 januari 2011

In Excel een kolom met volledige naam opsplitsen naar Voornaam en Familienaam

Title: Excel: split 1 column into 2 colums, based on a special character.
Vaststelling: Je krijgt een adresbestand waarbij de naam en familienaam in 1 kolom staan. Je wenst de naam en voornaam apart te gebruiken.
Observation: 1 column in Excel contains Firstname and Name (Name and Firstname). How to split up in 2 columns.

Oorzaak: Kan ten gevolge diverse redenen zijn.
Cause: Can be different.
Remedie: Op basis van de spatie kan de kolom opgesplitst worden. We kunnen niet het menu Gegevens>Tekst naar Kolommen splitsen gebruiken. Deze functie heeft 2 opties maar 
- omdat een familienaam meerdere spaties bevat, kun je niet op basis van scheidingsteken werken
- omdat de voornamen geen vaste lengte hebben, kun je niet op lengte werken.
Solution: We split the column based on the space in de name. We can not use the menu Data>Convert text to Columns. This function has 2 options but
- because a familyname can has more dan 1 space in the name, you can not use the Delimited options
- becasue a firstname has not a fixed length, you can not use the fixed width option.
Acties:
Er zijn 2 verschillende startsituaties:
  • combinatie 1 VOORNAAM+ FAMILIENAAM:
  • Redenering:
    • Als in kolom A de volledige naam staat, dan komt in kolom B de voornaam en kolom C de familienaam.
    • Met de functie VIND.ALLES() zoeken we de positie van de spatie (=spatiepositie).
    • De letters LINKS() van de spatiepositie, is de voornaam.
    • De letters RECHTS() van die spatiepositie vormen de familienaam.
    • Het aantal letters die rechts staan, kun je met behulp van de functie LENGTE() berekenen: namelijk lengte() - spatiepositie. Dus gecombineerd wordt dat RECHTS([volledigenaam];LENGTE()-spatiepostie)
  • Werkwijze:
    • in een hulpkolom B berekenen we voor de eenvoud de spatiepositie (ipv geneste functies)
    • in kolom C de voornaam
    • in kolom D de familienaam
    • als alle formules gemaakt en gekopieerd zijn, selecteren we kolom B,C en D. We kiezen Kopieren. Zonder onze selectie te veranderen, klikken we nu Plakken Speciaal>Waarden. Op die manier zijn de formules "weg", en houden we de waarden over.
    • kolom B was een hulpmiddel. Die kolom kunnen we nu verwijderen.
    • Resultaat: in kolom B staat voornaam, in kolom C staat familienaam.
  • Formules:














  • combinatie 2 FAMILIENAAM+ VOORNAAM:

  • Redenering:

    • Als in kolom A de volledige naam staat, dan komt in kolom B de voornaam en kolom C de familienaam.
    • Met de functie VIND.ALLES() zoeken we de positie van de 1e spatie. Daarna zoeken we verder tot we de laatste spatie in de naam vinden (=spatiepositie). De moeilijkheid hier is dat je niet weet hoeveel spaties er zijn. Je maakt zoveel kolommen als nodig. Met de functie ALS... en ISFOUT() - of vanaf Excel 2007 gecombineerd in ALS.FOUT() - kun je telkens de laatst gevonden spatie 'doorgeven'.
    • De letters LINKS() van de spatiepositie, is de voornaam.
    • De letters RECHTS() van die spatiepositie vormen de familienaam.
    • Het aantal letters die rechts staan, kun je met behulp van de functie LENGTE() berekenen: namelijk lengte() - spatiepositie. Dus gecombineerd wordt dat RECHTS([volledigenaam];LENGTE()-spatiepostie)
  • Werkwijze:

    • we maken hulpkolommen: in kolom B berekenen we de 1e spatiepositie.
    • we maken een 2e hulpkolom C waarin we de volgende spatie zoeken (verder zoeken na de 1e gevonden). Indien er geen spatie meer instaat, krijg je een fout. Ipv een fout te tonen, toon je de waarde van kolom B.
    • we maken zoveel kolommen van het type C als nodig (=tot we geen fouten meer krijgen).
    • in kolom E de voornaam
    • in kolom F de familienaam
    • als alle formules gemaakt en gekopieerd zijn, selecteren we kolom B tem F. We kiezen Kopieren. Zonder onze selectie te veranderen, klikken we nu Plakken Speciaal>Waarden. Op die manier zijn de formules "weg", en houden we de waarden over.
    • kolom B tem D zijn een hulpmiddel. Die kolom kunnen we nu verwijderen.
    • Resultaat: in kolom B staat voornaam, in kolom C staat familienaam.

    Action: We have 2 combinations:
    Combination 1: FIRSTNAME + NAME

    Combination 2: NAME + FIRSTNAME

    maandag 10 januari 2011

    Een Access MDB/ACCDB bestand compileert niet tot een MDE/ACCDE bestand

    Title: A Microsoft Access file (MDB/ACCDB) does not compile into an MDE/ACCDE file
    Vaststelling: Je wenst een Microsoft Access MDB of ACCDB bestand op te slaan als MDE of ACCDE bestand maar je krijgt volgende foutmelding.
    Observation: You wish to save an MDB/ACCDB file into an MDE/ACCDE file, but you get following error 'Microsoft Office Access was unable to create the .accdb, .mdb, or .ade file.
    Oorzaak: Als je klikt op de 'Toon Help' krijg je een aanwijzing dat er teveel TableID indexen kunnen gecreƫerd worden. De echte oorzaak is : een fout in VBA code
    Cause: If you click on the SHOW Help, you get a suggestion that there are too much TableID indexes to should be created. The real cause is an error in your VBA code.
     
    Remedie: Compileer je Access code vooraleer je opslaat als MDE of ACCDE.
    Solution: Compile your Access VBA code before you save your file as a MDE or ACCDE file.
    Actie
    Action: Open the VBA windows (alt+F11) and click on Debug>Compile Test until no dialogboxes with errors appear.
    : open het VBA venster (ALT+F11) en voer de instructie Debug>Compile test uit tot er geen dialoogvensters met fouten meer oppoppen.