PDA

Vollständige Version anzeigen : Textfeld -> ControlSource (Steuerelementinhalt) funktioniert nicht !!?! WIE ?


Gast
26.10.2003, 16:36
Hi,

Ich hab ihn ein Formular ein Textfeld eingefügt, welches folgenden Inhalt in der ControlSource (Steuerelementinhalt) stehen hat:

SELECT Geraetemodell.id FROM Geraetemodell WHERE Geraetemodell.Hersteller='Philips';

Wenn ich diese Zeile als Grundlage für ne Abfrage verwende, funktioniert alles reibungslos. Beim Anschauen der Abfrageausgabe wird "35" ausgespuckt. Wenns im ControlSource des Textfeldes steht, dann passiert erstmal gar nix. Woran kann das liegen bzw. was mache ich falsch?

Gruß und Danke im voraus

WalterS
26.10.2003, 16:41
Hi!
Bei einem Steuerelement verwendet man:
=Domwert("id";"Geraetemodell";Hersteller="Philips")

Gast
26.10.2003, 16:55
Danke,

bin aber noch nicht im klaren wie ich mein Problem lösen soll.

Im Klartext geht mir darum, dass ich aus ne Liste etwas auswähle und dann die einzelnen Felder des ausgewählten Listeneintrages untereinander in Textboxen oder etwas ähnlichem anzeigen kann.

Also sprich: ich klick nen Eintrag aus ner Liste mit 3 Felder aus, und die einzelnen 3 Feldinhalte werden dann unter der Liste in extra Textboxen oder so was ähnlichen angezeigt!

Wie mach ich das genau?

Danke bereits im vroaus für die Mühe!

WalterS
26.10.2003, 17:00
Hi!
Wenn deine Liste auf einem Feld der Tabelle Geraetemodell besteht dann kannst du in dein Listenfeld die restlichen 3 Felder aufnehmen, setzt aber diese Spalten auf Breite 0 und die angezeigte Spalte ist die gebundene Spalte. In deinem Textfeld kannst du dann einfach schreiben =me.meineListe.column(1) für die 2 Spalte aus dem Listenfeld.

Hoffe, dass ist verständlich

Gast
26.10.2003, 17:03
Wo setze ich genau:

=me.meineListe.column(1)

Kommt das als Steuerelementinhalt der Textbox rein ?

Johnny Loser
26.10.2003, 17:04
Erstmal muß ich Walter korregieren. Es heißt:

=Domwert("id";"Geraetemodell";"Hersteller='Philips'")
oder für Deinen Fall

=Domwert("id";"Geraetemodell";"Hersteller='" & Me!NameDerListbox & "'")
Geht aber in Deinem Fall auch einfacher:

=Me!NameDerListbox.Column(n)
n steht hierbei für die Spalte, aus der der Wert geholt werden soll (beginnend bei 0)

Johnny Loser
26.10.2003, 17:06
Kommt das als Steuerelementinhalt der Textbox rein ?
Exakt!

Du hättest aber nichts kaputtgemacht, wenn Du's versucht hättest...

Gast
26.10.2003, 17:13
Funktioniert leider nicht ...

Er zeigt mir "Name#?" an ...

Was komisch ist, wenn ich die Liste einspaltig mache so dass por Zeile nur EIN Wert angezeigt wird, dann funktioniert es bei der Textbox -> ControlSource mit =[MeineListe] ...

Bin traurig :(

:)

Johnny Loser
26.10.2003, 17:20
Bin traurig
Dafür gibt's keinen Grund, wir sind bei Dir...

Du hast drei TextFelder, gelle?
Dann versuch doch erstmal folgendes:

In das erste Textfeld schreibst Du in die Steuerelementeigenschaft

=MeineListe

ins zweite Textfeld

=MeineListe.Column(0)

ins dritte Textfeld

=MeineListe.Column(1)

Deine Liste sollte natürlich in den ersten beiden Feldern was drinstehen haben.

Schau Dir mal die Anzahl der Spalten und die jeweilige Spaltenbreite an, möglicherweise sind die Spalten, auf die Du verweist ausgeblendet und leer...

Gast
26.10.2003, 17:40
Hey,

Superklasse! Funktioniert perfekt ...

Jetzt noch ein paar Fragen!


1)
Geht das ganze auch mit ner Kombobox, und zwar so, dass ich die anderen 2 Spalten ausblende, aber in den 3 Textfeldern trotzdem der entsprechend per Komboxbox ausgewählte Inhalt Textfeldspezifisch angezeigt wird. Wenn ja, wie ?

2)
Rechts neben die einzelnen Textfelder soll ebenfalls nochmal das gleiche Textfeld aufgebaut werden, und zwar so, dass der Inhalt des linken Textfeldes nochmals dargestellt wird (sollte kein Problem darstellen).

Es soll aber in dem rechten Texfeld Änderungen möglich sein und zwar so, dass es in eine andere Tabelle durchgeschrieben wird.

Beispiel:

Geraetetabelle_1 und Geraetetabelle_2 mit jeweils 3 Feldern. Die angewählte Zeile von Geraetetabelle_1 wird in die linke Spalte mit den 3 Textfeldern eingelesen und wird dementsprechend rechts nochmal so eingelesen. Die rechte Spalte wird aber automatisch in Geraete_tabelle_2 durchgeschrieben.

Wie mach ich das ?

racoon0506
26.10.2003, 17:43
zu 1:
sollte auch mit einem Kombifeld gehen. Die Spalten, welche nicht angezeigt werden sollen, kannst du in der Eigenschaft Spaltenbreiten auf 0cm stellen. Dadurch werden diese Spalten mit der Breite von 0cm dargestellt, wodurch sie für den Anwender nicht mehr vorhanden sind....

zu 2:
das lässt sich nicht automatisch speichern. Wenn die Daten in eine andere Tabelle gespeichert werden sollen, als die Datenherkunft des Formulares, musst du das "manuell" machen, also programmieren. Je nach Vorgehensweise geht das mit einem Recordset oder mit SQL