klanten uit een database halen met een zoek invoer veld

Status
Niet open voor verdere reacties.

stefanox2602

Gebruiker
Lid geworden
4 nov 2015
Berichten
9
hallo beste mensen.

ik zit met het volgende probleem, ik heb een formulier gemaakt waarin ik klanten kan toevoegen in een database. dat werkt allemaal goed.
nu hb ik een 2e formulier aangemaakt waarin ik een invoer veld heb met een button genaamd zoeken.
nu zou ik graag willen dat als ik bv een reparatienr invoer en op de knop zoeken druk deze de gegevens van de klant laat zien in het formulier.
graag jullie hulp als het kan alvast bedankt

https://www.rijnmondeg.nl/klantenconcept.rar
 
re

hoop niet dat het mij kwalijk wordt genomen dat ik het bestand op me eigen server heb geplaatst en hier de link heb gezet.
hoop dat iemand mij kan helpen. ben er al 3 dagen mee bezig maar het wil mij niet lukken!
 
Ik zal er straks even naar kijken. Maakt uiteraard niet uit waar je bestandje staat, zolang we er maar bij kunnen :).
 
Wat wil je eigenlijk; ik snap het niet helemaal. Waarom 2 formulieren? Is 1 niet genoeg?
 
re

inmiddels heb ik het gevonden en alles zoals je zei in 1 formulier gestopt.
kan nu dus klant toevoegen en opzoeken dmv ingave klant nummer.
graag zou ik nog 1 ding willen dat als ik een klant heb opgeslagen ik een soort van popup venster krijg van "klant opgeslagen"
en het zelfde bij als ik een zoek opdracht uitvoer en hij kan de klant niet vinden in de database dat ik dan een popup krijg van "klant niet gevonden"
 
Laatst bewerkt:
Overigens vind ik dat je db nog wel wat verbeterd kan worden, als de bijlage tenminste representatief is voor je echte db. Voor het bijhouden van reparaties heb je namelijk echt meer tabellen nodig dan je nu hebt gemaakt. Een reparatierecord is iets heel anders dan een klantrecord. In deze opzet zie je namelijk per klant maar één (de laatste natuurlijk) reparatie. Je hebt geen enkele historie. Ook heb je geen brontabellen voor merken, leveranciers etc. Dus voordat je überhaupt aan formulieren gaat denken, laat staan bouwen, zou ik eerst de structuur in orde maken. Maar dit terzijde dus.
 
re

dank je wel voor je bericht.

wat jij zegt is helemaal juist, het liefst zou ik inderdaad een historie functie erin willen hebben.
als leek die erin stapt n acces is het een hels karwij.
zou je mij op weg willen helpen hoe ik zo een historie functie erin kan maken
?


dank je wel
 
Oh ja, en wat betreft je laatste vragen: die hebben eigenlijk te maken met mijn vorige berichtje. Normaal gesproken heb je een aparte tabel (en formulier) voor je reparaties. Op dat formulier zoek je een klant op met een keuzelijst. Doe je meestal op naam. Als je de klant niet kan vinden (klant bestaat nog niet) dan kun je de gebeurtenis <Bij niet in lijst> triggeren die dan het klantenformulier opent zodat je de klant kunt toevoegen. Daarna gaat het reparatieformulier weer verder.
Een apart venster die meldt dat een klant is opgeslagen, is ook een beetje onzinnig: een formulier werkt doorgaans op een tabel, dus alles wat je doet in die tabel wordt al opgeslagen. Een aparte knop doet dus helemaal niks. En voegt dus (in mijn ogen) alleen maar ergernis toe, want je moet nu een keer extra klikken. En dan vergeet ik de muisbeweging nog...
 
Als je nog een leek bent in Access, zou ik je in eerste instantie aanraden om je eerst eens goed in te lezen in hoe je een database opzet. Daarvoor kun je de Access cursus gebruiken in de handleidingen sectie bijvoorbeeld; de eerste hoofdstukken gaan over het opzetten van een goede structuur en het normaliseren van een database. Jouw tabel zou wellicht in Excel prima werken, maar dus niet in een database. Je moet daarbij (het inrichten) dus eerst goed op papier hebben welke informatiestromen je hebt, en hoe je werkprocessen lopen. Op basis daarvan ga je de gegevens groeperen in tabellen.

Simpel voorbeeldje op basis van jouw db: je hebt dus blijkbaar klanten die reparaties laten doen. Een klant is een 'entiteit' zoals we dat noemen; een specifiek object, maar een klant is geen horloge. Een horloge is óók een entiteit, maar is weer géén klant. Zet alle klanten bij elkaar met hun spullen die ze bij jou laten repareren, en het is niet zo moeilijk om de verschillen te zien. Een reparatieobject heeft een merk en een eigenaar, een klant is doorgaans een mens met een naam en een adres, en is merkloos. Voor mensen (klanten) heb je dus een aparte tabel nodig waarin je de klanteigenschappen opslaat. Een naam is een 'attribuut' van een klant, en een adres ook. Weet je het Klantnummer, dan weet je dus waar die klant woont en hoe hij heet. Een horloge daarentegen is géén attribuut van een klant: kijk naar jezelf: vandaag heb je de Rolex om, en morgen de Breitner. En overmorgen het goedkope prul uit China. Elk horloge an sich is een eigen object, maar een horloge kan dus de ene dag bij Jan om de pols zitten, en de volgende dag bij Piet. Kortom: (het is een simpel voorbeeld, maar daarom wel duidelijk hoop ik) een horloge kan nooit een eigenschap van een klant zijn. En daarom mag een horloge (of welk ander reparatieobject dan ook) nooit in een klantentabel worden opgeslagen.

Een reparatie is een gebeurtenis. Gebeurtenissen leg je vast in een aparte tabel, en per gebeurtenis leg je bijvoorbeeld de datum(s) vast. Bij reparatie bijvoorbeeld de datum van binnenkomst en de datum waarop het gerepareerde artikel wordt opgehaald. Tevens leg je vast welk object je repareert, en de eigenaar (=klant). Omdat een klant meerdere reparaties moet kunnen doen, leg je een één-op-veel relatie tussen Klantentabel en Reparatietabel. Dat houdt dan in: één klant mag veel reparaties doen.
Wat jij in bericht #8 een historie tabel noemt, is dus eigenlijk een hele normale procesgang. Een historietabel is in mijn ogen ook iets heel anders; dat is een tabel waarin je mutaties vastlegt voor het nageslacht. Stel dat een klant verhuist. Simpel: je verandert het adres van de klant en je tabel is weer helemaal bij. Maar nu ben je dus het vorige adres van de klant kwijt! Wil je die informatie bewaren, dan moet je die dus ergens opslaan. Welnu, daar gebruik je historietabellen voor. Maar in jouw structuur speelt dat dus nog niet; je moet eerst de gewenste datastromen voor jezelf goed in kaart brengen. :)
 
re

ik heb je een email gestuurd
hoop dat je er even naar wilt kijken.

ik heb nu een Reparatietabel aangemaakt. betekent dit dat ik de exacte info die nu in mijn klantentabel staat 1 op 1 moet overzetten naar de reparatie tabel? dus de zelfde structuur?
 
Laatst bewerkt:
Op je laatste vraag: nee, die tabellen zijn uiteraard anders. Zoals ik al aangaf, moet je die gegevens bij elkaar in een tabel zetten die bij elkaar horen. In een reparatietabel heb je alleen een Klantnummer nodig, de overige informatie staat in de Klantentabel. Je komt op die regel overigens nog wel uitzonderingen tegen. Stel dat je van de klant 2 telefoonnummers hebt, een mobiel en een vast nummer. Maar die klant is tijdelijk niet op één van die nummers bereikbaar. Logish; zijn mobiel is nu net ter reparatie ingeleverd :). Dus heeft hij een andere mobiel meegenomen. Dan is het handig als je voor die melding dat telefoonnummer bij de melding opslaat. Daar gebruik je dan ook in de tabel Reparatie een apart telefoonveld voor. Je ziet dus vaak dat bij het maken van een melding het standaard telefoonnummer wordt ingevuld, maar dat je in het formulier dat telefoonnummer kunt overschrijven, en dat je dus dat extra telefoonnummer daarvoor gebruikt.
 
re

blijkbaar werkt de email functie hier niet want ik krijg ook geen kopie
wil je mij een mail sturen op ??
 
Laatst bewerkt:
Mailtje gestuurd; als ik jou was zou ik het email adres weer verwijderen voordat de spambots 'm vinden :)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan