Hallo,
muss leider noch nen thread aufmachen, diesmal gehts um den inhalt bei nem textfeld.
ich hab ne tabelle, die bei manchen feldern viel text (so ca. 100 wörter) enthält. jetzt will ich durch die auswahl eines werts mit nem kombiwert in der tabelle den text in nem textfeld anzeigen lassen, da ich keinen zeilenumbruch in nem listenfeld hinkrieg.
leider hab ich bis jetzt noch keine möglichkeit gefunden, dem textfeld irgenne datenherkunft (bei mir die von ner abfrage durch kombifeld) zu geben.
geht das überhaupt, oder muss ich mich da aufs listenfeld verlasssen?
die abfrage durchs kombifeld liefert die richtigen daten, brauch also nur die lösung für besagte datenherkunft...
danke für jede hilfe!
Hallo,
es sollte reichen, wenn Du im Steuerelementinhalt eines weiteren Textfeldes
=Kombi1.Column(2)
schreibst, falls sich der Text in der 3. Spalte der Kombiliste befindet
MOin,
Hat funktioniert, das mit dem Steuerelementinhalt, jetzt muss ich allerdings noch auf das listenfeld klicken von dem die daten fürs textfeld kommen.
( ich hab jetzt en kombifeld das von ner abfrage die daten kriegt und dann ans listenfeld noch andere daten aus der gleichen abfrage rausgibt.)
hab verscuht mit ner requery bei aktualisieren vom listenfeld, ich muss aber immer noch draufklicken, dass die daten im textfeld angezeigt werdn...
Hab ich was vergessen ?
Hallo,
wieso Listenfeld?
Willst Du die Daten aus dem Listenfeld ode aus dem Kombifeld in dem Textfeld anzeigen?
Hallo,
Zitatich muss aber immer noch draufklicken
Wenn du dich auf die angezeigten Texte eines Listen- oder Kombifeldes beziehst, muss das Steuerelement aktiv sein, das heißt die Zeile, in der die zu lesenden Textspalten stehen muss markiert sein.
Tja und das erreichst du u.A. damit, dass du draufklickst.
Dein Code --- Kombi1.Column(2) ---- muss ja 'wissen' in welcher ZEILE er diese 3. Spalte zu lesen hat.
Du kannst da natürlich auch gleich nach der Auswahl eines Eintrages im Kombifeld erledigen.
Dazu schreibst du ins Ereignis 'Nach Aaktualisierung' Deines Kombifeldes:
Private Sub DeinKombifeld_AfterUpdate()
Me!DeinTextfeld = Me!DeinKombifeld.Column(2)
End Sub
HTH
Hallo zusammen,
ich hab eignetlich vor die datensätze via kombinationsfeld auszulesen. ich hab bloß das listenfeld zwischengeschaltet, weil ichs net geschafft hab den rest aus der zeile von der tabelle, die ich mitm kombifeld ausgeqählt hab im txtfeld anzeigne zu lassen. ich hab dann ein listnefeld erstellt und ihm einfach die spalten aus der abfrage zugewiesen, die ich im kombifeld nicht gesehen hab (nach der aktualisierung).
aus dem listenfeld hab ich dann die werte einzeln mit listenfeld.column(1) usw. an die einzelnen textfelder ausgelesen.
aber wie gesagt eigentlich will ich mit nem kombifeld einen wert aus der tabelle wählne und dann die zugehörigen werte aus der gleichen zeile in je einem separaten textfeld anzeigen lassen.
da ich für die datenherkunft vom kombifeld "select distinct ... from ..." genommen hab, hab ich keine anderen spalten zu verfügung, glaub ich zumindest, probiert hab ichs mehrmals, gefunkt hats nie, weil ich immer nur den vom kombifeld angezeigten wert nach der aktualisierung hab
hoffe, ich konnte einigermaßen verstädnlich erklären, was ich wollte, danke
Hallo,
ich hätt nochmal ne kurze frage, ist es möglich, bei einem kombifeld mit datensatzherkunft "select distinct from" auch noch eine weitere spalte anzeigen zu lassen (auch nach der auswahl), wenn die 2. spalte keine weitere unterteilung enthält (also immer genau 1 wert der 2. spalte genau einem wert der 1. im kombifeld ausgewählten spalte entspricht)?
grüße, LordH
Hallo,
genau versteh ich Deine Probleme nicht..
Eine Kombifeldliste kann nur die Datensätze anzeigen, die von der zugrundeliegenden Abfrage (Datensatzherkunft) auch geliefert werden.
Wenn DISTINCT verwendet wird, hat das Auswirkungen auf die gelieferten DS, d. h DISTINCT sorgt dafür, dass keine mehrfachen DS (in Bezug nur auf die Felder in der Select-Liste) geliefert werden.
Weiterhin sind auch nur diejenigen Spalten in der Kombiliste vorhanden, die mit den Feldern in der Select-Liste des SQL-Strings (Abfrage) korrespondieren.
Mit (VBA)
Me!txtSpalte1 = Me!Kombi1.Column(1)
bzw. im Steuerelementinhalt von txtSpalte1 mit
=Kombi1.Column(1)
wird der Inhalt aus der zweiten(!) Spalte des ausgewählten Kombilisteneintrages in txtSpalte1 geschrieben.
Wenn Du auf andere Felder in der zugrundeliegenden Tabelle zugreifen willst, mußt Du andere Methoden, z. B. die Dlookup()-Funktion einsetzen.
Wenn Du "mehrere Felder" gleichzeitig im Kombi-Textfeld anzeigen willst, so muß das schon in der abfrage geschehen, indem in einer Abfragespalte die beiden (oder mehreren ) Felder String-mäßig zusammengesetzt werden, z. B. mit Vor- und Nachname:
Select PersID, Nachname & ", " & Vorname & "; " & Ort as Adr from tblPersonen order by Nachname
in einer solchen Abfrage hat Distinct keine Wirkung, wenn PersID der Primärschlüssel ist.
Bei
Select Distinct Nachname & ", " & Vorname & "; " & Ort as Adr from tblPersonen order by Nachname
liefert die Abfrage nur einen DS , obwohl es mehrere DS in der Tabelle mit gleichlautenden Nachname und Vorname und Ort gibt.
Hallo,
Hat super geholfen, ich hab jetzt mein kombifeld so eingerichtet, dass es alle nötigen infos mit Distinct aus der abfrage holt (hab einfach die anderen Felder mit nem "," angehängt) beim Klick auf mein letztes kombifeld wird jetzt der passende Text in den Textfeldern angeziegt.
Nochmals Danke!!! ;D Ihr Jungs seid Klasse!