[Word] Samenvoegen met verjaardagen

Pagina: 1
Acties:

  • xtra
  • Registratie: November 2001
  • Laatst online: 13-08 11:30
In Word 2000 wil ik samenvoegen met een Excelbestand als bron. De bedoeling is dat er een selectie wordt gemaakt van mensen die in een bepaalde periode jarig zijn. In het Excelbestand staan geboortedata dus er is nog wat rekenwerk nodig om de verjaardag binnen een periode te bepalen, maar dat is niet het grootste probleem.

Ik vergeet even wat ik al geprobeerd heb en begin met een eenvoudige vraag: Weet iemand hoe ik kan bepalen of iemand in een bepaalde periode jarig is?
Simpel en snel voor de eindgebruiker is belangrijk want het moet wekelijks worden uitgevoerd. Ook wordt het Excel-bestand wekelijks vernieuwd/vervangen.

Het volgende heb ik inmiddels geprobeerd/ondervonden:
Via het venster "Afdruk samenvoegen" kun je alleen hele simpele criteria opgeven, als =, <, > etc.

Inmiddels heb ik in VBA al gekeken of ik de query aan kon passen want dat is SQL. Helaas krijg ik daar ook een foutmelding als ik de query te ingewikkeld maak. Bijvoorbeeld YEAR(dedatum) gaat al fout. (En een vertaalde Word en Excel kennende heb ik zelfs JAAR geprobeerd.)

In het samenvoegbestand zelf kun je criteria opgeven maar ook daar zijn de mogelijkheden te beperkt. In Word 2003 schijn je met events te kunnen werken maar dat gaat met 2000 dus niet lukken.

Het Excel-bestand aanpassen door een extra kolom toe te voegen is natuurlijk mogelijk. Het probleem is alleen dat dat bestand wekelijks wordt toegestuurd dus dat dat wekelijks moet gebeuren. Ook wil ik hetzelfde systeem gebruiken voor toegestuurde komma-gescheiden bestanden dus dat gaat ook niet werken.

Ik heb gekeken of ik de gegevens uit Excel in Access kon importeren om daar de selectie te doen. Zelfs dit is te moeilijk want bij de postcode krijg ik importfouten omdat veel buitenlandse postcode's alleen getallen hebben.

Word weet nog vrij goed met het bestand om te gaan (i.t.t. Access) dus ik zou eventueel nog kunnen proberen het Excel-bestand via Word naar een 'bruikbaar' formaat om te zetten en dan alsnog de selectie te doen, maar dat wordt allemaal wel erg omslachtig.

  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 21-08 18:29
Je kan toch gewoon een veldje maken met startdatum en met einddatum? Vervolgens zet je een extra kolom met daarin iets als:
if(DATUM>startdatum AND DATUM<einddatum) 1 : 0

Vervolgens neem je alleen de resultaten met een 1?

  • xtra
  • Registratie: November 2001
  • Laatst online: 13-08 11:30
Dat gaat niet lukken door de geboortedata.

Een selectie van bijvoorbeeld "> 31-5-2005 en < 6-6-2005" geeft geen resultaat bij iemand die 2-6-1980 is geboren.

Op zich is er wel een query te verzinnen die dat goed doet, alleen lijkt Word niet met ingewikkelde queries om te kunnen gaan.

  • kippy
  • Registratie: September 2004
  • Laatst online: 12:53
het kan vrij makkelijk

[rml][ VBA]Van uit Word data in Excel ophalen[/rml]

je kan gewoon gegevens uit de cellen van excel halen. deze in een array gooien en die laten sorteren. Of je kan de cellen 1 voor 1 in een loop gooien en dan op het laagste zoeken door te vergelijken.

  • Lustucru
  • Registratie: Januari 2004
  • Niet online

Lustucru

26 03 2016

Is Msquery geen oplossing?

De oever waar we niet zijn noemen wij de overkant / Die wordt dan deze kant zodra we daar zijn aangeland


  • xtra
  • Registratie: November 2001
  • Laatst online: 13-08 11:30
Dank je. Ik zat inderdaad aan zoiets te denken. De aanpak is iets anders geworden:
code:
1
2
3
4
5
6
7
8
Public Sub TestExcel()
    Dim myWB As Excel.Workbook
    
    Set myWB = GetObject("N:\Template\exportfile.xls")
    myWB.SaveAs Filename:="N:\Template\exportfile.csv" _
            , FileFormat:=xlCSV, CreateBackup:=False
    Set myWB = Nothing
End Sub


Het enige wat ik doe is het bestand opslaan als CSV. Dit kan ik vervolgens weer importeren in Access. (Vandaar dat ze Office als 'suite' verkopen :), nu nog iets met PowerPoint.) Ik denk dat dat sneller gaat dan zelf de gegevens verwerken omdat het in totaal om zo'n 100.000 rijen gaat.
Dat zou je zeggen. Maar de Excel ODBC-driver doet niet wat ik wil (zie het postcode-probleem in mijn openingspost) dus ik moet ergens een vertaling maken naar iets bruikbaars.

[ Voor 4% gewijzigd door xtra op 01-06-2005 00:34 ]

Pagina: 1