Formulier in meer tabellen laten opslaan

Status
Niet open voor verdere reacties.

thapriest

Gebruiker
Lid geworden
28 okt 2009
Berichten
559
Beste mensen,

Wie kan mij hiermee helpen?
Ik heb een database gemaakt om bepaalde producten in te voegen, nu wilde ik met het formulier de gegevens laten opslaan in diverse tabellen, echter dat lukt me niet.

Ik heb een tabel tabel auto's met daarin de beschrijving titel etc. maar er is ook een tabel met extra's dat kunnen er 5 tot 10 zijn, dat wilde ik als volgt implementeren.

Een subformulier met invoervelden voor die extra's en daaronder wanneer je hem opslaat gelijk in het gehele formulier laat zien wat voor extra's je toegevoegd hebt.

Ik doe iets vast niet goed, of geheel onlogisch, wie o wie kan me weer op t rechte pad brengen?
 
Ik snap de vraag nog niet helemaal... Je hebt een formulier met autogevens, en daarop een subformulier met extra's. Je vult vervolgens je formulier in, vult daarna het subformulier in, en klikt op Opslaan. Normaal gesproken zie je dan niks anders dan je al op je formulier had staan, want dat is wat je opslaat. Wat wil je vervolgens dus zien?
 
JA zoals je het beschrijft klopt het aardig wat ik wil bereiken, echter het lukt me nog niet.
De extra's staan namelijk in een aparte tabel, want ik kan dat waarschijnlijk niet in dezekfde tabel doen? want per auto heb je verschillende extra's en dat kunnen er 3 zijn, maar ook 12...

Wat ik dus graag zou willen is dat ik de beschrijving en titel etc. kan invullen , en per extra toevoegen in een subformulier, en dat je dan ook na het toevoegen ziet wat je hebt toegevoegd(ter nacontrole en ter voorkoming van dubbele extra's.
 
Dan is de vraag hoe je subformulier is gemaakt. Normaal gesproken is een formulier gebaseerd op een tabel of een query, en wordt alles dat je op dat formulier doet al gelijk verwerkt in de tabellen waarop de formulieren zijn gebaseerd. (Hiermee geef ik overigens indirect ook al aan dat je eigenlijk dus ook geen knop Opslaan nodig zou hebben...)
Dat geldt dus voor hoofd- en subformulier. Als een subformulier is gebaseerd op een Doorlopend formulier, dan maak je voor alle extra's een apart record aan. Heb je een enkelvoudig formulier, dan heb je vermoedelijk alle mogelijke opties in één tabel staan. Maar ook hier geldt: als je iets invoert, staat het gelijk in de tabel.
Tenzij je onafhankelijke formulieren gebruikt, waarbij je geen bron hebt voor je formulier, en alles dus met toevoegqueries moet worden toegevoegd.
 
In deze zijn ze dan op een tabel gebasseerd.

Ik zal je even mijn uiteindelijke doel proberen uit te leggen, ik wilde graag een offerte systeem maken, waarin je in eerste instantie je producten toevoegt , en vervolgens met een ander formulier deze producten kunt ophalen, en er een offerte mee kan maken.

Zodat je niet tig keer hetzelfde verhaaltje hoeft te typen...

Het formulier waar ik nu mee bezig ben is het toevoeg formulier, waarmee je dus producten toevoegt aan een tabel.
Het subformulier heb ik inmiddels an de praat, echter nu geeft hij mij onder het toevoegen niet de records weer die ik toevoeg, of toegevoegd heb.
 
Wat geeft hij dan wel? En zijn Hoofd- en subformulier wel op de juiste manier aan elkaar gekoppeld?
 
Hij geeft het formulier weer, en daaronder een soort van excel veldjes(vind ik ook niet mooi, maar dat kijk ik later na).
Maar daarin staat niets..

Wat me nu pas opvalt, is dat hij in dat excel veldje, de velden weergeeft van mijn hoofdformulier.EDIT: dat heb ik alweer gefxt, hij linkte er verkeerd naar.

Of ze juist zijn gekoppeld? weet ik niet, ik begin net een tijdje met acces, en ik wilde JUIST geen kant en klare oplossing hebben, want daar leer ik niets van, en vind het wel prettig als ik ook wijzigingen kan aanbrengen.
 
Laatst bewerkt:
Formulieren koppelen heeft op zich niks met kant-en-klare oplossingen te maken... Maar is wel noodzakelijk, als je een subformulier wilt gebruiken op je hoofdformulier.
De basisprincipes zijn als volgt: Je hebt een hoofdtabel met producten, en (vermoed ik) een subtabel met extra's. In de tabel met extra's heb je hoop ik een verwijzing opgenomen naar de hoofdtabel, zodat je in de subtabel weet welke extra's bij welk product horen. Dus in de hoofdtabel heb je een veld ProductID als sleutelveld gedefinieerd, in de tabel Extra's heb je een veld HoofdProductID, waarin je de waarde invult uit de tabel Producten.
In je hoofdformulier heb je dus ook een veld ProductID gezet, en in het subformulier heb je, naast een sleutelveld, ook het veld HoofdProductID.
Als je het subformulier wilt koppelen aan het hoofdformulier, dan maak je een koppeling tussen de velden ProductID (tabel Producten) en HoofdProductID (tabel Extra's).
Als je het formulier naar het formulier Producten sleept in het ontwerpscherm, maakt Access de koppelingen zelf. Anders moet je dat doen vanuit het ontwerpscherm van het hoofdformulier. Je klikt dan het subformulier aan, kiest <Eigenschappen> en klikt op het tabblad <Gegevens> om de velden te koppelen.
 
Ok, dat is een mooie uitleg:) ik snap hem bijna helemaal;)
De koppeling heb ik volgens mij nu goed, maar wat bedoel je met een subtabel? ik heb namelijk een aparte tabel gemaakt voor extra's , of kun je hem ook als een subtabel aan de Producten tabel hangen?
En de koppelingen tussen ProductID en HoofdProductID, bedoel je dat met relaties? want ik heb die ID's namelijk met relatie aan elkaar gekoppeld.

Het formulier staat nu op de goede plek en de koppeling daartussen is (volgens mij) goed, echter hoe zorg ik ervoor, dat wanneer ik een extra toevoeg hij ook gelijk eronder verschijnt? en dan vervolgens een leeg beginscherm krijgt om de volgende extra toe te voegen?
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan