Zum Inhalt springen

UPDATE-Funktion funtioniert nicht!


Shellm

Empfohlene Beiträge

Hallo Forum,

Ich habe hier VBA-Code in Access 97

Dort wo steht "'Ab diesem . geht N I C H T S mehr!", ab dort geht auch wirklich nichts mehr! Es wird weder eine Fehlermeldung ausgegeben, noch wird irgendein Datensatz in der Tabelle aktualisiert!

Hilfe!


Option Compare Database

Option Explicit



Private Sub KPProduktmerkmal_Click()


Dim X As Recordset

'Dim booNext As Boolean

'Dim intCount As Integer

Dim SC, CC, RPZGrenz, B, A, E, RPZ, ActiveID, query As String

Dim fld As Field

Dim ii As Integer


Set X = CurrentDb.OpenRecordset("Grenzwerte", dbOpenDynaset)

SC = X!SC

CC = X!CC

RPZGrenz = X!RPZGrenz

X.Close

Set X = Nothing



Set X = CurrentDb.OpenRecordset("Fehler", dbOpenDynaset)



X.MoveLast

X.MoveFirst

For ii = 1 To X.RecordCount

For Each fld In X.Fields

If fld.Name = "ID" Then

If fld.Value = [IDx] Then

'MsgBox "" & fld.Name & ": " & fld.Value, vbOKOnly

ActiveID = X!ID

B = X![B ist]

A = X![A ist]

E = X![E ist]

RPZ = B * A * E

End If

End If

Next

X.MoveNext

Next ii

X.Close

Set X = Nothing


MsgBox "SC: " & SC, vbOKOnly

MsgBox "CC: " & CC, vbOKOnly

MsgBox "RPZGrenz: " & RPZGrenz, vbOKOnly

MsgBox "ActiveID: " & ActiveID, vbOKOnly

MsgBox "B: " & B, vbOKOnly

MsgBox "A: " & A, vbOKOnly

MsgBox "E: " & E, vbOKOnly


[b]'Ab diesem . geht N I C H T S mehr![/b]


If [IDx] <> "" Then

If B >= SC Then

DoCmd.RunSQL "UPDATE Fehler SET KPProduktmerkmal='SC' WHERE Fehler.ID=" & ActiveID & ";"

ElseIf B >= CC Then

DoCmd.RunSQL "UPDATE Fehler SET KPProduktmerkmal='CC' WHERE Fehler.ID=" & ActiveID & ";"

ElseIf B < SC And RPZ >= RPZGrenz Then

DoCmd.RunSQL "UPDATE Fehler SET KPProduktmerkmal='KPR' WHERE Fehler.ID=" & ActiveID & ";"

End If

End If

End Sub

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hi Shellm,

Ich denke, das die Bedingungen von den If-Abfragen einfach nicht erfüllt sind und deswegen die Update nicht ausgeführt werden. Vergleich einfach mal die Werte aus den Messageboxen mit deinen If-Abfragen.

Du hast deine Update's außerhalb von den Schleifen, deswegen können die nur auf den letzten Datensatz, bzw. die letzten Werte in den Variablen reagieren.

So wie es aussieht gehört der ganze untere Bereich, der nicht geht, in die innere Schleife.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Das programmiertechnische Problem hat sich bereits gelöst!

Ich habe die if-Abfragen falsch angeordnet! *sh..*

Komischerweise stürtzt jetzt Access 97 immer ab, wenn ich diesen Quelltext ganz ausschneiden will! VBA32.dll verursacht immer einen Fehler!!

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...