Access Laufzeitfehler 3823

Diskutiere und helfe bei Access Laufzeitfehler 3823 im Bereich Microsoft Office im Windows Info bei einer Lösung; Hallo,auf meinem W11-64Bit-Rechner erhalte ich im Rahmen der 64 Bit-Office-Version im Access beim Durchlauf eines SQL-Statements mit ge-join-ten... Dieses Thema im Forum "Microsoft Office" wurde erstellt von Dr. Rolf Heller, 20. September 2022.

  1. Access Laufzeitfehler 3823


    Hallo,auf meinem W11-64Bit-Rechner erhalte ich im Rahmen der 64 Bit-Office-Version im Access beim Durchlauf eines SQL-Statements mit ge-join-ten EXCEL-Daten folgende Fehlermeldung:Laufzeitfehler 3823':Sie können das Feld nicht bearbeiten, da es sich in einer verknüpften Excel-Kalkulationstabelle befindet. In dieser Access-Version wurde das Bearbeiten von Daten in einer verknüpften Excel-Kalkulationstabelle deaktiviert.Ich würde eine schnelle SQL-Updatemöglichkeit einer Access-Tabelle durch passende Inhalte einer EXCEL-Tabelle anderen Möglichkeiten vorziehen.Was kann ich machen, eine passende A
     
  2. Dr. Rolf Heller Win User

    Access Laufzeitfehler 3823

    Das erzeugte SQL-Statement lautet:
    <br />UPDATE tbl_Kunde T1 INNER JOIN (SELECT K_Nr, Uber FROM [Excel 12.0;HDR=Yes;Database=C:\OneDrive\Dokumente\Test.xlsx].[Tabelle1$A1:B3]) T2 ON T2.K_Nr = T1.K_ID SET T1.K_Du = T2.Uber;
    <br />in folgende VBA-Umgebung:
    <br />Public Sub ImportFromWorksheet()
    <br /> Dim strFile As String, strCon As String, strMsg As String
    <br />
    <br /> Dim ws As Worksheet
    <br /> Dim wb As Workbook
    <br />
    <br /> Dim objExcel As Excel.Application
    <br /> Set objExcel = New Excel.Application
    <br /> objExcel.Visible = True
    <br /> objExcel.Workbooks.Open "C:\OneDrive\Dokumente\Test.xlsx", ReadOnly:=True
    <br /> objExcel.ActiveWorkbook.Sheets(1).Select
    <br /> Set sht = ActiveSheet
    <br /> Dim rng As String
    <br />
    <br /> Dim dbs As Database
    <br /> Set dbs = CurrentDb
    <br />
    <br /> strFile = "C:\OneDrive\Dokumente\Test.xlsx"
    <br /> strCon = "Excel 12.0;HDR=Yes;Database=" & strFile
    <br />
    <br /> Dim strSql As String, sqlTransferFromExcel As String
    <br />
    <br /> rng = "A1:B3"
    <br />
    <br /> sqlTransferFromExcel = "UPDATE tbl_Kunde T1 " & _
    <br /> "INNER JOIN (SELECT K_Nr, Uber FROM [{{connString}}].[{{sheetName}}${{rng}}]) T2 " & _
    <br /> "ON T2.K_Nr = T1.K_ID " & _
    <br /> "SET " & _
    <br /> "T1.K_Du = T2.Uber;"
    <br />
    <br /> sqlTransferFromExcel = Replace(sqlTransferFromExcel, "{{rng}}", rng)
    <br /> sqlTransferFromExcel = Replace(sqlTransferFromExcel, "{{connString}}", strCon)
    <br /> sqlTransferFromExcel = Replace(sqlTransferFromExcel, "{{sheetName}}", sht.Name)
    <br />
    <br /> dbs.Execute sqlTransferFromExcel
    <br />
    <br /> objExcel.Workbooks.Close
    <br /> objExcel.Quit
    <br /> Set objExcel = Nothing
    <br />
    <br />End Sub
    <br />
  3. Karl Donaubauer Win User

    Access Laufzeitfehler 3823

    Hallo!
    <br />Dass man verknüpfte Excel-Tabellen nicht editieren kann, ist seit 20 Jahren so, also schon ein paar Versionen her. Seit damals gibt es einen Workaround, den ich FAQ 7.21 beschreibe. Werde nur gleich mal den nicht mehr aktuellen KB-Link dort ändern.
    <br />Servus
    <br />Karl
    <br />
  4. Karl Donaubauer Win User

    Access Laufzeitfehler 3823

    Hallo!
    <br />Was seit langem gesperrt ist, ist an sich nur die Aktualisierbarkeit gelinkter Excel-Tabellen. Wenn hingegen die beteiligte Access-Tabelle nicht aktualisierbar ist, die Meldung aber Bezug auf die Excel-Tabelle nimmt, dann liegt es vielleicht an der Formulierung der Abfrage, sprich am SQL-Statement. Ohne das gesehen zu haben, kann man dazu nicht viel sagen.
    <br />Servus
    <br />Karl
    <br />
  5. Dr. Rolf Heller Win User

    Access Laufzeitfehler 3823

    Die Statements
    <br />UPDATE tbl_Kunde T1 INNER JOIN (SELECT K_Nr, Uber FROM [Excel 12.0;HDR=Yes;Database=C:\Users\Heller\Test.xlsx].[Tabelle1$A1:B3]) T2 ON T2.K_Nr = T1.K_ID SET T1.K_Du = T2.Uber;
    <br />oder auch
    <br />UPDATE tbl_Kunde AS T1 INNER JOIN [Excel 12.0;HDR=Yes;Database=C:\Users\Heller\Test.xlsx].[Tabelle1$A1:B3] AS T2 ON T2.K_Nr = T1.K_ID SET T1.K_Du = T2.Uber;
    <br />bringen im sql-Ausführen-Mode in ACCESS ausgeführt ebenfalls die Meldung "Sie können das Feld nicht bearbeiten ..." "verknüpfte EXCEL-Kalkulationstabelle ..."
    <br />Ersetzt man hingegen
    <br />[Excel 12.0;HDR=Yes;Database=C:\Users\Heller\Test.xlsx].[Tabelle1$A1:B3]
    <br />durch eine definitionsgleiche und inhaltsgleiche Access-Tabelle laufen die Statements
    <br />UPDATE tbl_Kunde T1 INNER JOIN (SELECT K_Nr, Uber FROM tbl_Test) T2 ON T2.K_Nr = T1.K_ID SET T1.K_Du = T2.Uber;
    <br />oder
    <br />UPDATE tbl_Kunde AS T1 INNER JOIN tbl_Test AS T2 ON T2.K_Nr = T1.K_ID SET T1.K_Du = T2.Uber;
    <br />problemlos durch und updaten die richtigen Zeilen.
    <br />Ich begrabe den Traum.
    <br />Danke für die Hilfestellung.
    <br />
  6. Karl Donaubauer Win User

    Access Laufzeitfehler 3823

    Hallo!
    <br />Wenn ich den Code richtig lese, ist das ganze Excel-Automatisieren darin überflüssig. Das würde ich auch weglassen, weil es höchstens zu unnötigen Sperrungen führen kann.
    <br />Fragen:
    <br />1. Wie lautete das SQL-Statement, das ursprünglich den Fehler 3823 verursacht hat?
    <br />Und gab es den Fehler auch mit dem SQL-Statement als Abfrage, also außerhalb des Codes?
    <br />Die Frage bezieht sich darauf, dass ich in mehreren Access-Versionen problemlos eine Aktualisierungsabfrage auf eine Access-Tabelle ausführen kann, auch wenn eine eingebundene Excel-Tabelle in der Abfrage drin ist.
    <br />2. Ich grüble etwas über:
    <br />> Lässt sich die Excel-Umgebung so definieren, dass sich eine Bearbeitung in Excel ausschließen lässt und sich das SQL-Statement doch ausführen lässt?
    <br />Ich vermute, das bedeutet, dass der Fehler 3823 auch noch mit dem zuletzt hier geposteten Code passiert, also der aktualisierbaren Excel-Verwendung.
    <br />Wenn dem so ist, dann wie geschrieben:
    <br />Die Aktualisierbarkeit der Excel-Tabelle bringt hier wahrscheinlich eh nix. Das sollte auch mit einer eingebundenen Excel-Tabelle klappen. Aber ich würde das (ursprüngliche und neue) SQL-Statement erst mal in eine neue Abfrage kopieren und somit außerhalb des Codes und im reinen Access-Kontext testen.
    <br />Servus
    <br />Karl
    <br />
  7. User Advert


    Hi,

    willkommen im Windows Forum!
Thema:

Access Laufzeitfehler 3823 - Microsoft Office

Die Seite wird geladen...

Access Laufzeitfehler 3823 - Similar Threads - Access Laufzeitfehler 3823

Forum Datum

Laufzeitfehler 438

Laufzeitfehler 438: Hi,Ich habe ein Problem mit Office 2019, speziell mit Outlook. Ich habe einen vba-code geschrieben in Excel, der die Empfänger von outlook-Emails ausliest obj.to. Ich bekomme bei manchen Emails...
Outlook.com 2. Januar 2022

Laufzeitfehler 438

Laufzeitfehler 438: Hi,Ich habe ein Problem mit Office 2019, speziell mit Outlook. Ich habe einen vba-code geschrieben in Excel, der die Empfänger von outlook-Emails ausliest obj.to. Ich bekomme bei manchen Emails...
Microsoft Office 2. Januar 2022

laufzeitfehler 50290

laufzeitfehler 50290: Hallöchen Ab und zu erscheint die Fehlermeldung Laufzeitfehler '50290' Die Methode 'Activate' für das Objekt '_workbook' ist fehlgeschlagen bei der Ausführung von...
Microsoft Office 2. Januar 2020

Laufzeitfehler 438

Laufzeitfehler 438: Hallo zusammen Ich habe eine Arbeitsmappe mit mehreren Arbeitsblättern. Die einzelnen Blätter sind Geschützt. Um die Gruppierungen anzuzeigen, habe ich folgenden Makro verwendet: Sub...
Microsoft Office 12. November 2017

Access Formular, Laufzeitfehler 3009

Access Formular, Laufzeitfehler 3009: Hallo liebe Community, ich erstelle ein Formular namens frmKunde welches sich die Daten aus qryFrmKunde holt. Darin gibt es zwei Unterformulare: sfrmStaff welches sich die Daten aus qryStaff...
Microsoft Office 15. Juni 2017

Laufzeitfehler ´28´:

Laufzeitfehler ´28´:: Hallo, ich habe eine Excel Tabelle von der Arbeit die dort ohne Probleme läuft, ich habe mir die Datei jetzt mit nach hause genommen, da ich dort noch weiter dran Arbeiten wollte. Jetzt...
Microsoft Office 19. Februar 2017

laufzeitfehler 3709

laufzeitfehler 3709: hallo Community Mein Programm spinnt auf einmal bei ".Update" rsj.Edit rsj.Fields("Parkplsum") = 0 rsj.Fields("pachtfläche") = 0 rsj.Fields("Pacht") = 0 rsj.Fields("Stadtverbandsbeiträge") = 0...
Microsoft Office 18. Januar 2017
Access Laufzeitfehler 3823 solved
  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.