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
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]