2017-10-12 1 views
0

Ich möchte Datensätze automatisch hinzufügen und aktualisieren, um die Gesamtwerte für Glühbirnen zu berechnen. Dies gilt für einen Kundenauftrag für Waren, die an den Kunden verkauft werden. Der Vertriebsmitarbeiter gibt eine Teilenummer einer Leuchte, Informationen für den Installateur und die Anzahl der benötigten Artikel ein. Alle anderen Informationen werden aus einer anderen Tabelle gezogen, ich habe den Preis usw. weggelassen, weil das nicht relevant ist.MS Access Datensätze auf Basis von Daten aus anderen Datensätzen in derselben Tabelle hochsetzen

Ich möchte, dass das Bestellformular automatisch eine weitere Werbebuchung für die Anzahl der Glühbirnen hinzufügt, die ebenfalls bestellt werden müssen.

Beispieldaten durch Mitarbeiter eingegeben:

ID | PartNumber | Info | Qty | BulbQty | BulbInfo 
1 | 563  | Hall | 3 | 2 | A19 

Wie das in der Tabelle hinzugefügt wird, möchte ich einen neuen Datensatz automatisch hinzufügen, mit einer leeren Teilenummer, [Info] = [BulbInfo], [ Menge] = [BulbQty] * [Menge].

Beispieldaten sowie automatische Position Glühbirnen Berechnung Licht geliefert werden:

ID | PartNumber | Info | Qty | BulbQty | BulbInfo 
1 | 563  | Hall | 3 | 2 | A19 
2 |   | A19 | 6 |   | 

Wenn nun eine neue Position mit A19 Glühbirnen hinzugefügt wird, möchte ich auf Info in meine Birne Rekord Menge (bezogen hinzufügen = BulbType) anstelle eines brandneuen Datensatzes. Natürlich, wenn ein Datensatz geändert oder gelöscht wird, muss ich jetzt das aus dem relevanten Glühbirnenrekord abziehen. Ich habe viele verschiedene Lampentypen, also muss ich dynamisch sein, basierend auf dem Wert von [BulbQty] für neue eingehende Datensätze.

+2

Warum möchten Sie eine Summe in einer Tabelle speichern, anstatt nur eine Abfrage zu verwenden? – MoondogsMaDawg

+1

Um auf @ChristopherD zu erweitern. Kommentare - Sie sollten keine "Vorhandene" Menge speichern, Sie sollten sie immer berechnen. Weitere Informationen zum Thema finden Sie hier http://allenbonne.com/AppInventory.html – Minty

+0

Dieser Auftrag wird verwendet, um die Bestandstabellenmengen zu aktualisieren, sowie eine Bestellung zu erstellen. Die Glühbirnen sind ihre eigene Werbebuchung, weil sie auch ein Inventarartikel sind, der gekauft und verkauft wird. –

Antwort

0

Ich habe einen privaten Sub erstellt, der jedes Mal aufgerufen wird, wenn eine Menge aktualisiert wird, indem [BulbType] und meine Kundenauftragsnummer übergeben werden, so dass ich nur den aktuellen Kundenauftrag ändere.

Zuerst, wenn [BulbType] "" ist, beenden Sie die Sub. Dann habe ich DCount verwendet, um vorhandene Instanzen von [BulbType] in [Info] zu finden. Wenn es mehrere Instanzen (in meinem Fall sollte es nicht, aber nur für den Fall) gibt, aufgefordert, sie alle zu löschen. Wenn keine Instanzen vorhanden sind, fügen Sie einen hinzu, wobei [Info] = [BulbType] ist. Wenn es nur eine Instanz gibt (sollte es nun sein), erstellen Sie ein Recordset aller Instanzen von [BulbType]. Jetzt laufe einfach durch das Recordset und füge zu einer totalQty-Variablen hinzu, um meine Summe zu erhalten. Fügen Sie diese Summe in das Feld [Menge] in meinem Kundenauftrag mit einem DLookup hinzu, da ich weiß, dass es nur eine Instanz gibt, für die [Info] = [BulbType] gilt.

Verwandte Themen