ACC97 + VB Variablenname in VB-Code

Hallo folgendes Access97 VB Problem:
Ich möchte für !Feldname diesen variabel in ein Textfeld in einen Formular eingeben. Hab schon verschiedene Varianten probiert, allerdings mit dem „!“ davor hab ich probleme das irgendwie als String zu übergeben, denke eigentlich irgendwie sollte es gehen. Die kleine Routine soll nix anderes machen als in einer Tabelle die gesamte Spalte X mit einer Zahl oder Text zu füllen. Wie müßte es aussehen? Unten mein VB-Code. Tabellenname aus dem Formular ist kein problem auch der neue Wert nicht, nur der blöde Feldname macht mir zu schaffen …

Werner

Private Sub start_Click()
Dim rst As Recordset
Set rst = CurrentDb.OpenRecordset(tabellenname, dbOpenDynaset)

With rst
.MoveFirst
While Not .EOF
.Edit

!Feldname = txt_neuerwert

.Update
.MoveNext
Wend
.Close
End With
End Sub

Warum so umständlich?

CurrentdB.execute "UPDATE MeineTabelle SET MeinFeld = " & NeuerWert

für ein ganzzahliges Feld - bzw.:

CurrentdB.execute "UPDATE MeineTabelle SET MeinFeld = '" & NeuerWert & "'"

für ein Textfeld.

Ansonsten - wenn du den Feldnamen variabel halten willst, musst du schreiben:

Do Until rst.EOF
 rst.Edit
 rst(Feldname) = txt\_neuerwert 
 rst.Update
 rst.MoveNext
Loop
  • das erste MoveFirst ist übrigens überflüssig bzw. kontraproduktiv (wenn die Tabelle leer sein sollte, gibt es einen Fehler…)

Gruß aus dem Norden
Reinhard Kraasch
(http://www.kraasch.de - Access Tipps & Tricks)

Hallo Reinhard,

deswegen so umständlich weil ich es halt noch nicht besser weiß, darum frag ich ja :smile: Hab mir Deine Antwort abgespeichert, ist für mich sehr hilfreich danke.

Gruss aus den Süden
Werner

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]