PDA

Vollständige Version anzeigen : Laufzeitfehler 3020 Update ohne AddNew oder Edit


Beeblebrox
30.09.2005, 11:03
Ich versteh es nicht mehr.
Manchmal ist man ja blind. Aber ich denke, ich setze den Recordset rsRubin brav auf edit, bevor ich darauf zugreife? Trotzdem die Fehlermeldung siehe Betreff.


Private Sub Befehl0_Click()

Dim rsRubin, rsGrusInt, rsGrusNat, rsTes As Recordset
Set db = CurrentDb
Set rsRubin = db.OpenRecordset("tblRubin", dbOpenDynaset)
'Set rsGrusInt = db.OpenRecordset("grussz_vpsz_int", dbOpenDynaset)
'Set rsGrusNat = db.OpenRecordset("grussz_vpsz_nat", dbOpenDynaset)
'Set rsTes = db.OpenRecordset("tesy-onkz", dbOpenDynaset)
'rsRubin.MoveFirst
rsRubin.Edit
'If rsRubin.Updatable Then
'If rsRubin.Edit Then
While Not rsRubin.EOF
If Left(rsRubin.V_BSZ_A, 1) = "0" Then
rsRubin.TESY_STANDORT_ONKZ_A = "999999"
rsRubin.TESY_ANSCHLUSS_ASB_A = "999"
End If
'If Left(rsRubin.V_BSZ_B, 1) = "0" Then
' rsRubin.TESY_Standort_ONKZ_B = "999999"
' rsRubin.TESY_ANSCHLUSS_ASB_B = "999"
'End If
'If Left(rsRubin.A_BSZ_A, 1) = "0" Then
' rsRubin.TESY_STANDORT_ONKZ_A1 = "999999"
' rsRubin.TESY_ANSCHLUSS_ASB_A1 = "999"
'End If
'If Left(rsRubin.A_BSZ_B, 1) = "0" Then
' rsRubin.TESY_STANDORT_ONKZ_B1 = "999999"
' rsRubin.TESY_ANSCHLUSS_ASB_B1 = "999"
'End If
rsRubin.Update
rsRubin.MoveNext
Wend
'Else
' MsgBox ("Nicht edit")
'End If
'Else
' MsgBox ("Nicht updatable")
'End If
MsgBox ("Habe fertisch")
rsRubin.Close

End Sub

Arne Dieckmann
30.09.2005, 11:08
Das .Edit gehört in die Schleife:
While Not rsRubin.EOF
rsRubin.Edit
If Left(rsRubin.V_BSZ_A, 1) = "0" Then
rsRubin.TESY_STANDORT_ONKZ_A = "999999"
rsRubin.TESY_ANSCHLUSS_ASB_A = "999"
End If
'If Left(rsRubin.V_BSZ_B, 1) = "0" Then
' rsRubin.TESY_Standort_ONKZ_B = "999999"
' rsRubin.TESY_ANSCHLUSS_ASB_B = "999"
'End If
'If Left(rsRubin.A_BSZ_A, 1) = "0" Then
' rsRubin.TESY_STANDORT_ONKZ_A1 = "999999"
' rsRubin.TESY_ANSCHLUSS_ASB_A1 = "999"
'End If
'If Left(rsRubin.A_BSZ_B, 1) = "0" Then
' rsRubin.TESY_STANDORT_ONKZ_B1 = "999999"
' rsRubin.TESY_ANSCHLUSS_ASB_B1 = "999"
'End If
rsRubin.Update
rsRubin.MoveNext
Wend

Übrigens deklarierst du falsch. S. dazu http://home.arcor.de/ar/arne.d/datenbanken/grundlagen/vba/index.html#SEC5_3

molnar
30.09.2005, 11:09
Für jeden Datensatz muß Edit aufgerufen werden:

While Not rsRubin.EOF
rsRubin.Edit
...
rsRubin.Update
rsRubin.MoveNext
Wend

'If rsRubin.Edit Then macht das leider nicht.

Gruß,
Reinhard