'Runtimefout '3709' wanneer u een grote hoeveelheid tekst invoert in een memoveld dat een index bevat in Access
Gemiddeld: vereist basisvaardigheden voor macro's, codering en interoperabiliteit.
Dit artikel is van toepassing op een Microsoft Access-databasebestand (.mdb) of op een Microsoft Access-databasebestand (.accdb).
Symptomen
Wanneer u in een Microsoft Access-database een memoveld maakt dat een index bevat of als u een veldnaam maakt die de automatisch geïndexeerde tekst bevat, kunt u de tekst die meer dan ongeveer 3450 tekens bevat, niet invoeren in het veld. Wanneer u meer tekst in het veld probeert in te voeren of de bestaande gegevens probeert te bewerken, wordt het volgende foutbericht weergegeven:
Run-time error '3709':
The search key not found in any record.
Oplossing
Als u een grote hoeveelheid tekst moet invoeren in het veld Memo, verwijdert u de index voor het veld Memo. Voer hiervoor de volgende stappen uit:
Open de tabel met het veld Memo in de ontwerpweergave.
Klik in het menu Beeld op Indexen.
Opmerking Klik in Microsoft Office Access 2007 op het tabblad Ontwerpen en klik vervolgens op Indexen in de groep Weergeven/verbergen .
Klik op de index voor het veld Memo en verwijder deze.
Status
Microsoft heeft bevestigd dat dit een probleem is in de Microsoft-producten die aan het begin van dit artikel worden vermeld.
Meer informatie
Dit gedrag treedt niet op in versies van Microsoft Access vóór Microsoft Access 2000, omdat memovelden niet konden worden geïndexeerd in Jet 3.5 en eerder.
Stappen voor het reproduceren van het gedrag in Access 2003
Maak in een nieuwe database een nieuwe tabel met de volgende eigenschappen en sla deze op als Tabel1:
Table: Table1 ------------------------ Field Name: Id Data Type: AutoNumber Primary Key Field Name: MyCode Data Type: Memo
Voeg de volgende record toe aan de tabel Tabel1:
Id MyCode ------------------------------------ 1 This is the Memo test data
Kopieer de volgende SQL-instructie, plak deze in een nieuwe query in de SQL-weergave en sla de query op als query1:
UPDATE Table1 SET Table1.MyCode = [MyCode] & " " " & [MyCode];
Maak de volgende module en sla deze op Module1:
Sub TestMemoUpdate() Dim i As Integer Docmd.setwarnings false For i = 1 To 10 Docmd.openquery "Query1" Next i Docmd.setwarnings true End Sub
Plaats de aanwijzer zo dat deze zich in de procedure bevindt. Druk op F5 om de code uit te voeren.
Feedback
https://aka.ms/ContentUserFeedback.
Binnenkort beschikbaar: In de loop van 2024 zullen we GitHub-problemen geleidelijk uitfaseren als het feedbackmechanisme voor inhoud en deze vervangen door een nieuw feedbacksysteem. Zie voor meer informatie:Feedback verzenden en weergeven voor