collapse

* Benutzer Info

 
 
Willkommen Gast. Bitte einloggen oder registrieren. Haben Sie Ihre Aktivierungs E-Mail übersehen?

* Wer ist Online

  • Punkt Gäste: 55
  • Punkt Versteckte: 0
  • Punkt Mitglieder: 0

Es sind keine Mitglieder online.

* Forenstatistik

  • stats Mitglieder insgesamt: 14037
  • stats Beiträge insgesamt: 67217
  • stats Themen insgesamt: 9066
  • stats Kategorien insgesamt: 5
  • stats Boards insgesamt: 17
  • stats Am meisten online: 415

Autor Thema: Laufzeilenfehler 13  (Gelesen 168 mal)

Offline Carl

  • Access-Profi
  • **
  • Beiträge: 376
Laufzeilenfehler 13
« am: September 11, 2018, 20:39:07 »
Hallo, mal ne Frage.

Ich habe einen Einsatzplaner geschrieben, in dem man durch mehrere Kalenderwochen klicken kann. Damit die Unterformulare wissen, ob sie in der aktuellen Kalenderwoche sind, lasse ich das ermitteln und in einem Textfeld [Text203] ausgeben. Wenn es sich um eine Kalenderwoche in der Vergangenheit handelt, gibt das Text203 eine "1" aus.

Nach dieser 1 prüft jedes Unterformular, ob es editierbar sein darf mit folgendem Code:

Sub Form_Current()
If Me.Text203 = 1 Then
    Me.AllowEdits = False
    Else
    Me.AllowEdits = True
 End If
End Sub

Nun kommt manchmal und aus unerklärlichen Gründen, wahrscheinlich wenn aktualisiert wird, die Fehlermeldung 13 und das Formular stürzt mit Karacho ab.

Woran könnte das liegen?

Carl
 

Offline Beaker s.a.

  • Access Guru
  • ****
  • Beiträge: 1862
Re: Laufzeilenfehler 13
« Antwort #1 am: September 12, 2018, 16:13:00 »
Hallo Carl,
Ich könnte mit vorstellen, dass das mit einem Wert = NULL im Textfeld
zusammenhängt. Versuche dies
If Nz(Me.Text203, Ersatzwert) = Ersatzwert ThenDen passenden Ersatzwert (1 oder 0) musst du entscheiden.
gruss ekkehard
--
Beaker s.a., der lieber an seinem eigenen Projekt arbeiten würde/sollte, aber irgendwie immer gerne seinen Senf dazu gibt ;-)
S.M.I².L.E.
 

Offline markus888

  • Access-Profi
  • **
  • Beiträge: 206
Re: Laufzeilenfehler 13
« Antwort #2 am: September 12, 2018, 17:23:41 »
@ekkehard
Was bei einem Vergleich mit Null rauskommt, sollte dir schon klar sein.
Ansonsten einfach testen.
10 Jahre Access
 

Offline Carl

  • Access-Profi
  • **
  • Beiträge: 376
Re: Laufzeilenfehler 13
« Antwort #3 am: September 12, 2018, 18:37:07 »
Also die Zeichenkette "Ersatzwert"? Damit es Buchstaben werden?

Danke übrigens für die vielen intelligenten Tipps hier immer, es ist wirklich richtig gut!!

Carl
 

Offline DF6GL

  • Global Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 23413
Re: Laufzeilenfehler 13
« Antwort #4 am: September 12, 2018, 20:33:21 »
Hallo,


Zitat
Also die Zeichenkette "Ersatzwert"? Damit es Buchstaben werden?

??

"Ersatzwert" steht für diejenige Zahl, die den weiteren Ablauf gewährleistet, falls das Textfeld leer  ist.

Und wie schon angedeutet, musst Du ja wissen, was in solchem Fall die richtige Zahl sein muss.


Ob es aber mit dem gezeigten Code zielführend ist, bezweifle ich im Moment noch.

Offline Josef P.

  • Access-Profi
  • **
  • Beiträge: 237
    • Code-Bibliothek für Access-Entwickler
Re: Laufzeilenfehler 13
« Antwort #5 am: September 12, 2018, 22:30:50 »
Hallo!

Der Vergleich mit Null würde im gezeigten Beispiel kein Problem sein, da dann der Else-Zweig läuft.

Bei einem Fehler "Typen unverträglich" würde ich an erster Stelle die Datentypen prüfen. ;)
1 .. das ist ein Integer
Me.Text203.Value ... Datentyp kann ich von hier aus nicht erkennen.

Bei
If "a" = 1 Thenkommt es beispielsweise zum Laufzeitfehler 13 (Typen unverträglich).

mfg
Josef

Offline Beaker s.a.

  • Access Guru
  • ****
  • Beiträge: 1862
Re: Laufzeilenfehler 13
« Antwort #6 am: September 13, 2018, 12:36:40 »
Hallo,
Ja, sorry, Schnellschuss  >:( .
gruss ekkehard
--
Beaker s.a., der lieber an seinem eigenen Projekt arbeiten würde/sollte, aber irgendwie immer gerne seinen Senf dazu gibt ;-)
S.M.I².L.E.
 

Offline markus888

  • Access-Profi
  • **
  • Beiträge: 206
Re: Laufzeilenfehler 13
« Antwort #7 am: September 13, 2018, 13:03:17 »
@Josef,
ich kenne die Lösung auch nicht, aber der Standard-Wert eines Controls ist Variant.
Einen Variant kann man mit jedem Basis Typen vergleichen.

@Carl
Da es nur manchmal vorkommt würde ich ein Fehlerhandling empfehlen, dass den Fehler dann sicher zum Vorschein bringt.
Prinzipiell führt jeder Fehler der an eine Event Prozedur weitergereicht wird, zu einem Absturz.


10 Jahre Access
 

Offline Carl

  • Access-Profi
  • **
  • Beiträge: 376
Re: Laufzeilenfehler 13
« Antwort #8 am: September 14, 2018, 15:42:58 »
Uff, das wird schwierig, okay ich versuchs. Carl
 

Offline Beaker s.a.

  • Access Guru
  • ****
  • Beiträge: 1862
Re: Laufzeilenfehler 13
« Antwort #9 am: September 14, 2018, 16:16:57 »
Hallo Carl,
Noch'n Schnellschuss  ;)
Zitat
ob sie in der aktuellen Kalenderwoche sind, lasse ich das ermitteln und in einem Textfeld [Text203] ausgeben
Kann es sein, dass der Fehler dabei schon auftaucht, und nicht erst in der
gezeigten Prozedur?
Bist du deinen Code mal im Einzelschritt-Modus durch gegangen?
gruss ekkehard
--
Beaker s.a., der lieber an seinem eigenen Projekt arbeiten würde/sollte, aber irgendwie immer gerne seinen Senf dazu gibt ;-)
S.M.I².L.E.
 

Offline Carl

  • Access-Profi
  • **
  • Beiträge: 376
Re: Laufzeilenfehler 13
« Antwort #10 am: September 14, 2018, 17:06:48 »
Ich kann das selbst aus eigener Kraft kaum erkennen und hatte noch nie eine Fehlersuche.

Momentan habe ich noch das Problem, dass die Meldung "kann keine weiteren Formulare öffnen" auftaucht. Ich vermute, ich habe das Formular überladen und suche nach einer grundsätzlicheren Lösung. Vermutlich muss ich die Sache ohnehin abgespeckter angehen, so dass der Fehler 13 dann auch egal ist.

Serverseitig habe ich unbegrenzt Kapazität. Es ist wohl eine Frage der Einstellung in der Datenbank.

Wahrscheinlich habe ich einen Fehler gemacht, den Klaus mal angemerkt hat. Ich habe zu viele Domwert-Felder verwendet und damit die Kiste ausgebremst, so dass nun "der Wurm drin" ist. Ursache für diesen Fehler ist, dass ich für die Anwender eine Oberfläche schaffen wollte, die sich möglichst wenig von der bisher genutzten Oberfläche unterscheidet, um die implizite Akzeptanz zu erhöhen.

Der Fehler 13 kommt vielleicht auch, weil ich die oben genannte Funktion 6*5 fach im selben Formular ausführen lasse. Vielleicht hat Access auch einfach zu viel davon.

carl
 

Offline markus888

  • Access-Profi
  • **
  • Beiträge: 206
Re: Laufzeilenfehler 13
« Antwort #11 am: September 15, 2018, 12:14:39 »
Ich kann das selbst aus eigener Kraft kaum erkennen und hatte noch nie eine Fehlersuche

Google nach "VBA Errorhandling" und "VBA Debug"

Hier ein Link: https://www.vba-tutorial.de/fehler
Mit dem Thema musst du dich intensiv beschäftigen.
Ohne diese Grundlagen ist kein produktives entwickeln möglich.

Domänenfunktionen sollte man innerhalb von Abfragen nicht einsetzen - außer es gibt wirklich keine Alternative (Bei Updates hat Access einige Schwächen)
Lerne die Grundlagen von SQL, dann brauchst du sie nicht.
10 Jahre Access
 

Offline MzKlMu

  • Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 7375
Re: Laufzeilenfehler 13
« Antwort #12 am: September 15, 2018, 19:18:12 »
Hallo,
Zitat
Wahrscheinlich habe ich einen Fehler gemacht, den Klaus mal angemerkt hat.
wenn das noch das gleiche Datenmodell ist zu dem ich damals meine Anmerkungen gemacht habe, wird SQL nicht viel nutzen. Das ganze Tabellenkonstrukt ist mehr als zweifelhaft. Und daher muss das Ganze mehr oder weniger aufwendig programmiert werden, mit den damit einhergehenden Problemen.
Gruß
Klaus
 

Offline Carl

  • Access-Profi
  • **
  • Beiträge: 376
Re: Laufzeilenfehler 13
« Antwort #13 am: September 17, 2018, 07:24:27 »
Ich hab die domwert-Funktionen raus gemacht und das Formular abgespeckt und es läuft jetzt.


Carl