Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
300to304
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
300to304
300to304
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Recordset Field-Name mit String-Varibale?

Recordset Field-Name mit String-Varibale?
01.09.2003 19:42:55
Peter
Hallo!

Ich habe da wieder eine Frage an die ADO-Spezialisten unter euch.

Ich versuche mit

...
while not recordset.EOF

Combobox1.additem recordset! String-Variable

Wend
...

Daten in eine Combobox einzulesen, wobei ich als Feldnamen eine Varibale benutze, die den "echten" Feldnamen enthält. Klappt nicht!

Auch die Schreibweise

... recordset.Fields( String-Variable ).value

klappt nicht. Jedes Mal kommt die Fehlermeldung, dass das Element nicht gefunden wurde!

Und

... recordset.fields(0).value

liest mir vier mal den Namen des Feldes in die Combobox ein (obwohl die Spalte/Feld zur Zeit nur zwei Einträge in der Datenbank hat)?!?

Wer weiß Rat?

Gruß
Peter

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Recordset Field-Name mit String-Varibale?
01.09.2003 23:47:10
Hans T.
Hallo Peter

Ich kann dein Problem nur zum Teil nachvollziehen: nach Combobox1.additem recordset!String-Variable brauchts ein MoveNext, sonst liest du endlos den gleichen Wert ein.

Für das Feld kommen mehrere Schreibweisen in Frage:
recordset.Fields("Feldname")
recordset.Fields("[Feldname]")
recordset.Fields!Feldname 'geht nur, wenn der Feldname keine Leerschläge oder Bindestriche enthält, was sowiso zu vermeiden ist.
recordset.Fields![Feldname]

Bei Verwendung einer Variablen funktioniert:
recordset.Fields(strFeldname)

.Value ist die Standard-Eigenschaft. Sie kann auch weggelassen werden.

Ich habe soeben alles überprüft unter Excel und Access 97. Versuch's doch nochmals und überrüfe die Schreibweise des Feldnamens. Du kannst ihn mit recordset.Fields(0).Name abfragen.

Viel Erfolg wünscht
Hans T.
Anzeige
AW: Recordset Field-Name mit String-Varibale?
02.09.2003 18:14:55
Peter
Hallo Hans,

erstmal danke für deine Antwort!

MoveNext habe ich nur vergessen zu schreiben, ist im Code selbstverständlich enthalten.
Die Geschichte mit rs.Fields(0).name habe ich auch probiert, um herauszufinden ob der Tabellenname richtig eingelesen wurde. WAR ER! Und bei ... .fields(0).value läuft der Code auch ohne Fehler durch, nur mit dem oben erwähnten seltsamen Resultat!

Ich habe die Geschichte versucht mit und ohne eckige Klammern! Und gerade das Beispiel rs.fields(strFeldname) haut bei mir nicht hin! Wenn ich das Feld direkt mit Namen angebe (um zu schauen ob das Problem vielleicht im Feld liegt), dann klappt die Datenübergabe, damit habe ich aber nur EIN Feld auf das ich zugreifen kann und das ist eigentlich nicht das was ich will.

Die Idee war folgende: Ich habe in einer Combobox eine Auswahl von 1 bis 10 und ich habe zu jeweils einer Ziffer einen Satz Details, die ich nach Auswahl einer Zahl in eine andere Combobox einlesen will. Also z.B. 1 ausgewählt wird dann zum Feldnamen "1Details" (Combobox1.Text & "Details"). In einer Tabelle namens "Detail" habe ich dann 10 Spalten liegen nach dem obigen Schema benannt (1Dateils bis 10Details).

Ich habe mir aber mittlerweile anders beholfen: Nur noch zwei Spalten in der Tabelle. Details und Detailnr. Abfrage erfolgt über ein passendes SQL-Statement nach dem Muster : "SELECT Details FROM Detail WHERE Detailnr = "&Combobox1.text
Klappt wunderbar!
Stört mich nur, daß der andere Weg nicht hinhaut.

Gruß
Peter
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige
Archiv - Verwandte Themen