piomode1 Geschrieben 30. Januar 2002 Teilen Geschrieben 30. Januar 2002 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... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Wolle Geschrieben 31. Januar 2002 Teilen Geschrieben 31. Januar 2002 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... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
piomode1 Geschrieben 1. Februar 2002 Autor Teilen Geschrieben 1. Februar 2002 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Wolle Geschrieben 3. Februar 2002 Teilen Geschrieben 3. Februar 2002 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. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
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.