Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

wie kann ich ein Kombinationsfeld per VBA mit einträgen füllen

1,914 views
Skip to first unread message

Bruno Brodmann

unread,
Feb 11, 2000, 3:00:00 AM2/11/00
to
Hallo zusammen,

Ich möchte ein Kombinationsfeld via VBA A97 mit einträgen aus einem
Recordset füllen.

Wie kann ich die aus dem Recordset erhaltenen Daten an das Listenfeld
weitergeben?

Gruss Bruno

Marcus Drexelius

unread,
Feb 11, 2000, 3:00:00 AM2/11/00
to
Hi Bruno,

Bei dem Kombinationsfeld stellst Du den Herkunftstyp auf Werteliste. Dann
kannst Du die Daten aus dem Recordset mit Semikolon getrennt als Datenquelle
angeben => Fertig.

Hope that helps - Marcus

Bruno Brodmann <Bruno.B...@InterSolutions.ch> schrieb in im Newsbeitrag:
881bfi$hlv$1...@news1.sunrise.ch...

Bruno Brodmann

unread,
Feb 11, 2000, 3:00:00 AM2/11/00
to

leider komme ich noch nicht weiter:

ich habe folgendes versucht :

me!kombinationsfeld = "aaa;bbb;ccc"

me!kombinationsfeld ="aaa";"bbb";"ccc" '--> syntax fehler

dabei war das kombinationsfeld immer auf Wertliste eingestellt.

Mache ich sonst noch einen Fehler oder warum werden die einträge dann
immer in der gleichen Zeile angezeigt und nicht als einzelne Elemente
zum auswählen.
Das heisst ich sehe im kombinationsfeld dann folgendes : "aaa;bbb;ccc"

Gruss Bruno


Olaf Rabbachin

unread,
Feb 12, 2000, 3:00:00 AM2/12/00
to
Hallo Bruno,

>me!kombinationsfeld = "aaa;bbb;ccc"
>
>me!kombinationsfeld ="aaa";"bbb";"ccc" '--> syntax fehler

Me!Kombinationsfeld = """aaa"";""bbb"";""ccc"""

Am Besten probierst Du solche Dinge immer im Debug-Fenster (Strg-G) aus,
wenn Du die obige Wertliste dort mit führendem Fragezeichen eingibst, zeigt
der Debugger den string, wie er kompiliert aussieht.

HTH,
Olaf

Claus Schlehhuber

unread,
Feb 12, 2000, 3:00:00 AM2/12/00
to
Hallo Bruno !

Bruno Brodmann wrote:
>
> me!kombinationsfeld ="aaa";"bbb";"ccc" '--> syntax fehler
>

War das nicht :

me!kombinationsfeld.ROWSOURCE ="aaa";"bbb";"ccc" ?

Schau Dir doch mal in der Hilfe die "Rowsource-Eigenschaften" an.

Hoffe geholfen zu haben,

Claus Schlehhuber


Thomas Ehlert

unread,
Feb 12, 2000, 3:00:00 AM2/12/00
to

Olaf Rabbachin <Olaf.Ra...@t-online.de> schrieb in im Newsbeitrag:
8839pq$32i$1...@news08.btx.dtag.de...
> Hallo Bruno,

>
> >me!kombinationsfeld = "aaa;bbb;ccc"
> >
> >me!kombinationsfeld ="aaa";"bbb";"ccc" '--> syntax fehler
>
> Me!Kombinationsfeld = """aaa"";""bbb"";""ccc"""
>
> Am Besten probierst Du solche Dinge immer im Debug-Fenster (Strg-G) aus,
> wenn Du die obige Wertliste dort mit führendem Fragezeichen eingibst,
zeigt
> der Debugger den string, wie er kompiliert aussieht.
>
> HTH,
> Olaf
>
Die Werteliste muss an die RowSource-Eigenschaft übergeben werden.
me.kombinationsfeld.RowSource = "aaa;bbb;ccc"

Thomas

Olaf Rabbachin

unread,
Feb 12, 2000, 3:00:00 AM2/12/00
to
Hi Thomas,


>> Me!Kombinationsfeld = """aaa"";""bbb"";""ccc"""

>Die Werteliste muss an die RowSource-Eigenschaft übergeben werden.


>me.kombinationsfeld.RowSource = "aaa;bbb;ccc"

Jau, jetzt haben wir uns wohl alle mal vertippt. Richtig ist:

Me.Kombinationsfeld.RowSource = """aaa"";""bbb"";""ccc"""

(innerhalb VBA)

:-)

Bis dann,
Olaf

Urs Villiger

unread,
Feb 13, 2000, 3:00:00 AM2/13/00
to
noch etwas einfacher:

Me!Kombinationsfeld.rowsource = "'aaa';'bbb';'ccc'"

Gruss Urs

Olaf Rabbachin schrieb:

K. Prucha

unread,
Feb 13, 2000, 3:00:00 AM2/13/00
to
Bruno Brodmann schrieb in Nachricht <881bfi$hlv$1...@news1.sunrise.ch>...

>
>Ich möchte ein Kombinationsfeld via VBA A97 mit einträgen aus einem
>Recordset füllen.
>
>Wie kann ich die aus dem Recordset erhaltenen Daten an das Listenfeld
>weitergeben?

Servus

Nur schnell auf einer meiner Db's ausgeschnitten.
Nur zur Anregung gedacht !!!
Codeteile entfernen, andere Variable deklarieren, Fehlerabfangroutine
hinzufügen mußt du selbst machen.

Nicht vergessen beim Kombinationsfeld als
Herkunftstyp: Mylist aber OHNE () eingeben !

Static Function Mylist(Feld As Control, ID&, Zeile&, Spalte&, Code%)
Static Wgns$(0 To 100, 0 To 4), Anzahl, Db As Database, Ta As Recordset
Select Case Code
Case LB_INITIALIZE
Anzahl = 0
Wgns(Anzahl, 0) = "Nr."
Wgns(Anzahl, 1) = "Typ"
Wgns(Anzahl, 2) = "Flags"
Wgns(Anzahl, 3) = "geändert am"
Wgns(Anzahl, 4) = "geändert von"
Set Db = CurrentDb()
Set Ta = Db.OpenRecordset("Select Type", DB_OPEN_DYNASET)
If Not Ta.EOF Then Ta.MoveFirst
While Not Ta.EOF And Anzahl < 99
Anzahl = Anzahl + 1
Wgns(Anzahl, 0) = Ta!WgNr
Wgns(Anzahl, 1) = Ta!Typ
Wgns(Anzahl, 2) = Ta!Flags
Wgns(Anzahl, 3) = Format(Ta!Letzte_Aenderung, "dd-mm-yy")
Wgns(Anzahl, 4) = Ta!Geaendert_durch
Ta.MoveNext
Wend
Ta.Close: Set Ta = Nothing: Set Db = Nothing
If Anzahl > 0 Then Mylist = True Else Mylist = False
Case LB_OPEN: Mylist = Timer
Case LB_GETROWCOUNT: Mylist = Anzahl + 1
Case LB_GETCOLUMNCOUNT: Mylist = 5
Case LB_GETCOLUMNWIDTH
Select Case Spalte '1 Twip = 0,001763888 cm
Case 0: Mylist = 500 '0,88194 cm
Case 1: Mylist = 500 '0,88194 cm
Case 2: Mylist = 1800 '3,17500 cm
Case 3: Mylist = 1400 '2,46944 cm
Case 4: Mylist = 1500 '2,64583 cm
Case Else: Mylist = -1 '10,54166 cm
End Select
Case LB_GETVALUE ' Wird zur Laufzeit oft aufgerufen!
Select Case Spalte
Case 0: Mylist = Wgns(Zeile, 0)
Case 1: Mylist = Wgns(Zeile, 1)
Case 2: Mylist = Wgns(Zeile, 2)
Case 3: Mylist = Wgns(Zeile, 3)
Case 4: Mylist = Wgns(Zeile, 4)
End Select
Case LB_END
For Anzahl = 1 To 100
Wgns(Anzahl, 0) = "": Wgns(Anzahl, 1) = "": Wgns(Anzahl, 2) = ""
Wgns(Anzahl, 3) = "": Wgns(Anzahl, 4) = ""
Next Anzahl
End Select
End Function

mfg K. Prucha


Mehrdad

unread,
Feb 13, 2000, 3:00:00 AM2/13/00
to
On Sun, 13 Feb 2000 08:54:11 +0100, "K. Prucha"
<a970...@unet.univie.ac.at> wrote:

Hallo Bruno!

Das ist eine neue Tolle Idee, die du gezeigt hast.
So habe ich es noch nie probiert. Es wird Zeit.

Mehrdad

>Bruno Brodmann schrieb in Nachricht <881bfi$hlv$1...@news1.sunrise.ch>...
>>
>

>Nur schnell auf einer meiner Db's ausgeschnitten.
>Nur zur Anregung gedacht !!!
>Codeteile entfernen, andere Variable deklarieren, Fehlerabfangroutine
>hinzufügen mußt du selbst machen.
>
>Nicht vergessen beim Kombinationsfeld als
>Herkunftstyp: Mylist aber OHNE () eingeben !
>
>Static Function Mylist(Feld As Control, ID&, Zeile&, Spalte&, Code%)
> Static Wgns$(0 To 100, 0 To 4), Anzahl, Db As Database, Ta As Recordset
> Select Case Code
> Case LB_INITIALIZE
> Anzahl = 0
> Wgns(Anzahl, 0) = "Nr."

> Wgns(Anzahl, 1) = "Typ" ........


0 new messages