13. december 2009 - 21:51Der er
7 kommentarer og 1 løsning
Etiketter hvor der er mere end en person paa en adresse.
For at skaffe mig lidt praktisk erfaring arbejder jeg nu som frivillig i en velfaerdsorganisation. Der blev jeg bedt om at lave etiketter til julekort til organisationen besoegende i dens Access 2007 database, men saaledes at hvis der var mere end en person paa en adresse saa skulle der kun laves en etiket.
Nu drejede det sig kun om cirka 300 navne saa jeg 'hackede' det som foelger. Teksten paa etiketterne kommer fra fem felter i tabellen, fornavn, efternavn, adresse, postkode, by. Jeg sortere tabellen paa adresse, fandt ved visuel inspektion de tilfaelde hvor der var flere personer paa en adresse (heldigvis aldrig mere end to), indsatte person1's for- og efternavn plus '&' i person1's fornavn-felt og person2's for- og efternavn i person1's efternavn-felt, og trykkede saa etiketterne ud. Det saa ikke saa daarligt ud.
Men jeg ville gerne lave en rapport der goer det automatisk, for min personlige tilfredsstillelse og saaledes at rapporten er til raadighed naar jeg er vaek (jeg skal vaere der seks maaneder.)
For at demonstrere hvor lidt jeg kender til Access taenker jeg i retning af denne pseudo-kode:
Til dem der klogere er, kan det lade sig goere? Er der record-numre et eller andet sted i Access? Hvordan skal jeg gribe det an? Og saa et bonus-spoergsmaal: Hvad goer jeg hvis der er mere end to personer paa en adresse?
Teknologi, AI og forretning er i centrum på Computerworlds Cloud og AI Festival i København d. 18. og 19. september. Se hele programmet for den store konference om strategisk brug af Cloud og AI på: www.cloud-festival.dk
Jeg har en lille demo lavet i Access 2007 der gør det.
Det kræver bare en emailadresse.
Demoen gør brug af en ekstra tabel hvor oplysningerne til labels dannes og kan udskrives. (der er ikke noget bynavn i tabellen da de bør ligge i en tabel for sig selv)
hugopedersen, tak for dit eksempel. Jeg er ingen oern til visual basic (ikke engang en graaspurv, det maa jeg aabenbart se at faa laert hvis jeg skal arbejde serioest med Access,) men jeg mener at kunne forstaa at du laver en midlertidig fil med alle navn/adresse oplysninger og fra den fil laver du etiketter for de hvor du ikke allerede har en etiket for den samme adresse. Paa den maade opnaar vi at hvis Tina Pedersen og Kurt Andresen begge bor paa Gaden 8 saa laves der kun en etiket for Tina Pedersen. Saa er jeg allerede saa langt.
Mit spoergsmaal gik en tand videre, at soerge for at etiketten for Gaden 8 indeholder begge navnene. Kan det lade sig gi sig? Jeg kan godt se problemet at hvis systemet har lavet en record for label for Tina Pedersen og saa finder en Kurt Andresen paa samme adresse saa at gaa tilbage og tilfoeje Kurt Andresen til recorden, men kan det loeses?
Hvis det ikke kan loeses (eller hvis det gaar for vidt for et 60 punkts spoergsmaal) saa laeg et svar for det du allerede har lavet.
Det tilsendte eksempel gør lige nøjagtig det du vil have den til. Du kan måske ikke se mere end 1 navn i tabellen da jeg indsætter et linefeed efter hvert navn så det kommer til at stå under hinanden. Prøv at gå ind i tabellen og tryk Shift+F2 i en record hvor du ved der er flere navne.
Den midlertidige tabel er lavet med key på adresse og postnummer så der ikke kan kommer flere af samme adresse i samme postnummer - hvilket er noget rod, men i det virkelige liv forekommer det rent faktisk. F.eks. er der 2 vejer der hedder Lærkevej under postnummer 7870, men de ligger i 2 forskellige byer.
Du har ret, de adskillige navne er der naar man ved hvordan man skal finde dem. (Engang i et tidligere aarhundrede da jeg boede i Danmark var der en revy-vise med "..det er ikke til at se det hvis man ikke lige ved det." Kendes den vise statid? Den maatte jeg taenke paa.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.