[Access] contact database

Pagina: 1
Acties:

  • Dannydekr
  • Registratie: Januari 2005
  • Laatst online: 04-02 13:47
Voor het bedrijf waar ik nu voor werk willen ze graag een simpele contacten database. Ze gebruiken momenteel een Excel file waar zo'n 800 namen, emailadressen en andere gegevens staan. Ik zelf ben de webredacteur, maar ga uitzoeken hoe het e.e.a. werkzaam kan zijn via een database.

Ik heb weinig ervaring met Access, maar genoeg om de gegevens te importeren en wat basisfunctionaliteit in te stellen.Opzich werkt het prima, met de huidige ingevoerde gegevens via het XLS bestand kan men sorteren op bedrijf en bijvoorbeeld enkel mensen weergeven van een bepaald bedrijf.

Ik heb echter een probleem. Per aanmelding voor een evenement krijgen ze in principe een nieuwe XLS file er bij. Het komt voor dat er in die nieuwe aanmeldingen al mensen staan die bij een vorig evenement zijn geweest. Hierdoor staan er in de nieuwe XLS file dus namen die al in de database staan.

Heb getest in Access met het importeren van nieuwe gegevens, maar kom er niet helemaal uit.

Wil dus dat Access alleen de namen/gegevens overneemt van de mensen die nog niet in de database voorkomen. Nu gooit die gewoon alles er in, en staan er dus dubbele namen in de database.

Is het mogelijk om enkel unieke gegevens te importeren in Access via een later te importeren XLS bestand? En zo ja; waar kan ik dat instellen?

Mijn dank is groot! _/-\o_

Those who surrender freedom for security will not have, nor do they deserve, either one.


  • Emmeau
  • Registratie: Mei 2003
  • Niet online

Emmeau

All your UNIX are belong to us

Dannydeman schreef op woensdag 14 juli 2010 @ 21:01:
Is het mogelijk om enkel unieke gegevens te importeren in Access via een later te importeren XLS bestand? En zo ja; waar kan ik dat instellen?
Via een omweg kan dit, excel sheet in tijdelijke tabel importeren, en dan vervolgens tegen de 'echte' tabel met gegevens matchen.
Vind sowieso het verhaal nogal vaag, lees je eerst eens in in databases, imports, en access zou ik willen adviseren.

If you choose to criticise you choose your enemies


  • Dannydekr
  • Registratie: Januari 2005
  • Laatst online: 04-02 13:47
Helaas weinig tijd om me daar veel in te verdiepen, ik ben geen database-expert en dat is ook niet mijn functie. Met zo min mogelijk kennis een zo'n goed mogelijk resultaat halen :9

Maar ik begrijp wel wat je bedoeld. Je kan namelijk de XLS file importeren in een nieuwe tabel naast je huidige tabel. Maar dat matchen van tabellen; hoe werkt dat precies? In de richting van 2 tabellen selecteren/klikken op knop en het is klaar? Het is namelijk de bedoeling dat uiteindelijk de mensen met wie ik werk het zelf ook kunnen doen, dus als hier een simpele herhaalbare procedure voor is, zal dat mooi zijn.

Edit: of kan ik bijvoorbeeld een veld de primary key maken (bijv emailadres) en dan wanneer ik een nieuwe XLS file importeer met duplicates, hij het dan automatisch weigert omdat de primary dan niet-unieke gegevens bevat?

[ Voor 16% gewijzigd door Dannydekr op 14-07-2010 21:18 ]

Those who surrender freedom for security will not have, nor do they deserve, either one.


  • Emmeau
  • Registratie: Mei 2003
  • Niet online

Emmeau

All your UNIX are belong to us

Je wil je contacten database, toch een vrij vitaal onderdeel van een organisatie als amateur in elkaar zetten en daar vervolgens je bedrijfsvoering aan ophangen? Wat denk je zelf als ik het zo schrijf, goed plan?

De vragen die je stelt zijn echt allemaal basic Access/Excel/Office vraagjes, en het lijkt me dan ook niet zo'n goed plan dat je dit goed doen met de gelimiteerde kennis die je hebt.

Als je geen tijd/niet wil verdiepen, dan niet zelf gaan prutsen, kost op lange termijn alleen maar meer geld.
Dan wordt het dus iemand zoeken die wel zo'n project aankan/voldoende kennis heeft.

Klinkt misschien lullig zo, maar wel het beste denk ik tenzij je zin hebt om een draak van een app te bouwen en organisatie breed wil gaan inzetten (brrr)

If you choose to criticise you choose your enemies


  • Dannydekr
  • Registratie: Januari 2005
  • Laatst online: 04-02 13:47
Het is een organisatie van 2 man met een klein budget ;) , ik ben er 1 maal per week en doe voornamelijk alles betreft de website. Dit is een klein tussenproject met als enige doel de spreadsheet met gegevens wat dynamischer te maken. Access leek me daarvoor het beste/snelste. Het enige probleem wat ik heb is dus die import met niet-unieke gegevens..meer niet.

Those who surrender freedom for security will not have, nor do they deserve, either one.


  • Emmeau
  • Registratie: Mei 2003
  • Niet online

Emmeau

All your UNIX are belong to us

Je gaat tegen zaken aanlopen als 'wanneer is een klant uniek'

even simpel, stel je gebruikt [naam, adres, woonplaats] als PK om een klant uniek te identificeren.

Het verschil tussen 'G. Doustraat' en 'Gerard Doustraat' levert al problemen op.

Mocht je excel sheet een fatsoenlijke PK kennen (klant-id ?) dan wordt het natuurlijk al een stuk eenvoudiger.

Lompe niet aan te raden methode: gewoon copieren naar de uiteindelijke tabel, en de unieke PK constraint er voor laten zorgen dat dit record niet opnieuw geinsert wordt.

Beter: Kijken welke records in the 'temp import' tabel nieuw zijn, en toevoegen aan de 'uiteindelijke' tabel.

If you choose to criticise you choose your enemies


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 22-01 23:51

NMe

Quia Ego Sic Dico.

Ik zou het op prijs stellen als je de volgende keer even om je heen wil kijken voor je een topic post. Als je Waar hoort mijn topic?, prominent vermeld bovenaan onze topiclisting, had gelezen, dan had je geweten dat je helemaal verkeerd zat en je eigenlijk in Officesuites en -software had moeten zijn. ;)

SEA>>OFF

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • Dannydekr
  • Registratie: Januari 2005
  • Laatst online: 04-02 13:47
Mijn wel gemeende excuses.. O-)

Those who surrender freedom for security will not have, nor do they deserve, either one.


  • Marko_J
  • Registratie: Maart 2010
  • Laatst online: 05-02 13:06
Je schrijft dat je via de website elk evenement een excelsheet oplevert met namen en adressen, en dat daar dus ook namen bij kunnen staan van mensen die ook aan eerdere evenementen hebben deelgenomen.

Hoe werkt dat? Hebben ze een inlogaccount, of vult men iedere keer handmatig een inschrijfformulier in o.i.d.? In het eerste geval zijn de gegevens namelijk iedere keer volstrekt identiek, en zal er, als het goed is, ook iets als een uniek klant-nr zijn.

In het tweede geval is het een stuk vervelender (ook voor de terugkerende klant trouwens, die alles weer in moet vullen) omdat de gegevens dan niet 100% betrouwbaar gematcht kunnen worden. Het veld emailadres is dan waarschijnlijk het zinnigst om 'uniek' te maken. Je kan in je Access-tabel van dat veld de index op 'Ja (Geen duplicaten)' zetten. Dan kan elk emailadres maar 1 keer voorkomen. Bij het importeren van gegevens uit Excel, zal hij dan records met dezelfde waarde simpelweg overslaan.

(als Access het weigert om die instelling toe te passen, dan zitten er al dubbele emailadressen in. Daar is overigens makkelijk achter te komen met een query-wizard die dubbele records kan opzoeken)

[ Voor 11% gewijzigd door Marko_J op 15-07-2010 11:39 ]


  • Dannydekr
  • Registratie: Januari 2005
  • Laatst online: 04-02 13:47
@Marko,

Helaas moeten ze per event een inschrijfformulier invullen, gaat via het Joomla component RSform Pro. Dit kan je dan vervolgens exporteren naar een CSV bestand. Ik denk dat het slim is om deze dan te bewerken simpel door ze van een juiste kop te voorzien die overeenkomt met de Access tabellen, en importeer vervolgens de XLS in Access. Dit is een procedure die ik mijn collega's makkelijk zou kunnen laten uitvoeren, dus zal mooi zijn als het goed werkt :).

Het enige wat uniek gemaakt kan worden is dus inderdaad het mailadres. Het enige nadeel is dan weer dat die kunnen veranderen in de loop der tijd. In ieder geval denk ik dat het geen slechte oplossing is, gezien het feit het niet vaak voor zal komen dat mailadressen wijzigen en het niet moeilijk is om dan een enkele duplicaat op te sporen.

Volgende week zal ik het e.e.a. testen en voorleggen aan mijn collega's, mocht ik er niet uit komen zal ik dit topic raadplegen _/-\o_

Those who surrender freedom for security will not have, nor do they deserve, either one.


  • Marko_J
  • Registratie: Maart 2010
  • Laatst online: 05-02 13:06
Dannydeman schreef op donderdag 15 juli 2010 @ 13:32:
Dit kan je dan vervolgens exporteren naar een CSV bestand. Ik denk dat het slim is om deze dan te bewerken simpel door ze van een juiste kop te voorzien die overeenkomt met de Access tabellen, en importeer vervolgens de XLS in Access. Dit is een procedure die ik mijn collega's makkelijk zou kunnen laten uitvoeren, dus zal mooi zijn als het goed werkt :)
Met wat VBA code kan die importprocedure (grotendeels) automatisch verlopen. Maar het blijft een beetje houtje/touwtje-aanpak. Gegevens exporteren vanuit Joomla, downloaden, importeren in Access. Het klinkt omslachtig, en het moet steeds herhaald worden om actueel te blijven.

Wat ook kan: vanuit Access een rechtstreekse koppeling met de webdatabase realiseren. De hele export/import-tussenstap is dan niet nodig. Je hebt altijd real-time toegang tot alle records, en met een query zijn die gegevens dynamisch uniek te maken.
Pagina: 1