Vraag & Antwoord

Anders (software)

Access vraag

5 antwoorden
  • ik ben bezig met het maken van een factuursysteem in access. hier in heb ik het volgende probleem: ter info: heb drie tabellen: artikelentabel bontabel bonregeltabel door middel van een formulier maak ik een factuur op met daarop 1 of meerdere artikelen. ik scan dan een barcode (welke het sleutel veld is in mn artikelen tabel) ik geef een aantal op en het formulier haalt hier bij het merk omschrijving en prijs op. bijvoorbeeld: ik maak een nieuwe bon aan, bijv bonnr 15. ik verkoop verkoop een strijkplank voor 30 euro. dan komt die 30 euro op mn formulier en via een rapport uit de printer. als ik nu in mn artikelen tabel de prijs van deze strijkplank verander naar 20 euro dan komt op bonnr 16 de strijkplank met 20 euro boven water. maar nu veranderd hij ook de prijs van bonnr 15 met de strijkplank naar 20 euro, en dit is niet de bedoeling. hoe voorkom ik dit? ik zal iets moeten maken dat de prijs van het artikel in mn bonregel tabel moet komen te staan denk ik, klopt dat, iemand ander ideeen? hoe pak ik dit aan?? als er ondeduidelijk heden zijn vraag gerust. groeten remco
  • Inderdaad, je moet de prijs van het artikel ook in de bonregel tabel opslaan en eventueel ook andere gegevens van het artikel welke niet meer mogen wijzigen. Geef de regels welke op een bon horen hetzelfde bonnummer zodat je ze altijd nog kan terugvinden en opnieuw uitprinten. Groeten, Wim
  • bedankt voor de reactie, het is dus toch al zoals ik had gedacht. nu zit ik met een probleem waar ik dus niet uitkom... ik heb een formulier om de gegevens dit ik wil weten in tevoeren in de bontabel. dmv een subformulier vul ik de gegevens in in de bonregeltabal. deze twee zijn gerelateerd aan elkaar dmv het bonnr. in mn bonregel heb alleen deze zaken staan. bonnr. artikelnr. aantal. en nu dus ook de prijs. nog een paar gegevens in dit invoer formulier vul ik de volgende gegevens in... in het ''hoofdformulier'' bonnr. --> autonummering datum/tijd --> automatisch gegenereerd verkoper --> tekstvak betaalwijze --> tekstvak in het subformulier.. bonnr. --> gerelateerd aan bonnr in bontabel (verborgen) artikelnr. --> nummeriek (wordt ingevoerd dmv barcode scanner) aantal --> nummeriek (standaard waarde 1) via de artikeltabel haal ik merk en omschrijving boven water en de prijs. ik heb het zo gemaakt dat zodra ik het artikelnummer in scan de database zelf automatische de overige informatie invult. het is de bedoeling dat het zo simpel mogelijk wordt. met moet gewoon kunnen klikken op nieuwe bon, de verkoper en de betaal wijze kiest (via een dropdown) en vervolgens de artikelen scant en eventueel het standaard aantal van 1 veranderd in een ander aantal nu komt mijn vraag: hoe kan ik dit formulier zo ver krijgen dat het de prijs uit de artikelen tabel opzoek en in de bonregeltabel opneemt?
  • Als je niet al te bang bent voor VBA is hier wel een mooie oplossing voor te bedenken. Als je in het AfterInsert event van het subformulier een update query laat uitvoeren die in de bonregel tabel de bedragen invult met als basis de bedragen uit de artikelentabel moet het probleem op te lossen zijn. Je moet er dan wel voor zorgen dat je het sleutelveld van de bonregeltabel maakt en de standaardprijs meegeeft als parameter voor de code. Dus bijvoorbeeld: [code:1:2ed60a381e] Private Sub Form_AfterInsert(id As Long, dblPrijs As Double) Dim strSQL As String strSQL = "UPDATE bonregeltabel SET prijs = " & dblPrijs & "WHERE id = " & id & ";" DoCmd.RunSQL End Sub [/code:1:2ed60a381e] Grtz,
  • mmm ik was al bang dat het op visual basic zou uitdraaien, en dat is het probleem. mijn kennis daarvan is helaas 0,0.... :cry: ik heb wel bij mn formulier veld prijs de optie na bewerken en dan opbouwfunctie voor expressies een soort afterinsert optie gezien, maar hoe dit verder werkt is voor mij ook een "raadsel" :-? maar misschien is er met deze optie iets tedoen... kan iemand mij misschien uitleggen hoe? groeten remco

Beantwoord deze vraag

Weet jij het antwoord op deze vraag? Registreer of meld je aan met je account

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.