Zur Hauptseite ... Zum Onlinearchiv ... Zum Abonnement ... Zum Newsletter ... Zu den Tools ... Zum Impressum ... Zum Login ...

Achtung: Dies ist nicht der vollständige Artikel, sondern nur ein paar Seiten davon. Wenn Sie hier nicht erfahren, was Sie wissen möchten, finden Sie am Ende Informationen darüber, wie Sie den ganzen Artikel lesen können.

Kompletten Artikel lesen?

Einfach für den Newsletter anmelden, dann lesen Sie schon in einer Minute den kompletten Artikel und erhalten die Beispieldatenbanken.

E-Mail:

Gedrucktes Heft

Diesen Beitrag finden Sie in Ausgabe 1/2012.

Unser Angebot für Sie!

Lesen Sie diesen Beitrag und 500 andere sofort im Onlinearchiv, und erhalten Sie alle zwei Monate brandheißes Access-Know-how auf 72 gedruckten Seiten! Plus attraktive Präsente, zum Beispiel das bald erscheinende Buch 'Access 2010 - Das Grundlagenbuch für Entwickler'!

Diesen Beitrag twittern

Zusammenfassung

Lernen Sie ein Formular zur Verwaltung von Rechnungs- und Lieferadressen kennen.

Techniken

Formulare, VBA

Voraussetzungen

Access 2000 und höher

Beispieldateien

Adressen.mdb

Shortlink

www.access-im-unternehmen.de/816

Formular für Liefer- und Rechnungsadressen

André Minhorst, Duisburg

Wenn die Adressdaten Ihrer Kunden in einer expliziten Form mit Liefer- und Rechnungsadresse vorliegen, ist deren Handhabung recht einfach. Sie möchten eine Rechnung verschicken? Verwenden Sie die Rechnungsadresse! Der Kunde hat ein Produkt bestellt? Senden Sie es an die Lieferadresse! Fehlt nur noch ein Formular, mit dem Sie die vorliegenden Daten komfortabel pflegen und gegebenenfalls abgleichen können. Dieser Beitrag liefert das nötige Rüstzeug für ein solches Formular.

Umgang mit expliziten Adressen im Formular

Weiter oben haben wir erwähnt, dass die einfachste Variante diejenige ist, bei der Lieferadresse und Rechnungsadresse immer gefüllt sind. Dies sollte sowieso der Fall sein, wenn es sich dabei um verschiedene Adressen handelt, aber auch, wenn die Adressen gleich sind. In diesem Fall wird die eingegebene Adresse einfach in die noch leere Adresse übertragen.

Das Formular aus soll bei markiertem Kontrollkästchen chkLieferGleichRechnung gewährleisten, dass Änderungen an der Lieferadresse auf die Rechnungsadresse übertragen werden und dass die Daten der Rechnungsadresse nicht direkt geändert werden können.

Außerdem soll man für Kunden, für die nur eine Lieferadresse, aber keine Rechnungsadresse vorliegt, die Lieferadresse durch Aktivieren der Option Lieferadresse entspricht Rechnungsadresse in die Rechnungsadresse kopieren können.

Schließlich fehlt noch das Pendant zu dieser Funktion, das die Rechnungsadresse über die Lieferadresse schreibt: Dies erledigt ein Klick auf die Schaltfläche Rechnungsadresse als Lieferadresse übernehmen. Das Ergebnis soll wie in Abb. 1 aussehen.

pic002.png

Abb. 1: Formular zur Bearbeitung von Rechnungs- und Lieferadressen

Erstellen des Formulars

Das Formular soll den Namen frmKunden erhalten, daher legen Sie dieses zunächst als Formular in der Entwurfsansicht an und speichern es unter diesem Namen. Fügen Sie dann die Tabelle tblKunden als Datenherkunft hinzu (s. Abb. 2). Diese Tabelle wird im Detail im Beitrag Liefer-, Rechnungs- und sonstige Adressen (www.access-im-unternehmen.de/813) beschrieben.

pic003.png

Abb. 3: Das Formular frmKunden in der Entwurfsansicht

Die Daten dieser Tabelle ordnen Sie beispielsweise wie in Abb. 3 im Formularentwurf an. Dabei landen die Adressen für Lieferung und Rechnung jeweils in einem eigenen Bereich, allein die Kundennummer und das Feld LieferGleichRechnung werden außerhalb der in Rahmen-Steuerelementen eingefassten Adressdaten dargestellt.

pic001.png

Abb. 2: Datenherkunft des Formulars

Damit Sie später unterscheiden können, ob Sie per VBA auf die Steuerelemente oder die als Steuerelementinhalt angegebenen Felder der Datenherkunft zugreifen, versehen wir die Steuerelementnamen mit entsprechenden Präfixen (etwa txtFirma statt Firma).

Das Kontrollkästchen chkLieferGleichRechnung: Es ist an das Feld LieferGleichRechnung gebunden und gibt an, ob Liefer- und Rechnungsadresse gleich sind.

Zusätzlich enthält das Formular zwei Schaltflächen, die sich zwischen den beiden Bereichen für Liefer- und Rechnungsadresse befinden. Die Schaltflächen heißen cmdLieferInRechnung und cmdRechnungInLiefer und dienen dazu, die komplette Lieferadresse als Rechnungsadresse zu übernehmen und umgekehrt.

Aktionen beim Anzeigen eines Kunden

Wenn das Formular den ersten Kundendatensatz nach dem Öffnen anzeigt oder der Benutzer mithilfe der Navigationsschaltflächen den Datensatz wechselt, muss das Formular prüfen, welchen Wert das Feld LieferGleichRechnung enthält, und die Steuerelemente entsprechend aktivieren beziehungsweise deaktivieren. Das Wechseln des Datensatzes löst das Ereignis Beim Anzeigen aus, für das wir die folgende Ereignisprozedur hinterlegen:

Private Sub Form_Current()

    RechnungssteuerelementeAktivieren

End Sub

Diese ruft lediglich eine weitere Prozedur namens RechnungssteuerelementeAktivieren auf, die wie in Listing 1 aussieht. Die Prozedur speichert den Wert des Feldes LieferGleichRechnung in der Variablen bolRechnungsadresseSperren und weist den darin enthaltenen Wert der Eigenschaft aller Steuerelemente zu, die sich auf die Rechnungsadresse beziehen.

Listing 1: Formularsteuerelemente aktivieren/deaktivieren

Private Sub RechnungssteuerelementeAktivieren()

    Dim bolRechnungsadresseSperren As Boolean

    bolRechnungsadresseSperren = Not Me!chkLieferGleichRechnung

    Me!cboAnredeID_Rechnung.Enabled = bolRechnungsadresseSperren

    Me!txtEMail_Rechnung.Enabled = bolRechnungsadresseSperren

    Me!txtFirma_Rechnung.Enabled = bolRechnungsadresseSperren

    Me!txtLand_Rechnung.Enabled = bolRechnungsadresseSperren

    Me!txtNachname_Rechnung.Enabled = bolRechnungsadresseSperren

    Me!txtOrt_Rechnung.Enabled = bolRechnungsadresseSperren

    Me!txtPLZ_Rechnung.Enabled = bolRechnungsadresseSperren

    Me!txtStrasse_Rechnung.Enabled = bolRechnungsadresseSperren

    Me!txtVorname_Rechnung.Enabled = bolRechnungsadresseSperren

    Me!cmdLieferInRechnung.Enabled = bolRechnungsadresseSperren

Sie haben das Ende des frei verfügbaren Teils des Artikels erreicht. Lesen Sie weiter, um zu erfahren, wie Sie den vollständigen Artikel lesen und auf viele hundert weitere Artikel zugreifen können.

Sind Sie Abonnent?Jetzt einloggen ...
 

Kompletten Artikel lesen?

Einfach für den Newsletter anmelden, dann lesen Sie schon in einer Minute den kompletten Artikel und erhalten die Beispieldatenbanken.

E-Mail:

© 2003-2015 André Minhorst Alle Rechte vorbehalten.