Office: (Office 2013) Laufzeitfehler #3265 unter Access 2013

Helfe beim Thema Laufzeitfehler #3265 unter Access 2013 in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Hallo in die Runde, aus einer Access 2003-Datenbank habe ich in eine neue Access 2013-Datenbank das nachfolgende Modul übernommen: Es übernimmt im... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von RookieOne, 30. August 2014.

  1. Laufzeitfehler #3265 unter Access 2013


    Hallo in die Runde,

    aus einer Access 2003-Datenbank habe ich in eine neue Access 2013-Datenbank das nachfolgende Modul übernommen:

    Es übernimmt im Prinzip aus zwei externen Datenbanken Daten in eine gemeinsame Tabelle tblDatenpool.

    Dabei wird insb. bei einer der Vor-Datenbanken (VWneu97.mdb) geprüft, ob sie in Verwendung - also gesperrt - ist.

    Ist das der Fall, wird mit der bestehenden Datenpool-Tabelle gearbeitet. Ist die VW-Datenbank nicht gesperrt, wird die Datenpool-Tabelle per DROP TABLE gelöscht, neu angelegt, indiziert und befüllt.

    Das klappt unter Access 2003 auch alles reibungslos. Nur unter Access 2013 kommt es zum Laufzeitfehler 3265 („Element in dieser Auflistung nicht gefunden“).

    Leider zeigt der VBA-Editor nicht, an welcher Stelle nun der Fehler im Code auftritt und verlässt die Funktion (Exit Function am Ende des Codes).

    Vielleicht hat jemand von euch eine Idee, wie ich hier weiter vorgehen muss.

    Gruß, Daniel

    Code:
    :)
     
    RookieOne, 30. August 2014
    #1
  2. Nimm zunächst mal das "On Error..." raus, um zu sehen, wo der Fehler auftritt...
     
    fraeser, 31. August 2014
    #2
  3. Wenn Du Deine Fehlerbehandlung zwischenzeitlich deaktivierst, könnte der Debugger ursprünglich arbeiten und dann auch die Fehlerzeile markieren.

    Weitere Hinweise:
    Code:
    Das Existieren einer LDB zu einer MDB bedeuted noch keine Sperrung der MDB (abgesehen von einem exklusiven Zugriff), sondern nur deren Verwendung, also z.B. auch lesende Zugriffe.

    Mit einer besseren Codeformatierung (=> SmartIdenter) könnte man besser der Logik (verschachtelte If) folgen.

    Indizes beschleunigen das Lesen von Daten, bremsen aber beim Schreiben. Daher würde ich bei der Neuerstellung der Tabelle erst die Daten anfügen und danach die Indizes setzen.
     
  4. Laufzeitfehler #3265 unter Access 2013

    Hallo, Jan,
    hallo, Eberhard,

    die Fehlerbehandlung habe ich herausgenommen und konnte die Ursache beheben: Ich hatte die Datenpool-Tabelle in tblDatenpool_ umbenannt *redface ... nun funktioniert es.

    Bzw. auch nicht.

    Denn wenn nun das CREATE TABLE-SQL-Statement ausgeführt werden soll, meldet Access, das die Tabelle tblDatenpool bereits besteht.

    Code:
    dbFailOnError gibt dabei den Wert 128 zurück.

    Gruß, Daniel
     
    RookieOne, 1. September 2014
    #4
  5. Wenn Du zuvor die richtige Tabelle gelöscht hast, musst Du vielleicht noch die Tabellenauflistung aktualisieren.
    Code:
     
  6. Hallo,

    wozu das (ständige) Neuanlegen der Tabelle? Das sollte eine einmalige Aktion sein. Wenn sie existiert kannst du die alten Datensätze löschen vor dem Einfügen der neuen.

    Des weiteren sollte es genügen, das Vorhandensein der ldb-Datei einmal zu prüfen. Wenn sie nicht existiert ist sie nicht vorhanden, es genügt also ein einfaches ELSE.
     
    Anne Berg, 1. September 2014
    #6
  7. Hallo, Eberhard,

    Code:
    brachte keine Änderung. Access haut mich im inneren ELSE IF-Abschnitt beim CREATE TABLE wieder heraus.

    Anbei noch einmal der Code, diesmal mit Smart Indenter eingerückt und nach deinen Empfehlungen umgestellt:

    Code:
     
    RookieOne, 2. September 2014
    #7
  8. Laufzeitfehler #3265 unter Access 2013

    Vielleicht wäre erst einmal zu ermitteln, wo denn die Tabelle liegt. Im Frontend?

    Bei Deinem ursprünglichen Verfahren (erst indizieren, dann füllen) wäre es gleichwertig, wenn statt Löschen der Tabelle und Neuanlegen schlicht die Tabelle geleert wird (Löschabfrage). Abläufe drumherum sind also nicht ganz uninteressant.
     
  9. Hallo, Eberhard,

    ja, die Tabelle tblDatenpool liegt im Frontend. Das ist in der accdb auch die einzige lokale Tabelle. Alle übrigen Tabellen liegen im Frontend als Verknüpfung vor.

    Ein DELETE auf die Tabelle? Das probiere ich mal aus und gebe an dieser Stelle Auskunft.

    Gruß, Daniel
     
    RookieOne, 2. September 2014
    #9
  10. Hallo zusammen,

    ich denke, ich habe die Lösung gefunden. Ich habe den Code Schritt für Schritt durchlaufen.

    Sobald der Code an die Stelle

    Code:
    kommt, wird das folgende Modul angesprochen:

    Code:
    Hier lieferte RS.RecordCount immer einen Laufzeitfehler #13 wg. Typunverträglichkeit.

    Ich habe daraufhin hier im MOF gesucht und habe die Dimensionierung von db bzw. RS angepasst:

    Code:
    Zuvor hatte ich hier nur

    Code:
    stehen.

    Mit dem Bezug auf die DAO-Varianten funktioniert nun alles :-)

    Gruß, Daniel
     
    RookieOne, 4. September 2014
    #10
  11. Von einer Funktion, die TableExists heißt, würde ich erwarten, dass sie nur auf Existenz der Tabelle prüft.

    Der Ansatz, eine Tabelle existiert nur, wenn sie Datensätze enthält, ist dagegen systematisch falsch, das Laden einer ganzen Tabelle (womöglich sehr groß) in ein Recordset dabei zumindest ungeschickt.

    Code:
    Hier wird einfach in der Tabellenauflistung nachgesehen, ob es die angegebene Tabelle gibt.
     
  12. \@Eberhard: dein Einwand "Der Ansatz, eine Tabelle existiert nur, wenn sie Datensätze enthält, ist dagegen systematisch falsch" passt nicht ganz, denn:
    Code:
    prüft ja quasi nur, ob RecordCount funktioniert, danach wird im weiteren Verlauf True ausgespuckt. False wird ja nur im Fehlerfall ausgegeben.
     
    Arne Dieckmann, 4. September 2014
    #12
  13. Laufzeitfehler #3265 unter Access 2013

    Danke. Da wird der systematische Fehler zurückgenommen.
     
Thema:

Laufzeitfehler #3265 unter Access 2013

Die Seite wird geladen...
  1. Laufzeitfehler #3265 unter Access 2013 - Similar Threads - Laufzeitfehler #3265 Access

  2. Sql-Abfrage, Laufzeitfehler 3075, Syntaxfehler (fehlender Operator)

    in Microsoft Access Hilfe
    Sql-Abfrage, Laufzeitfehler 3075, Syntaxfehler (fehlender Operator): Hallo an alle, ich habe folgendes Problem. In meiner Datenbank habe ich mehrere Tabellen, unter anderem die Tabelle Teile_allgemein und Faktura. Mit meinem Abfrageformular funktioniert folgender...
  3. Bei Prüfung einer Anmeldefunktion erhalte ich Laufzeitfehler 3075

    in Microsoft Access Hilfe
    Bei Prüfung einer Anmeldefunktion erhalte ich Laufzeitfehler 3075: Halo, ich will über eine Funktion abbrühen ob die Kombination aus Benutzername und verschlüsseltes Kennwort in einer Tabelle steht. Irgendwas habe ich falsch Gesetz, da mir der Laufzeitfehler...
  4. VBA:Laufzeitfehler beim Einlesen in Variable

    in Microsoft Excel Hilfe
    VBA:Laufzeitfehler beim Einlesen in Variable: Hallo Excel Freaks, ich habe eine Frage, ein Problem wo ich nicht mehr weiter weis.... In eine Exceldatei kopiere ich mir über Makro auf ein Tabellenblatt von anderen Exceldateien das...
  5. Datenbank bleibt gesperrt - laccdb wird nicht gelöscht

    in Microsoft Access Hilfe
    Datenbank bleibt gesperrt - laccdb wird nicht gelöscht: Hallo zusammen, ich betreue eine Datenbank mit getrenntem Back- und Frontend, die in einem Firmennetzwerk auf dem Netzlaufwerk liegt. Ich entwickle sie lokal weiter, ohne vor Ort zu sein, wobei...
  6. Access Laufzeitfehler 3048

    in Microsoft Access Hilfe
    Access Laufzeitfehler 3048: Bevor ihr Euren Code durchrackert, weil Access plötzlich Probleme macht: Die Version 2408 (Build 17928.20114) dürfte ein wenig misslungen sein! Access bleibt nach dem Schließen im Taskmanager...
  7. Laufzeitfehler 3265

    in Microsoft Access Hilfe
    Laufzeitfehler 3265: Hallo, ich hätte da mal ein Problemchen, welches mich schon ein paar Tage aufhält... Und ja, ich habe die Suchfunktion schon benutzt, bin aber nicht fündig geworden. Hier mal Code: Public...
  8. Arbeit mit Recordset: Laufzeitfehler 3265

    in Microsoft Access Hilfe
    Arbeit mit Recordset: Laufzeitfehler 3265: Hallo (oder auch Mahlzeit) zusammen, aktuell arbeite ich mit RecordSets. Bei diesen will ich den Namen, bzw. die Nummer (Position) des RS per Variable überweisen. Hierfür nutze ich folgende...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden