Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Absturz Access wenn im Formular basierend auf Recordset alle DS gelöscht werden

Begonnen von datekk, Mai 16, 2018, 11:57:28

⏪ vorheriges - nächstes ⏩

datekk

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.
Access 2016 mit SQL Server Backend. Bereits umgesetzt: Access mit MS SQL Backend,  ADODB Formularbindung, Streamen von Dateien zum SQL Server und zurück (Filestream), Drag&Drop Dateiupload zum Server, CTI / TAPI Integrierung in Access Anwendung - Nutzung auch über Remote Desktop, selbst aktualisierendes Access Frontend auf entfernten Rechnern (Upgrade). Berichte / Kreuztabellen mit SQL Server Backend, Mail Tagging, Outlook Steuerung über Access und umgekehrt // Grundwissen in .Net Core & Blazor Apps