Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Kombinationsfeld - Anzeige mehrere Spalten

Begonnen von cyberchris, Januar 11, 2011, 12:37:43

⏪ vorheriges - nächstes ⏩

cyberchris

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

MzKlMu

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?
Gruß Klaus

database

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!

oma

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
nichts ist fertig!

cyberchris

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

DF6GL

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.

cyberchris

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

DF6GL

Hallo,

das ist nicht oma's Vorschlag...    ::)


Wenn es nur EIN Anzeigefeld sein soll (in dessen Steuerelementinhalt):

= "" & [Lieferant].Column(3) & ", " & [Lieferant].Column(4) & ", " & ....

MzKlMu

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.
Gruß Klaus

cyberchris

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ß

DF6GL

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".

MzKlMu

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.
Gruß Klaus

cyberchris

@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