Toon posts:

[Access 2000] 2 tabellen updaten in form view

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hoi,

Ik ben bezig met een stockbeheer programma, met dit programma moet het ook mogelijk zijn om te kunnen bestellen, ontvangen en te factureren. Hieronder vind je mijn relatieschema van dit probleem:
Afbeeldingslocatie: http://img180.imageshack.us/img180/732/relatiesie6.jpg

Voor het leveren is het de bedoeling dat je het product ziet en daarnaast het aantal dat besteld is zodat je snel kan ingeven wat er binnengekomen is. Ik had als oplossing bedacht om:
SQL:
1
2
3
4
5
6
7
8
9
10
SELECT 
    ppb.productId,
    ppb.atl AS atlBesteld,
    ppb.bestellingId,
    ppl.atl AS atlGeleverd
FROM 
    tblProductPerBestelling ppb, 
    tblProductPerLevering ppl
WHERE 
    ppb.productId = ppl.productId;


Het probleem nu is, als ik deze query op een formulier toepas, kan ik geen records wijzigen of invoegen omdat je eigenlijk probeert om data in 2 tabellen weg te schrijven, maar eigenlijk heb ik enkel de gegevens nodig uit de ene tabel om nieuwe records in te voegen in mijn tabel tblProductPerLevering. Natuurlijk kan ik dit oplossen via een knopje en een event die dan een docmd.runsql uitvoert, maar dan zal de input van leveringen wat stroef verlopen, weet iemand hoe ik dit kan oplossen of waar er een probleem ligt in mijn denkpiste?

Verwijderd

Topicstarter
Ik heb de verkeerde query gepost, en ik kan niet editten in IE5:
SQL:
1
2
3
4
5
6
7
8
9
10
11
SELECT 
    ppb.productId, 
    ppb.atl AS atlBesteld, 
    ppb.bestellingId, 
    ppl.atl AS atlGeleverd
FROM 
    tblProductPerBestelling ppb 
LEFT JOIN 
    tblProductPerLevering AS ppl 
ON  
    ppb.productId = ppl.productId

  • mylar
  • Registratie: Mei 2002
  • Laatst online: 15-06 10:53
Als ik mij niet vergis zal je query nooit editeerbaar zijn wanneer er joins in staan.
Dus ik zou de join laten vallen, en informatie uit tblProductPerLevering weergeven via een combobox ofzo op je formulier. Deze combobox vul je dan op op basis van tblProductPerLevering, de productId match je aan de waarde en atl match je aan de weergavetekst.

Verwijderd

Topicstarter
Maar het probleem is, wanneer je een getal invult, wordt er een record aangemaakt in de tabel tblProductPerLevering, nu zijn er daar nog geen records, enkel wanneer dat veld ingevuld zou worden, dan zou er een nieuwe record moeten komen.
De gebruiker moet ook na (in het hoofdformulier) het selecteren van een bestelling alle goederen per bestelling zien van die bestelling en daarnaast kunnen ingeven hoeveel er geleverd zijn.