VBA Kombinationsfeld Abfrage

Hallo

In Excel funktioniert es, aber in Access bekomme ich das Teil nicht zum funktionieren. Um was geht es?
Ich habe in einem Formular rund 300 Kombinationsfelder, die immer der Gleiche Wert haben sollen. Damit ich die Werte gut Eintragen kann hat jedes Kombinationsfeld den Namen: „Kopmbinationsfeld1“, „Kombinationsfeld2“ … „Kombinationsfeld300“. So jetz möchte ich mit einer For Schleife die Kombinationsfelder abfragen, bzw. ausfüllen.
For i= 1 to 300
me.kombinationsfeld & i.value = „M“
next i

Hat jemand eine Idee wie man das machen könnte? Analog dann auch das Auslesen. Besten Dank für jeden Tip.

Grüsse Sebastian

Hallo Sebastian,

In Excel funktioniert es, aber in Access bekomme ich das Teil
nicht zum funktionieren.

es gibt viele Versionen…welche nutzt du?
und ganz wichtig: Vergleiche NIE in der EDV!!

Hat jemand eine Idee wie man das machen könnte? Analog dann
auch das Auslesen.

Setzen:
Me.fields(„Kombinationsfeld“ & i) = „M“

Auslesen:
Ergebnis = Me.fields(„Kombinationsfeld“ & i)

Lese die VBA - Hilfe zu .FIELDS

btw vergiss den .VALUE Begriff, der war mal bei Access 2 wichtig!

Grüße aus Schönberg (Lübeck)
Wolfgang
(Netwolf)

Hallo

Danke für die Antwort, aber der Befehl schlägt mit dem Fehler
„Methode oder Mitgliedsdaten nicht gefunden (Fehler 461)“ fehl. die Fields eigenschaft wurde nicht gefunden. Wahrscheinlich muss ich da noch einen Verweis einfügen, wäre ja nicht das erste mal.
Ich Arbeite mit Access 2003

Grüsse Sebastian

Hallo,

für mich ist Dein Vorhaben nicht ganz so klar…

Willst Du jetzt das Kombi-Textfeld füllen (den Wert zuweisen) oder das Kombi-Listenfeld zur Auswahl mit irgendwelchen Werten?

Und wozu brauchst Du 300 (!!) Kombifelder mit dem gleichen Wert bei allen ??

Viele Grüße vom Bodensee
Franz , DF6GL

PS: Feedback erwünscht!

Werte setzen:
me(„Kombinationsfeld“ & i)=Inhalt

Werte auslesen
Wert=me(„kombinationsfeld“ & i)

Hallo

Ja ich erkläre es gerne nochmals, war vieleicht etwas undeutlich. Also als erstes mal die Frage wofür ich es gebrauche.
Die Anwendung liegt bei der Stundenerfassung von Instruktoren, welche Kurse unterreichten. Jeder Instruktor hat einen Kurznamen und dieser steht im Kombinationsfeld zur Auswahl. Hinzufügen von anderen Werten sind nicht erlaubt. So. Jedes Kombinationsfeld ist dann jeweils mit einer Kursstunde verbunden. Das ist wichtig. Am Ende muss ich nachweisen können, wer welche Stunde unterrichtet hat, denn die anzahl gegebenen Stunden ergeben dann auch den Lohn. Zu erwähnen bleibt, dass die Kurse unterschiedliche Stundenanzahlen aufweisen. Zwischen der Zahl 1 und 300 ist alles möglich.

  1. So nun nochmals zum eigentlichen Problem. Wenn ich im ersten Kombinationsfeld „Kombinationsfeld1.value = Name1“ einen Kurznamen aus der vorhandenen Liste einfüge, dann soll der Name auf alle 300 Kombinationsfelder übertragen werden und zwar in die Value oder Text eigenschaft. (Sprich Kombinationsfeld1.value=Kombinationsfeld2.value …). Einfachheitshalber sind desshalb die Kombinationsfelder mit dem Namen : Kombinationsfeld + einer Aufzählenden Nummer versehen, damit ich diese in einer For- Next Schleife einfach Aufrufen kann. Dann ist es zum Programmieren ein 5 Zeiler und nicht eine Endlosprogrammiertext von 300 Zeilen und mehr.

Danke für eure Ratschläge
Grüsse Sebastian

Hallo,

Die Anwendung liegt bei der Stundenerfassung von Instruktoren,
welche Kurse unterreichten. Jeder Instruktor hat einen
Kurznamen und dieser steht im Kombinationsfeld zur Auswahl.
Hinzufügen von anderen Werten sind nicht erlaubt. So. Jedes
Kombinationsfeld ist dann jeweils mit einer Kursstunde
verbunden. Das ist wichtig.

Sicher ist das wichtig, aber die Umsetzung ist falsch. Erstelle eine weitere Tabelle (neben den Tabellen für die Instruktoren und die Kurse) in der der Instruktor, der Kurs und die Stunden dazu (pro Datensatz) abgelegt werden. Evtl. ist ein Datumsfeld nötig. Dabei werden der Instruktor und der Kurs jeweils per Kombifeld ausgewählt und die Stunden direkt eingegeben.

Am Ende muss ich nachweisen

können, wer welche Stunde unterrichtet hat, denn die anzahl
gegebenen Stunden ergeben dann auch den Lohn. Zu erwähnen
bleibt, dass die Kurse unterschiedliche Stundenanzahlen
aufweisen. Zwischen der Zahl 1 und 300 ist alles möglich.

ok, alles kein Problem.

  1. So nun nochmals zum eigentlichen Problem. Wenn ich im
    ersten Kombinationsfeld „Kombinationsfeld1.value = Name1“
    einen Kurznamen aus der vorhandenen Liste einfüge, dann soll
    der Name auf alle 300 Kombinationsfelder übertragen werden und
    zwar in die Value oder Text eigenschaft. (Sprich
    Kombinationsfeld1.value=Kombinationsfeld2.value …).
    Einfachheitshalber sind desshalb die Kombinationsfelder mit
    dem Namen : Kombinationsfeld + einer Aufzählenden Nummer
    versehen, damit ich diese in einer For- Next Schleife einfach
    Aufrufen kann. Dann ist es zum Programmieren ein 5 Zeiler und
    nicht eine Endlosprogrammiertext von 300 Zeilen und mehr.

Der gesamte Punkt 2 ist überflüssig/falsch.

Viele Grüße vom Bodensee
Franz , DF6GL

PS: Feedback erwünscht!

Hallo

Ja, das bin ich auch schon seit gestern am überlegen und dann mittels Endlosformular das ganze abwickeln, weil dann Arbeite ich nur noch mit dem Recordset und der ganze Quatsch ist für immer gelöst und mittels Abfrage finde ich ja dann die Instruktoren immer zum passenden Kurs. Dann Muss ich nur noch das Formular Blokieren bei der Maximaldatensatzmenge und damit pasta. Klingt simpel und wird womöglich so umgesetzt. Dann noch ein Feld machen mit aufzählenden Stunden und alles ist gefix. So mache ich das ganze. Es hat dann nur noch Vorteile.

Danke für den Tipp

Grüsse Sebastian