Forums Neueste Beiträge
 

Autovervollständigen?

14/06/2009 - 17:58 von nick16 | Report spam
Guten Tag,

ich weiß nicht genau, ob man es "Autovervollstàndigen" nennt - ich habe ein
Formular (Access 2003), und möchte nun, das bei Eingabe des z.B. Namens, die
nachfolgenden Formularfelder automatisch mit den dazugehörigen Daten
"gefüllt" werden.
Heißt, es kann z.B. sein, Herr"Müller" gibt es 5 mal. Also -über drop/down
o.à. erst den gewünschten Müller auswàhlen, und übernahme der Daten aus der
betreffenden Tabelle ins Formular.
Kann mir hjemand sagen, wie ich das machen kann?

UND - was, wenn die Daten in verschiedenen Tabellen liegen?
Vielen Dank.
Gruß. Nick.
 

Lesen sie die antworten

#1 Karl Donaubauer
14/06/2009 - 20:41 | Warnen spam
nick16 wrote:
ich weiß nicht genau, ob man es "Autovervollstàndigen" nennt - ich habe
ein Formular (Access 2003), und möchte nun, das bei Eingabe des z.B.
Namens, die nachfolgenden Formularfelder automatisch mit den
dazugehörigen Daten "gefüllt" werden.
Heißt, es kann z.B. sein, Herr"Müller" gibt es 5 mal. Also -über drop/down
o.à. erst den gewünschten Müller auswàhlen, und übernahme der Daten aus
der betreffenden Tabelle ins Formular.
Kann mir hjemand sagen, wie ich das machen kann?



Bei wenigen Feldern gibt es die einfache Methode, alle Felder
in ein Kombinationsfeld aufzunehmen (gebundene Spalte ist eine Id)
und nach der Auswahl mithilfe der Column-Eigenschaft zu übergeben.
s.a.

Kombi/Listenfeld - Zugriff auf Spalte n
www.donkarl.com?FAQ4.15

UND - was, wenn die Daten in verschiedenen Tabellen liegen?



Diese verschiedenen Tabellen hàngen ja meist irgendwie
zusammen. Daher kann man eine Abfrage basteln und als
Datensatzherkunft des o.a. Kombinationsfeldes verwenden.

Wenn es um viele Felder geht, oder noch etwas gesucht, verarbeitet
o.à. werden muss vor der Übergabe, dann kannst du mit einem
DAO-Recordset arbeiten. z.B. als Ereigniscode "Nach Aktualisierung"
des Kombinationsfeldes "cboNachname":

If IsNull(Me!cboNachname) Then Exit Sub

Dim db As DAO.Database
Dim rs As DAO.Recordset

Set db = CurrentDb
Set rs = db.OpenRecordset("SELECT *" & _
" FROM AbfrageOderTabelle" & _
" WHERE Id=" & Me!cboNachname _
, dbOpenDynaset)

If Not rs.BOF Then
Me!Feld1 = rs!Feld1
Me!Feld2 = rs!Feld2
'usw.
End If

HTH
Karl
********* Ich beantworte keine Access-Fragen per Email. *********
Access-FAQ: http://www.donkarl.com

Ähnliche fragen