Zum Inhalt springen

Access2000: Textfeld: Wert aus Spalte(x) eines Combofeldes


piomode1

Empfohlene Beiträge

Hi, Leute!

Stand:

Ich habe eine Tabelle mit Kundendaten; darauf basiert eine Abfrage mit (hier) 6 Zielfeldern.

In einem Formular kann über ein Kombinationslistenfeld eine vorhandene Kundennummer ausgewählt werden.

Problem:

In weiteren ungebundenen Textfeldern in diesem Formular (alles im Detailbereich...) sollen nun die zugehörigen Informationen (Name, Strasse, ...) angezeigt werden.

Versuchte Lösungen:

F1-Hilfe

Dort steht unter 'Verweisen auf eine Listenspalte in einem Ausdruck' geschrieben:

[Formulare]![Kunden]![Land].Spalte(1)

Auszuschließende Fehlerquellen:

Ich habe die entsprechenden Parameter durch meine ausgetauscht (Copy/Paste),

ein '=' vorangestellt,

ein Leerzeichen zwischen 'e(' eingefügt

Ich habe im Formularentwurf die 'Anzahl der Spalten' auf 6 geändert.

Ich greife nicht z.B. auf Spalte(10) zu.

Der Ausdruck muß doch in der Eigenschaft 'Steuerelementeinhalt' stehen, oder?

([Formulare]![Kunden]![Land] (sinngemäß) funktioniert! Dann steht im Ungebundenen eben genau das, was auch in der Kombobox steht.)

Es geht irgendwie! Das Problem habe ich immer wieder!!

(Unter Access 97 war es nicht .Spalte(), sondern .Column()

(glaube ich...))

Kann es an einer unsauberen Installation liegen (dumme Frage...)???

Ich hoffe, Ihr könnt mir helfen...

Link zu diesem Kommentar
Auf anderen Seiten teilen

Original geschrieben von piomode1

Dort steht unter 'Verweisen auf eine Listenspalte in einem Ausdruck' geschrieben:

[Formulare]![Kunden]![Land].Spalte(1)

Ja, stimmt schon. Wenn du auf dem gleichen Formular bist kannst du [Formulare]![Kunden]! weglassen. 0 ist die erste Spalte.

Hast du im Kombinationsfeld alle Felder in der Datensatzherkunft drin?? Du kannst nur auf die Spalten zugreifen, die du da per SQL-Anweisung eingetragen sind. Spalten die nicht angezeigt werden sollen kannst du dann über die Eigenschaft Spaltenbreite ausblenden. Die Spaltenbreiten werden mit ; getrennt, d.H. wenn du eine Spalte hinten ausblenden willst, mußt du auch für die vorderen Spalten eine Breite angeben.

Alternativ könntest du auch, wenn du im Kombinationsfeld eindeutige Werte hast über =DomWert("Feldname";"Tabellenname";"Where-Bedingung") die benötigten Werte direkt aus den Tabellen auslesen

Ich hoffe das hilft dir weiter...

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hi, Wolle!

Vielen Dank, daß Du Dich meines Problems angenommen hast!!

Also: Hinter der cbo steht eine Abfrage (Datenherkunft); die Spalten- und Listenbreite hatte ich auch schon manipuliert.

D.h. die DropDown-Liste zeigt alle 6 Spalten (gespeichert wird der Wert der ersten Spalte).

Eine Möglichkeit wäre jetzt in der Formular-Abfrage die Tabelle mit den entsprecheden Daten zu verknüpfen und die Ausgabefelder im Formular zu sperren...

Das ist aber "unschön"!

Schade, schade, schade...

Mit Bitte um weitere Hilfe

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich habs jetzt noch mal ausprobiert.

Ich habe ein Formular1 mit dem Kombinationsfeld "test" und ein Formular2 mit einem Textfeld "Text0" gemacht.

Bei dem Kombinationsfeld habe ich bei der Datenherkunft eine Abfrage mit 3 Spalten eingetragen.

In dem Textfeld habe ich bei Steuerelementinhalt folgendes eingetragen: =[Formulare]![Formular1]![test].[column](2)

Zusätzlich habe ich bei dem Ereignis "Nach Aktualisierung" des Kombinationsfeldes folgenden VBA-Code reingemacht:


Private Sub test_AfterUpdate()

      Forms!Formular2.Recalc

End Sub

Das bewirkt einfach, das das Formular2 (und damit auch die Textfelder) nach Auswahl eines anderen Wertes im Kombinationsfeld aktualisiert wird.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...