none
Access 2002: Auf einmal können keine Datensätze mehr geändert oder neu erfasst werden

    Frage

  • Hallo Newsgroup,

    ich kann auf einmal in meiner Access-Datei keine Datensätze mehr erfassen (Meldung: Sie können nicht zu dem angegebenen Datensatz springen) und auch keine bestehenden Datensätze mehr verändern. Heute morgen ging es noch...., woran kann das liegen??

    Vielen Dank für jegliche Hilfe!!!!

    Gruß Vera Köhler

    Mittwoch, 7. August 2013 12:27

Alle Antworten

  • Hallo Vera,

    ist das eine Datenbank auf einem lokalen Laufwerk oder einem Netzlaufwerk?

    Ist die Datenbank ggfs. anderweitig in Verwendung oder die Datei gesperrt bzw. als "Schreibgeschützt" markiert?


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community

    Mittwoch, 7. August 2013 12:40
  • Hallo Newsgroup,

    ich möchte noch etwas nachtragen: Es kommt auch die Meldung " 'Datei XY' (Backend-Datei mit den Tabellen) kann nicht verwendet werden. Datei wird bereits verwendet", wenn auf einem anderen Rechner jemand über sein Frontend auf die Datenbank zugreift. Sobald nur der eine Rechner auf die Datenbank-Datei zugreifen will, kommt bei Neuerfassung eines DS die o.g. Meldung "Sie können nicht zu dem angegebenen Datensatz springen", bzw. es sind keine Änderungen an bestehenden Datensätzen möglich.

    Ich habe die Backend-Datei auf dem Server, die Front-End auf den jeweiligen Rechnern. Bisher hat das immer einwandfrei funktioniert. Hat jemand eine Idee?

    Gruß Vera Köhler

    Mittwoch, 7. August 2013 12:48
  • Hallo Vera,

    Access ist (auch wenn es ab und an funktioniert) nicht dafür gedacht, dass die Datei auf einem Server liegt und x verschiedene Benutzer darauf zugreifen. Ich würde für einen solchen Fall einen Umstieg auf SQL Server (ggfs. Express) nachdenken. Access als Frontend kannst Du weiterhin verwenden, lediglich die Datenbank an sich wäre dann eine SQL Server Datenbank.

    Ich habe in früheren Versionen die Erfahrung gemacht, dass eine Meldung in der Art "Datei wird bereits verwendet" u.a. dann erscheint, wenn man unterschiedliche Zugriffsarten verwendet. Bspw. zwei Clients mit Access (das funktionierte dann), ein Webclient (Classic ASP, ASP.NET, WinForms Anwendung, ...) aber per Jet Engine. Ab dann gingen gar keine Zugriffe mehr.

    Was bei Mehrfachverwendung von Access DBs auch recht häufig auftritt ist eine kaputte Datenbankdatei. Access 2002 ist mir hier auch nicht als die stabilste Version in Erinnerung, da war Access 2000 schon besser.

    So oder so: Ihr solltet auf eine SQL Server Datenbank umsteigen. Es gibt in Access einen "Upsizing Assistenten", der euch einige Arbeit abnehmen kann. Inwieweit der aber nun wirklich gut arbeitet, kann ich nicht sagen. Infos findest Du u.a. hier:

      http://support.microsoft.com/kb/330468/de


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community

    Mittwoch, 7. August 2013 13:24
  • Hallo Stefan,

    ja, sicherlich wäre darüber nachzudenken. Im Moment jedoch muss ich zunächst einmal die Datei wieder ans Laufen kriegen, da sie jeden Tag gebraucht wird....

    Ich habe gerade versucht, die Datei neu aufzubauen (neues Frontend), ich kann jedoch immer noch keine DS erfassen oder verändern. Gibt es nicht in Access oder in Windows oder sonstwo eine Einstellung, die man vornehmen kann? Wir haben den Netzwerkpfad heute neu gemappt und der Verdacht liegt nahe, dass es damit zu tun hat. Gibt es noch irgendwelche Möglichkeiten? Über eine weitere Antwort wäre ich sehr dankbar!

    Gruß Vera Köhler

    Mittwoch, 7. August 2013 15:38
  • Hallo Vera,

    die Frage kann ich dir nicht beantworten. Wenn ihr den Verdacht habt, dass es daran liegt, überprüft sämtliche Einstellungen wie bspw. Berechtigungen, Zugriff ggfs. nur lesend, Programme, die evtl. das Verzeichnis überwachen, Anwendungen, die neben dem Access Frontend auf die mdb zugreifen, usw.


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community

    Mittwoch, 7. August 2013 15:43
  • Hallo Stefan,

    ja danke, werde ich versuchen. Ich hoffe, ich finde irgendetwas.

    Gruß Vera

    Mittwoch, 7. August 2013 19:59
  • Hallo Vera

    Kontrolliere als erstes ob du auf dem Server im gleichen Verzeichnis wo das Backend liegt eine neue Datei anlegen kannst. Einfach rechte Maustaste neues Textdokument. Wenn das nicht geht muss die Berechtigung zum Erstellen von neuen Files noch vergeben werden.

    Beim öffnen einer mdb oder accdb wird eine 1KB grosse Datei ldb erstellt welche die Zugriffe aufzeichnet.

    Die Berechtigung ändern alleine reicht eben leider nicht.

    Eventuell liegts nur an dem.

    Gruss Markus

    Donnerstag, 8. August 2013 11:14
  • Access ist (auch wenn es ab und an funktioniert) nicht dafür gedacht, dass die Datei auf einem Server liegt und x verschiedene Benutzer darauf zugreifen. Ich würde für einen solchen Fall einen Umstieg auf SQL Server (ggfs. Express) nachdenken. Access als Frontend kannst Du weiterhin verwenden, lediglich die Datenbank an sich wäre dann eine SQL Server Datenbank.

    Hallo Stefan

    Wie kommst Du auf diese Einsicht. Die Konfiguration FE lokal und BE auf dem Server ist die zu bevorzugende Methode, um Access Anwendungen mehreren Benutzern zur Verfügung zu stellen. Der Benutzer ist dabei ja nicht in der BE auf dem Server drin, sondern hat lediglich die Daten der MDB über Jet in die Anwendung in der FE eingelinkt und das funktioniert in der Regel (und nicht ab und an) hervorragend.

    In einem Punkt muss ich Dir aber recht geben: Der SQL Server ist für dieses Szenario besser gerüstet als eine File Datenbank, da dort die Anwendung mit einem Service kommuniziert und nicht selber die Backend über eine beim Benutzer installierte DLL bearbeitet. Allerdings auf keinen Fall mit dem Access eigenen Upsizing Wizzard migrieren, sondern mit dem SSMA von Microsoft. Dieser kümmert sich besser um das optimale Format der Backend und behandelt Limitationen und Optimierungen (z.B. eindeutige Schlüsselnamen über die ganze SQL-Datenbank und Vergabe von TimeStamp Feldern) besser. Es gibt schon Gründe, wieso der eingebaute Upsizing Assistent aus der neusten Access Version verbannt wurde.

    Der Grund für den Fehler liegt vermutlich eher an der Backend selber oder am Verzeichnis. Die Backend könnte korrupt geworden sein, das Verzeichnis könnte nicht mehr genügend Platz aufweisen oder die LDB kann nicht mehr gelöscht werden. Da es sich um A2002 handelt könnte es durchaus sein, dass als Backend Server ein veralteter UNIX oder NOVELL Server zum Einsatz kommt. In diesem Fall muss sichergestellt werden, dass die Anzahl der FileLocks, die supportet werden hoch genug ist. Dies war vor 10 Jahren das Standard Problem, wenn die Backend nicht barbeitet werden konnte.

    Zur Frage selber: Mach' bitte Folgendes:

    • Stelle sicher, dass nirgends die Anwendung läuft.
    • Erstelle einen Backup!!!
    • Kontrolliere, ob die Berechtigungen auf dem Verzeichnis korrekt sind. Die benutzer müssen Schreib/Lösch Berechtigung haben, damit die Lock Datei (.LDB) gelöscht werden kann. Kontrolliere auch, dass Du genügend Platz auf dem Backend Drive hast. Es muss mindestens gleichviel Platz verfügbar sein, wie die Backend einnimmt. Kontrolliere auch die Grösse der Backend, diese darf nicht über das erlaubte Limit hinauswachsen, sonst kommt es zu ähnlichen Fehlermeldungen. Limit bei A2002 war IIRC 1 oder 1 GByte, bin aber nicht mehr sicher.
    • Kontrolliere, ob eine .LDB mit dem Namen der BE existiert. Falls Du ganz sicher bist, dass niemand mehr in der Anwendung drin ist, musst Du diese Löschen, notfalls mit Gewalt (Administrator). Falls das nicht möglich ist, dann ist evt. ein Restart des Servers oder eine Reparatur des Filesystems notwendig (inkl. Berechtigungen).
    • Öffne die BE in Access und versuche diese zu reparieren und zu komprimieren. Falls das geklappt hat, dann kannst Du wieder versuchen, ob die Anwendung korrekt läuft.
    • Falls das nichts geholfen hat dann versuche es mit dem Jet Compact Utiltity von Microsoft
    • Sollte auch das nichts geholfen haben, dann bleibt noch der manuelle Vorgang: Neue MDB anlegen, alle Objekte von der BE MDB (auch die im Erweitert Dialog) in die neue MDB kopieren und dann die Dateien umbenennen.

    Gruss

    Henry

    Freitag, 9. August 2013 04:28
  • Hallo Henry,

    Wie kommst Du auf diese Einsicht. Die Konfiguration FE lokal und BE auf dem Server ist die zu bevorzugende Methode, um Access Anwendungen mehreren Benutzern zur Verfügung zu stellen.

    den Punkt hab ich leider überlesen. Ich hatte das so verstanden, dass x User eine mdb, welche alles beinhaltet, vom Server gleichzeitig per Access öffnen.

    Die Variante, eine mdb auf dem Server abzulegen und per Jet zuzugreifen ist dasselbe Prinzip, dass man bspw. bei Webanwendungen angewendet hat. Das hat auch meistens gut funktioniert, ab und an hat es allerdings doch irgendwann die Datenbank geschrottet :)

    Danke für den Hinweis!

    Zu deiner Anmerkung SSMA (für Vera: SQL Server Migration Assistant, in deinem Fall für Access): Den findet man hier:

      http://www.microsoft.com/en-us/download/details.aspx?id=28763


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community


    Freitag, 9. August 2013 06:38