Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Abhängige Felder - wenn dann funktion

Begonnen von MisterMCBlinki, Mai 23, 2012, 18:04:37

⏪ vorheriges - nächstes ⏩

MisterMCBlinki

ZitatOption Compare Database
Option Explicit

Private Sub AktuellenKundenDrucken_Click()
DoCmd.OpenReport "tblKunde", acPreview, , "tblKunde.KundeID=" & Me!KundeID
End Sub

Private Sub Form_Current()

   Me!UFPartner.Form!cboKurse.Requery
   Me!UFPartner.Form!cboKunde1_ID.Requery
   
End Sub
Zitat
Private Sub PLZ_BeforeUpdate(Cancel As Integer)
  Me!Ort = (DLookup("[Ort]", "tblKunde", "[PLZ] ='" & Me!PLZ & "'"))
End Sub

Private Sub Suche_AfterUpdate()
Dim rs As DAO.Recordset
Set rs = Me.RecordsetClone

rs.FindFirst "KundeID = " & Me!Suche & ""
'oder falls RechnungsNr kein Zahlenfeld ist sondern vom Typ Text:
'rs.FindFirst "RechnungsNr = '" & Me!Suche & "'"
If Not rs.NoMatch Then
 Me.Bookmark = rs.Bookmark
End If

Set rs = Nothing
End Sub

Wie es hier im Doppel-zitierten Code steht funktioniert das auch mit einem Feld.

Kopiere ich und passe den Code auch auf andere Felder an.
Beispiel hier:
Private Sub BLZ_BeforeUpdate(Cancel As Integer)
  Me!Bankname= (DLookup("[Bankname]", "tblKunde", "[BLZ] ='" & Me!BLZ& "'"))
End Sub


Habe ich nun beide Codes in einem Formular setzt er später, wenn ich die BLZ eingegetragen habe, in ORT den Banknamen.....

Wieso?
Und was muss ich tun?

Ziel soll werden:
Anrede = Geschlecht (funktioniert schon)
Plz = passender Ort
BLZ = passende Bank
Nachname = Konto Inhaber (kann aber auch später geändert werden)


EDIT: Habe mal die leere Kundendatenbank hinzugefügt

[Anhang gelöscht durch Administrator]

bahasu

Hi,

kannst Du statt .accdb die db als .mdb (access 2003) zur Verfügung stellen?

Harald
Servus

MisterMCBlinki

Zitat von: bahasu am Mai 23, 2012, 19:08:35
Hi,

kannst Du statt .accdb die db als .mdb (access 2003) zur Verfügung stellen?

Harald

Leider bekomme ich dann die Fehlermeldung , dass Feature usw. dann nicht funktionieren...........

DF6GL

Hallo,

ZitatHabe ich nun beide Codes in einem Formular setzt er später, wenn ich die BLZ eingegetragen habe, in ORT den Banknamen.....

Da stimmen vermutlich nicht die Textfeldnamen....Überprüf die mal.


Ansonsten wäre das AfterUpdate-Ereignis besser für solche Wertzuweisungen, wobei ich mich frage , ob tatsächlich aus der Kundentabelle der Bankname ausgelesen werden soll.

MisterMCBlinki

Zitat von: DF6GL am Mai 23, 2012, 20:42:34
Hallo,

ZitatHabe ich nun beide Codes in einem Formular setzt er später, wenn ich die BLZ eingegetragen habe, in ORT den Banknamen.....

Da stimmen vermutlich nicht die Textfeldnamen....Überprüf die mal.


Ansonsten wäre das AfterUpdate-Ereignis besser für solche Wertzuweisungen, wobei ich mich frage , ob tatsächlich aus der Kundentabelle der Bankname ausgelesen werden soll.

Warum nicht?
Zitat
Private Sub Bankname_AfterUpdate()
Me!Ort = (DLookup("[Bankname]", "tblKunde", "[BLZ] ='" & Me!BLZ & "'"))
End Sub

bewirkt garnichts.

Beaker s.a.

Hallo McBlinki,
Versuche es mal mit der Tabelle Adressen  ;)
In tblKunde sind keine entsprechenden Einträge
vorhanden.
Ausserdem hat das Feld PLZ keine Datenherkunft.
Angaben zu Banken sind keine gespeichert, da
kannst Du auch nichts finden. Wobei der Code
bezügl. Bank und BLZ nicht in der DB zu finden ist.
Und ich würde auch
1. Franz' Vorschlag folgen, und die Zuweisung bei
AfterUpdate machen, da ist auch gesichert, das
.Value (Standard-Eigenschaft) den richtigen Wert
zurück liefert. BeforeUpdate verwendet man üblicher-
weise für Validitätsprüfungen; und
2. auch den Einwand bezüglich Bankname und BLZ
in der Kundentabelle zu erfassen; - die gehören besser
in eine eigene Tabelle.
hth
gruss ekkehard

P.S. Wenn's nicht zu spät wird, schau ich vielleicht
später noch mal drüber.
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)