Access-o-Mania

Access-Forum (Deutsch/German) => Formular => Thema gestartet von: Momo85 am Juli 19, 2011, 14:24:13

Titel: Adressen aus Tabellen im Formular vorschlagen
Beitrag von: Momo85 am Juli 19, 2011, 14:24:13
Hallo zusammen,

ich habe folgendes Problem: Ich habe Datensätze, in denen häufig gleiche oder ähnliche Abdressen vorkommen. Eingabe der Datensätze erfolgt über ein Formular.
Damit ich nicht immer jede Adresse vollständig ausfüllen muss, wäre es schön, wenn ich nur den Namen eingebe, hier schon bei den ersten Buchstaben Vorschläge kommen (Kombinationsfeld) und darauf basierend in den Kobinationsfeldern Str., PLz und Ort nur gefilterte Eingabemöglcihkeiten vorgeschlagen werden.
Also zum Bsp.:
Firma x hat einen Sitz in Str. aa im Ort a1 und einen in Str. bb im Ort b1.
Firma y hat einen Sitz in Str. cc im Ort c1.

Gebe ich jetzt im Namen "Firma x" ein, kommt bei Str. nur noch als Auswahlmöglichkeit "aa" oder "bb", "cc" wird nicht angeboten.
Umgedreht, wenn ich "Firma Y" eingebe, gibt es als Auswahl für Str. und Ort nur "cc" bzw. "c1".

Geht das?


Liebe Grüße,
Momo
Titel: Re: Adressen aus Tabellen im Formular vorschlagen
Beitrag von: DF6GL am Juli 19, 2011, 14:35:23
Hallo,

gehen tut Vieles..

Du musst halt mehr Details über Deine DB mitteilen: Tabellenaufbau, Kombifeld-Aufbau, SQl-Strings der beteiligten Abfragen etc.


Titel: Re: Adressen aus Tabellen im Formular vorschlagen
Beitrag von: Momo85 am Juli 19, 2011, 14:47:25
Also, ich habe eine Tabelle, "00_tbl_Lieferungen", diese Tabelle beinhaltet alle meine Rohdaten und wird gefült durch Formular "frm_Eingabe_Lieferungen". Lief die ganze Zeit über gebundene Textfelder, funktioniert auch wunderbar. Jetzt möchte ich mir die Eingabe der Adressen eben einfacher machen, meine Überlegung war, dass das wohl am besten über Kombifelder geht, weil es ja auch immer wieder "neue" Adressen geben kann (was gegen Listenfelder spricht).

Überlegung jetzt war: über eine tbl_Adressen jeder Adresse eine ID zuordnen. Dann Abfrage qry_Name mit nur dem Namen und qry_Str. mit Name und Str., die über ID einander zugeorndet werden. Auf die Kombifelder dann eine Verknüpfung setzen. Name wird über Kombifeld ausgewählt, über Ereignisprozedur "nach Aktualisierung" werden dann Vorschläge im Formularfeld Str. angeglichen. und genau das haut jetzt nicht hin :( oder ist der weg schon völlig falsch?
Titel: Re: Adressen aus Tabellen im Formular vorschlagen
Beitrag von: DF6GL am Juli 19, 2011, 15:54:58
Hallo,

ich blicke nicht bei den Tabellenverknüpfungen durch...


Gibt es in der Lieferungen-Tabelle denn "Firmen" (bzw. Lieferanten)  , die mehrere Adressen haben können und auch die gleiche Adresse für mehrere Firmen gilt??

M. E. brauchst Du zunächst mal mehrere Tabellen:


tblFirmen
tblFirmenadressen
tblAdressen
tblLieferungen

mit den entspr. Beziehungen

Dann kannst Du mit geeignet eingestellten Kombifeldern die Adressen den jeweiligen Firmen zuordnen.




Titel: Re: Adressen aus Tabellen im Formular vorschlagen
Beitrag von: Momo85 am Juli 21, 2011, 13:05:22
Hi,

habe jetzt mehrere Tabellen erstellt:
tbl_Name
tbl_Strasse
tbl_PLZ
tbl_Ort

In tbl_Name wird jedem Namen eine ID ("NameID") zugeordnet.
tbl_Strasse enthält dann "NameID", "Strasse" und bekommt "StrasseID" zugeordnet.
tbl_PLZ enthält dann "NameID", "StrasseID", "Strasse" und bekommt "PLZ_ID" zugeordnet.
tbl_Ort enthält dann "NameID", "StrasseID", "PLZ_ID", "PLZ" und bekommt "OrtID" zugeordnet.

Mittlerweile bin ich auch schon so weit, dass sich das Feld "Strasse" im Formular angleicht, wenn ich "Name" ausgewählt habe. Sprich mir werden nur noch die Strassen angeboten, die auch für den eingegebenen Namen hinterlegt sind.  Allerdings wird daraufhin PLZ nicht angeglichen. Irgendwie scheint er mit dem roten Teil ein Problem zu haben:


Private Sub Strasse_AfterUpdate()

' Gleicht Feld PLZ an, nachdem Strasse aktualisiert wurde
 
If Not IsNull(Me!Strasse) Then
    Me!PLZ.RowSource = _
     "SELECT DISTINCTROW PLZ_ID, PLZ FROM qry_PLZ" & _
    IIf(Me!Strasse = 0, IIf(Me!Name = 0, "", _
          " WHERE NameID = " & Me!Name), _
          " WHERE StrasseID =  " & Me!Strasse) & " ORDER BY PLZ"
  Else
    Me!PLZ.RowSource = ""
  End If
  Me!Name.Requery
  Me!PLZ.Requery
End Sub
Titel: Re: Adressen aus Tabellen im Formular vorschlagen
Beitrag von: DF6GL am Juli 21, 2011, 13:30:58
Hallo,

mhmm,  ich glaube, so wird das nichts.  :-\


lad mal die DB hier hoch und beschreib anhand der vorkommenden Tabellen, Formulare und Felder, was wo ausgewählt und übernommen werden soll.