form en subform

Status
Niet open voor verdere reacties.

pascalzwanink

Gebruiker
Lid geworden
19 dec 2014
Berichten
31
Hallo allemaal

Ik kom niet verder met de database, die ik heb gedownload en een beetje heb aangepast naar mijn wensen.

Mijn vrouw is voor zichzelf begonnen en nu wil ik alle gegevens in een database hebben, zowel factuur als notities van bezoeken.

Het gaat om de tabel klantdetails. De tabel "bedrijven" is de tabel waarin ik "klanten" heb opgeslagen, dit om op deze manier
geen conflicten in systeem te krijgen.

Het mooiste is als ik dus in het formulier de klant kan zoeken en de daarbij behorende details in het subform krijg te zien.

Ik heb al in de relaties zitten graven en het forum doorgezocht maar hier kom ik helaas niet uit.

Weet iemand waar ik het bestand kan posten, het is als zip te groot...

Gr. Pascal
 
Het is altijd een slecht (nee: heel slecht) idee om een bestaande database van iemand anders (of nog slechter: van Microsoft) om te bouwen voor eigen doeleinden. Zo'n database is doorgaans niet gebouwd voor jouw specificaties, maar voor het eigen functioneel ontwerp. Beter (nee: veel beter ;) ) is het dus om die voorbeelden hooguit als inspiratie te gebruiken en vervolgens het eigen Functioneel Ontwerp te maken. Dan krijg je een database die voor de volle 98% voldoet aan de gestelde specs. Elke andere benadering leidt tot eindeloos spaghetti bouwen, want elke aanpassing is er een die toch weer wat anders moet doen dan in de oorspronkelijke database is bedacht; net zolang tot er geen touw meer aan vast is te knopen. En vooral voor beginnende database bouwers is dat een totaal verkeerde weg. Wou ik even gezegd hebben :). Want, ja, dan krijg je al heel snel dit soort dingen:

De tabel "bedrijven" is de tabel waarin ik "klanten" heb opgeslagen, dit om op deze manier geen conflicten in systeem te krijgen.
Normaal gesproken is een subformulier automatisch gekoppeld aan het hoofdformulier, dus het probleem dat je nu hebt, zou je helemaal niet mogen hebben. Maar ik zou zeggen: zet de database eens neer op wikisend o.i.d.
 
Hallo Octofish

Uiteraard begrijp ik dat een nieuwe database beter is.

Ik wilde alleen zsm dit voor elkaar hebben, zodat ik in het nieuwe jaar aan de slag kan hiermee.

Ivm tijdgebrek had dit mijn voorkeur.

Op dit moment gebruik ik voor de facturatie een excel bestand, maar daar kan ik niet goed mee uit de weg.

Op de volgende link heb ik het bestand staan.

http://we.tl/342ETZbWsT

hopelijk kan je er iets mee.

Alvast bedankt voor alle tijd die er in gestoken is.

Gr. Pascal
 
Tijd mag nooit een doorslaggevende factor zijn vind ik, zeker niet als het gaat om het opzetten van een database. De tijd dat je er mee gaat werken is doorgaans heel wat langer dan de tijd die je in het bouwen steekt. Dus moet het maken zorgvuldig gebeuren. En dat kost nu eenmaal tijd. Maar ik zal er vandaag even naar kijken als ik ... tijd heb :).
 
Hoi Michel

Heb je nog tijd gehad om hier naar te kijken?

Tevens kom ik er niet uit de datum in mijn aut. factuurnummer te krijgen.
jaar maand en dan een nummer.(hoeft niet per maand opnieuw te beginnen)

Alvast bedankt

Pascal
 
Wat betreft je oorspronkelijke vraag betreft heb ik het formulier <Klantdetails frm> vervangen door een nieuw formulier, want je kunt beter een doorlopend formulier gebruiken op je formulier Klanten (Dat je makkelijk kunt hernoemen overigens, want het zijn tenslotte geen bedrijven). Dus op basis van de tabel [Klantdetails] maak je een subformulier aan, waar het veld BedrijfID overigens een beetje vreemd is. Dat is nu een sleutelveld, en als je die tabel dus koppelt aan de tabel [Bedrijven], dan kun je voor elke klant (bedrijf dus in je tabel) maar één detailrecord maken. En dat schiet vermoed ik niet op. Want ik vermoed dat je per klant een aantal records met metingen wilt kunnen maken. Dat betekent dat je een één-op-veel relatie nodig hebt tussen de tabellen. En dat kan alleen als je koppelt aan het veld [Bedrijfsnaam].

En daar gaat het dan alsnog fout, want je hebt daar een tekstveld van gemaakt, terwijl het veld ID in [Bedrijf] een getalveld is. Je zult dus sowieso van [Bedrijfsnaam] een numeriek veld moeten maken. En dat kan, want je hebt (nog een foutje) van het veld een Keuzelijst met invoervak gemaakt. Als je mijn cursus zou lezen, dan weet je dat ik daar een hele grote tegenstander van ben. In een tabel horen geen keuzelijsten thuis, tenzij op basis van een lijst met velden. Maar zeker niet op hoofdtabellen. Want wat sla je nu op in dat veld? Je hebt er een tekstveld van gemaakt, want wat zie je? Klantnamen. En die zijn tekst. Maar vervang de Keuzelijst met invoervak maar eens door de optie tTekstvak dan zul je zien dat er gewoon getallen in het veld staan! En getallen sla je op in een numeriek veld. En als je dat doet, kun je de tabel wél correct koppelen aan [Bedrijven]. Zoals het hoort dus.
De koppeling ligt dan tussen [Bedrijven].[ID] en [Klantdetails].[Bedrijfsnaam]. Op bijna alle fronten verkeerde tabelnamen en veldnamen :).
Met deze aanpassingen kun je in ieder geval dus per klant de details zien.

Nog een puntje: de BMI is een formule, maar jij gebruikt die niet, jij vult 'm in. Zou ik niet doen. Aan de andere kant: ik zie nergens de lengte van de klant, dus er valt ook niet zoveel te rekenen. Maar nu loop je de kans dat je een verkeerde BMI invult, terwijl dat dus een berekend veld zou moeten zijn.

Maar ik zou op zeker éérst de tabellen(namen) aanpassen en de veldnamen, want vroeg of laat heb je geen flauw idee meer wat je aan het doen bent :)
 
Hoi Michel
Bedankt voor je reactive, maar ik snap niet helemaal wat je bedoeld.

Heb jij een wijziging gemaakt in het bestand wat ik had gepost?

Als dit zo is, ik zie nergens dit bestand bij zitten.

Hoor het wel hoe of wat.

Gr. Pascal
 
Ik heb inderdaad geen bijlage meegepost, maar beschreven wat ik heb gedaan (en zou doen als ik jou was) om de db te verbeteren. Als je de tips opvolgt, moet je al een heel eind kunnen komen. Begin in ieder geval met het aanpassen van de relaties tussen de tabellen, en het maken van een doorlopend formulier voor de details. En daarvoor dus nog het aanpassen van de tabel- en veldnamen, want een db zonder consistentie in de naamgeving is alleen maar lastiger te onderhouden.

Mocht je er niet uitkomen, dan kan ik vanavond we mijn voorbeeldje meesturen.
 
Hoi Michel
Bedankt voor je snelle reactie!

Als je het voorbeeld mee zou willen sturen graag.

Kan je misschien ook een code sturen die ik moet gebruiken om het factuurnr. met jaartal en maand automatisch door te laten lopen gebaseerd op mijn bestand?
(heb er al veel over gelezen, maar kom er niet uit helaas)

Ook de database op " nul " laten beginnen lukt me niet en kom ik niet uit....

Ik ga in ieder geval mijn test database aanpassen zoals jij hebt voorgesteld....

Gr. Pascal
 
In dit forum zijn verschillende topics gemaakt met als onderwerp 'volgnummers maken'. Dus als je even in dit Form zoekt op volgnummers, kom je wel een paar voorbeelden tegen. En als je er daarmee niet uitkomt, dan moet je maar even een voorbeeldje maken van hoe jouw nummering er uit moet komen te zien, dan schuiven we je wel naar de juiste uitgang :)
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan