Hallo Leute
Ich habe seit einigen Wochen das Problem, dass ein code in meiner Datenbank einen Fehler auslöst, den ich nicht abfangen kann. Wenn der code ausgeführt wird kommt die Fehlermeldung keine Rückmeldung, und nach einigen sek will Access ein backup erstellen.
Vielleicht weis von euch jemand wo das Priblem liegen könnte
Die Daten bank ist mehrere Jahre problemlos gelaufen, bis ungefähr am 10 Juni.
Ich habe den Code der das Problem auslöst für euch kopiert:
Vielen Dank für euer Hilfe
Gruss Dani
Set rsf = Me.RecordsetClone
rsf.MoveFirst
Do Until rsf.EOF
rsf.Edit
With rsf
rsf!AnfangsbestandEier = Eieranfang
rsf!Tagesproduktion = rsf!EndbestandEier - rsf!AnfangsbestandEier + rsf!Fischereier + rsf!Bruteier + rsf!Konsumeier + rsf!WaschUndBrucheier + rsf!DirektVermarktung + rsf!Aufschlageier
Eieranfang = rsf!EndbestandEier
rsf!EierImKühlraum = rsf!EndbestandEier
rsf!EierBeimFörderband = 0
rsf!EierBeimWaschtisch = 0
rsf!AnfangsbestandHennen = Hennen1
rsf!AnfangsbestandHähne = Hähne1
rsf!EndbestandHennen = rsf!AnfangsbestandHennen - rsf!AbgängeHennen
rsf!EndbestandHähne = rsf!AnfangsbestandHähne - rsf!AbgängeHähne
rsf!LegeleistungIstHennen = rsf!Tagesproduktion / rsf!EndbestandHennen
rsf!LegeleistungAnfangsHennen = rsf!Tagesproduktion / Hennen
rsf!AlterTage = rsf!ProduktionsdatenDatum - Einstallen + Lebenstage
rsf!Woche = Int(rsf!AlterTage / 7)
If IsNull(rsf!Eigewicht) Or rsf!Eigewicht <= 0 Then rsf!Eigewicht = Ei Else rsf!Eigewicht = rsf!Eigewicht
If BTS1 = -1 Then rsf!AuslaufDauer = 7 Else rsf!AuslaufDauer = 0
If RAUS1 = -1 Then rsf!Weide = 5 Else rsf!Weide = 0
End With
rsf.Update
DoCmd.RunCommand acCmdSaveRecord
Eieranfang = rsf!EndbestandEier
Eierende = rsf!EndbestandEier
Ei = rsf!Eigewicht
DatumSet = rsf!ProduktionsdatenDatum
Hennen1 = rsf!EndbestandHennen
Hähne1 = rsf!EndbestandHähne
rsf.MoveNext
Z = Z + 1
Loop
Zitat von: Daneli am Juni 28, 2020, 11:43:06Ich habe seit einigen Wochen das Problem, dass ein code in meiner Datenbank einen Fehler auslöst, den ich nicht abfangen kann. Wenn der code ausgeführt wird kommt die Fehlermeldung keine Rückmeldung, und nach einigen sek will Access ein backup erstellen.
[...]
Die Daten bank ist mehrere Jahre problemlos gelaufen, bis ungefähr am 10 Juni.
Ist eines der dort beteiligten Felder vom Datentyp
Decimal?
Wenn ja, dann wird der Absturz von einem Bug in Access (https://support.microsoft.com/en-us/office/access-vba-dao-code-may-crash-or-report-incorrect-data-for-decimal-columns-9311f0ab-ac34-40b4-abd7-2aaa01e07fc7?ui=en-us&rs=en-us&ad=us) verursacht. Wie in dem verlinkten Text nachzulesen ist, gibt es seit letzter Woche ein Bugfix für dieses Problem.
Hallo Phils
Danke für deine Hilfe.
Ich habe alle Felder die als dezimal eingerichtet waren in Long integer geändert.
Jetzt läuft die Datenbank wieder einwandfrei.
Herzlichen Dank und einen schönen Sonntag
Druss Dani
Hallo,
ZitatIch habe alle Felder die als dezimal eingerichtet waren in Long integer geändert.
Dann sind aber keine Kommastellen mehr möglich. Und alle bisherigen Kommastellen sind auch weg.
Long Integer ist eine Ganzzahl.
Hallo,
ZitatDann sind aber keine Kommastellen mehr möglich
Ist bei Beständen in diesem Fall auch nicht nötig, - Hühner legen
wohl eher keine halben Eier.
Für die Gewichte würde ich "Währung" (Currency) verwenden, denn 4
Nachkommastellen sind dafür ausreichend.
gruss ekkehard