collapse

* Benutzer Info

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

* Wer ist Online

  • Punkt Gäste: 69
  • Punkt Versteckte: 2
  • Punkt Mitglieder: 4
  • Punkt Benutzer Online:

* Forenstatistik

  • stats Mitglieder insgesamt: 13928
  • stats Beiträge insgesamt: 66062
  • stats Themen insgesamt: 8912
  • stats Kategorien insgesamt: 5
  • stats Boards insgesamt: 17
  • stats Am meisten online: 415

Autor Thema: Absturz Access wenn im Formular basierend auf Recordset alle DS gelöscht werden  (Gelesen 32 mal)

Offline datekk

  • Access-Meister
  • ***
  • Beiträge: 699
Hi,

ich nutzte Access mit einem SQL Server Backend. Häufig habe ich Formulare, welche die Datensätze nicht aus ODBC Tabellen sondern über ADODB Recordsets erhalten (Set Me.Recordset = rcs).

Diese Formulare sind häufig Endlosformulare und listen Datensätze auf. Es kommt häufig vor, dass ich über eine Schaltfläche welche z.B. in einem HaFo gesetzt ist, alle DS des Formulars lösche. Der Löschvorgang läuft hierbei so, dass ich eine SQL Anweisung habe wie "Delete * From tblTabelle Where Auswahl = 1" und diesen Befehl ebenfalls über einen ADO Recordset direkt an den SQL Server übermittel.

Nach dem löschen auf dem Server soll das Formular aktualisiert werden. Hierzu wird wieder das Recordset abgerufen (welches ja nun leer ist) und mit me.recordset an das Formular übergeben.

Leider stürzt nach dem löschen mein Access komplett und ohne Fehlermeldung ab. Es kommt die geliebte Meldung "Microsoft Access funktioniert nicht mehr" und dann wird das Programmfenster geschlossen.

Wenn ich im VBA Modul einen Haltepunkt setze und die einzelnen Schritte, welche beim löschen abgearbeitet werden mit F8 durchlaufe, kommt der Fehler nicht.

Der Fehler tritt nur auf, wenn ALLE Datensätze, welches das Formular bisher angezeigt hat, gelöscht werden. Der Fehler tritt nicht auf, wenn das Formular neu geöffnet wird und keine Datensätze enthält, weil keine vorhanden sind. So auch beim Neustart von Access wenn das betreffende Formular nach dem Absturz geöffnet wird.

Füge ich Datensätze zu, gibt es keine Probleme. Werden aus mehreren Datensätzen einzelne gelöscht, gibt es keine Probleme. Wir allerdings der letzte oder alle Datensätze gelöscht kommt es zum Absturz.

Kennt jemand das Verhalten und hat evtl. Lösungsmöglichkeiten?

Access 2016, SQL Server 2014.