Hallo,
ich habe ein Kombinationsfeld und lasse bei der Auswahl mehrere Spalten anzeigen. Nun möchte ich aber, dass diese Daten auch nach der Auswahl im Kombifeld stehen. Ich weiß nur, wie ich immer nur ein Feld angezeigt bekomme.
Meine Einstellungen:
Datensatzherkunft:
SELECT Lieferantenliste.Lieferantennummer, Lieferantenliste.BU, Lieferantenliste.Suchname, Lieferantenliste.Name1, Lieferantenliste.Name2, Lieferantenliste.Strasse1, Lieferantenliste.Strasse2, Lieferantenliste.ORT, Lieferantenliste.Land FROM Lieferantenliste ORDER BY Lieferantenliste.Suchname, Lieferantenliste.Lieferantennummer;
Gebunde Spalte: 1
Spaltenanzahl 9
Spaltenbreiten: 1cm;0,503cm;1,51cm;2,507cm;2,507cm;2,507cm;2,507cm;2,501cm;2cm
danke
gruß Christoph
Hallo,
das geht nicht. Ein Kombi zeigt in zugeklapptem Zustand immer nur eine Spalte.
Was hat das Kombi für eine Aufgabe, wird etwas ausgeählt und ein Wert dann in eine andere Tabelle eingetragen?
Hallo,
es gibt eine Möglichkeit die Spaltenwerte gemeinsam anzuzeigen aber der Sinn der dahinter steht, ist etwas fragwürdig.
SELECT Lieferantennummer, Lieferantennummer & ", " & BU & ", " & Suchname & ", " & Name1 & ", " & Name2 & ", " & Strasse1 & ", " & Strasse2 & ", " & ORT & ", " & Land AS Lieferant
FROM Lieferantenliste ORDER BY Suchname, Lieferantennummer;
Gebunde Spalte: 1
Spaltenanzahl 2
Spaltenbreiten: 0cm;16,5cm
p.s. Die Lieferantennummer ist bewußt 2-malig in der Liste enthalten!
Hallo Christoph,
du könntest doch zur Anzeige der Felder mehrere ungebundene Felder anlegen u. diese mit der Column-Methode füllen, d.h. ein Wert (gebundene Spalte) wird gespeichert, die übrigen Werte werden dargestellt!
Gruß Oma
Hallo,
Sinn dahinter ist, dass man die Lieferantendaten verfügbar hat.
ich habe das jetzt mal so versucht dies in einem anderen Feld anzeigen zu lassen. Damit dies aber angezeigt wird, muss ich Refreshen. Doof ist hier, dass dies ein paar Sekunden dauert.
Geht das auch etwas schneller? Handelt sich übrigens um ein Formularfuß.
danke Christoph
Hallo,
WIE hast Du das denn oma's Vorschlag umgesetzt?
Erstelle einige Textfelder und schreib in deren Steuerelement jeweils :
=Kombiname.Column(1)
=Kombiname.Column(2)
=Kombiname.Column(3)
.
.
.
und fertig.
So:
Private Sub Lieferant_AfterUpdate()
If Lieferant.Column(3) <> "" Then txtLieferant.Value = Lieferant.Column(3)
If Lieferant.Column(4) <> "" Then txtLieferant.Value = txtLieferant.Value & ", " & Lieferant.Column(4)
If Lieferant.Column(5) <> "" Then txtLieferant.Value = txtLieferant.Value & ", " & Lieferant.Column(5)
If Lieferant.Column(6) <> "" Then txtLieferant.Value = txtLieferant.Value & ", " & Lieferant.Column(6)
If Lieferant.Column(7) <> "" Then txtLieferant.Value = txtLieferant.Value & ", " & Lieferant.Column(7)
If Lieferant.Column(8) <> "" Then txtLieferant.Value = txtLieferant.Value & ", " & Lieferant.Column(8)
If Lieferant.Column(10) <> "" Then txtLieferant.Value = txtLieferant.Value & ", " & Lieferant.Column(10)
...
Refresh
Hallo,
das ist nicht oma's Vorschlag... ::)
Wenn es nur EIN Anzeigefeld sein soll (in dessen Steuerelementinhalt):
= "" & [Lieferant].Column(3) & ", " & [Lieferant].Column(4) & ", " & ....
Hallo,
ZitatWas hat das Kombi für eine Aufgabe, wird etwas ausgeählt und ein Wert dann in eine andere Tabelle eingetragen?
Meine Frage hatte ja einen Hintergrund. Leider wurde die Frage nicht beantwortet.
Wenn nämlich mit dem Kombi ein Schlüsselfeld in eine Tabelle geschrieben wird, kann man sich die ganzen VBA Prozeduren sparen, indem man einfach die Tabelle für das Kombi in die Abfrage für das Formular mit dazu nimmt. Dann stehen ohne eine einzige Zeile VBA alle Felder zur Anzeige zur Verfügung.
Hallo
@DF6GL: Was macht es für ein Unterschied, ob ich das so
= "" & [Lieferant].Column(3) & ", " & [Lieferant].Column(4) & ", " & ....
oder so
If Lieferant.Column(3) <> "" Then txtLieferant.Value = Lieferant.Column(3)
If Lieferant.Column(4) <> "" Then txtLieferant.Value = txtLieferant.Value & ", " & Lieferant.Column(4)
zusammenbaue?
Ich möchte leere Felder nicht mitnehmen. Am Ergebnis ändert sich ja sonst nichts.
@MzKlMu: Nach Auswahl werden einzelne Einträge in ander Felder übergeben, bzw. befüllt.
gruß
Hallo,
Du verwechselst was:
Dein CODE sitzt in einer Ereignisprozedur, die eben nur ausgeführt wird, wenn das Ereignis eintritt.
Mein AUSDRUCK sitzt im Steuerelementinhalt eines Textfeldes, der jedesmal beim Anzeigen des Forms zur Aktualisierung der Textfeld-Anzeige führt.
Leere Felder werden auch bei diesem Ausdruck nicht "mitgenommen".
Hallo,
ZitatNach Auswahl werden einzelne Einträge in ander Felder übergeben, bzw. befüllt.
Aber genau das ist doch Dein Denkfehler, das brauchst Du doch gar nicht. Du hast die Werte doch schon in der Tabelle für die Kombibox, wozu also noch mal Felder füllen?
Wenn Du wie bereits vorgeschlagen in die Abfrage für das Formular die Tabelle für das Kombi mit aufnimmst, kannst Du Dir jede Zeile VBA Code sparen. Du hast die Felder direkt zur Anzeige zur Verfügung.
@DF6GL: das muss ich morgen mal testen..
@MzKlMu: Ist mir zu wirr.
Im Detailbereich habe ich bereits Daten aus einer anderen Tabelle, die dort angezeigt werden.
Um mein Problem, dass ich hier habe, handelt vom Fußbereich. Kann ich das dort auch festlegen und dann nur mit einer einfachen Kombibox die restlichen Textfelder im Fußbereich füllen (ohne vba)? Die Auswahl in der Kombibox kann auch mehrmals im gleichen Aufruf des Formulars gewechselt werden und dazu sollten dann halt auch die Textfelder aktualisiert werden.
grüße