Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Kombobox mit Werten über VBA füllen

Empfohlene Antworten

Hallo,

weiß jemand, wie man ein Kombobox mit Werten über VBA unter Access 2000 füllen kann? darüber mache ich mir jetzt schon seit Freitag nen riesen birne aber mir fällt einfach nichts ein.

Das genaue Problem ist, dass ich Zahlen in einem VBA-Array gespeichert habe, und nun eine Kombobox haben möchte, die werte aus einer tabelle in sich trägt, die im Zusammenhang mit diesem Array stehen.

Mir fällt einfach nichts ein! :confused: Weiß jemand Rat?

Danke.

HI!

Also normalerweise kannst Du so per VBA eine Combobox füllen:

DeineCombobox.RowSource = "SELECT FELDER FROM TABELLE"

Wenn Du nur bestimmte DS in der CBox haben willst , kannst Du dies in der WHERE - Klausel Deines SQL reinsschreiben. ZB

..... WHERE FELD = DEINARRAY(0)

Ich hoffe, es hilft Dir weiter. Gruss

danke! Damit ist ein Meilenstein geschafft. Oh mann, du weißt gar nicht, wie mir ein Stein vom Herzen fällt. Super. Hat auch sofort funktioniert. Tausend Dank!

Und wie leere ich das Teil wieder?

das problem ist nicht, wie ich gerade herausgefunden habe, dass er das kombofeld nicht mehr löscht, sondern er schreibt ALLE einträge aus dem SQL-Abfrage in die Kombobox. Das soll er aber nicht. Ich hatte mir das so gedacht:

---------------------------------------

dim os,ds,gs as String

os = " or "

ds = " ben_nr= "

gs = " ben_nr= "

For i = 1 To (zz - 1) 'bauen eines string für die abteilungsanzeige mit mehreren mitarbeitern

gs = gs & z(i)

If i <> zz Then

gs = gs & os & ds

End If

Next i

gs = gs & z(i)

[Form_Aufgaben-Bereich2].Problem_box.RowSource = "Select Stichwort from text_tabelle where '&gs&'"

--------------------------------------

Ich frage zuerst ab, welche mitarbeiter einer abteilung texteinträge in die tabelle "Text_tabelle" gemacht haben. Diese mitarbeiternummern speichere ich in dem array z

also in z(1) die erste nr., in z(2) die 2. usw.

zz ist die gesamtanzahl der mitarbeiter einer abteilung

Dann baue ich mir mit der string-for-next-schleife da oben eine sqlabfrage, die dann die entsprechenden mitarbeiternnummern als where klausel mit in die abfrage einbindet.

Das mit dem gs-string(steht für gesamt-string) funktioniert auch:

bei einem mitarbeiter allein steht dann da: gs="ben_nr = 1" z.B.

bei mehreren dann: gs="ben_nr=1 or ben_nr=2"

Leider schreibt er mir dann trotz allem, ALLE texteinträge in die KOmbobox. Das darf doch nicht sein?! fügt man die beiden Strings, also den sql-string und den gs-String zusammen, müsste doch eine gültige sql-abfrage entstehen, die die einträge der kombobox dann auf den/die entsprechenden mitarbeiter begrenzt. Mehr dürfte dann da net drinstehen. Weiß noch jemand Rat?

Ich brauch das ganz dringend, davon hängt meine berufliche Zukunft ab, wenn ich diese Datenbank gut hinbekomme, so wird mir eine Weiterbeschäftigung garantiert, Zeitlimit liegt allerdings bei zwei Wochen! Ich bin also für jede Hilfe mehr als dankbar!

Irgendwann kommt man selber drauf, aber irgendwie ich immer nur dann, wenn ich alles haargenau hier erklärt habe. dann merkt man erst seinen Fehler.

Also hier für alle die da draussen, die mal das selbe Problem haben:

Dim rest_sql As String

Dim ges_str As String

rest_sql = "Select Stichwort from text_tabelle "

ges_str = rest_sql & gs 'hier wird der finale sql_string gebildet

[Form_Aufgaben-Bereich2].Problem_box.RowSource = ges_st

Access mag es nicht in sql klauseln, wenn da noch ein string hintendrangepackt wird. Also einfach einen String bauen, der die gesamte anweisung mit den geschleiften string von oben in sich hat und schon gehts.

Komisch. Auf steinigen Wegen lernt man am besten.

Tausend Dank erstmal an alle, die sich meinetwegen hier noch nen Kopf gemacht haben.

DANKE.

:marine

Original geschrieben von Commander_COM

[Form_Aufgaben-Bereich2].Problem_box.RowSource = "Select Stichwort from text_tabelle where '&gs&'"

probier mal den String direkt dranzuhängen, also beispielsweise so:

[Form_Aufgaben-Bereich2].Problem_box.RowSource = "Select Stichwort from text_tabelle where " & gs

sonst packt er, denk ich die ganzen Abhängigkeiten in Hochkomma und sieht die als einen String...

Hoffe das hilt Dir !

[Edit: da war er doch schneller ;)]

gruß

Christian

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.