Access-o-Mania

Access-Forum (Deutsch/German) => Formular => Thema gestartet von: pahiti78 am Juni 21, 2012, 22:21:44

Titel: Wert mit Kombifeld übernehmern
Beitrag von: pahiti78 am Juni 21, 2012, 22:21:44
Hallo,
ich habe ein Problem mit einem Formular, welches sich auf die Tablle tbl_Erfassung bezieht. Dort existieren unter Anderem die Spalten Kundenname und Kundennummer. Das angesprochene Formular bezieht sich auf diese Tabelle und die Spalte Kundenname wird mittels Kombinationsfeld "cboKontakt" gefüllt. Das Kombifeld greift lediglich auf Kundennamen zurück, welche in der Tabelle tbl_Stammdaten angelegt sind.
Es existiert wieterhin ein Textfeld, leider ungebunden, welches mir durch Beziehung zum Kombifeld cboKontakt die Kundennummer liefert. Dazu habe ich bei der Datenherkunft folgende Codierung verwendet "=cboKontakt.column(1). Die Kundennummern werden aber nicht in der Tabelle tbl_Erfassung übernommen, da das Feld ja ungebunden ist. Kann ich das Textfeld irgendwie einbinden oder besteht eine andere Möglichkeit, dass erstens durch Auswahl des Kundennamens die Kundennummern automatisch im formular und in der Tabelle übernommen werden?
Titel: Re: Wert mit Kombifeld übernehmern
Beitrag von: oma am Juni 21, 2012, 23:37:25
Hallo,

du kannst das in folgender Weise lösen:

Dein Formular basiert auf die Tabelle tbl_Erfassung, in der ein Kunde erfasst werden soll. Dazu brauchst du nur das Feld Kundennummer (und nicht noch das Feld Kundennamen)

Im Formular erstellst du ein Kombifeld zur Erfassung der Kundennummer mit:

1.  Steuerelementinhalt:  Kundennummer
2.  Datensatzherkunft:   SELECT Kundennummer, Kundenname FROM tbl_Stammdaten
3: Spaltenanzahl: 2
4.  Gebundene Spalte: 1
5.  Spaltenbreiten  0;4 cm (oder passende Werte für dein Formular)

Somit  erscheint zur Auswahl im Kombifeld das zweite Feld Kundenname u. ist im Formular sichtbar, gespeichert wird aber die zum Kundenname gehörige Kundennummer.

Gruß Oma


Titel: Re: Wert mit Kombifeld übernehmern
Beitrag von: pahiti78 am Juni 25, 2012, 18:11:34
Hallo,
Klasse haut hin. Danke für die Info.
Ich habe noch nen Problemchen...
Kann ich bestimmte Felder zu Pflichtfeldern machen, sobald in einem anderen Feld ein bestimmter Wert steht. Zum Beispiel übernehm ich mit dem Kombifeld eine Kundennummer und wenn diese den Wert 123 aufweidt wird mein Feld "Rechnungsnummer" blau und zu einem Pflichtfeld.
Titel: Re: Wert mit Kombifeld übernehmern
Beitrag von: oma am Juni 25, 2012, 23:23:03
Hallo,

dafür gibt es verschiedene Möglichkeiten, wobei mich die Forderung für Rechnungsnummer als Plichtfeld , wenn Kunde=123 schon verwundert, denn eine Rechnungsnummer sollte doch immer ein Pflichtfeld sein!

Für die Farbeinstellung musst du 2 Ereignisse anpassen.

1. wenn dein Kombifeld Kundennummer eingegeben/geändert wird:

Private Sub KundenNummer_AfterUpdate()
If Me.KundenNummer = 123 Then
   Me!RechnungsNummer.Backcolor = 16763904   'oder andere Farben
Else
   Me!RechnungsNummer.BackColor = 16777215
End If
End Sub



2. Wenn du in den Datensätzen navigierst:

Private Sub Form_Current()
If Me!KundenNummer= 123 Then
   Me!RechnungsNummer.BackColor = 16763904
Else
   Me!RechnungsNummer.BackColor = 16777215
End If
End Sub


Für das Plichtfeld könnte es so gestaltet werden:

Private Sub Form_BeforeUpdate(Cancel As Integer)
If Me.KundenNummer = 123 And IsNull(Me!RechnungsNummer) Then
   msgbox "Bitte Rechnungsnummer vergeben"
   Me!RechnungsNummer.setFocus
   cancel = true
End If
End Sub


Gruß Oma