Felet "Fältet är för litet för att acceptera mängden data som du försökte lägga till" när du kör en fråga
Anteckning
Office 365 ProPlus byter namn till Microsoft 365-appar för företag. Mer information om den här ändringen finns i det här blogginlägget.
Ursprungligt KB-nummer: 896950
Symptom
I Microsoft Office Access kan du skapa en fråga som har frågeegenskapen inställd på Ja, och frågan kan UniqueValues innehålla ett PM-fält. När du kör frågan kan du få följande felmeddelande:
Fältet är för litet för att acceptera mängden data som du försökte lägga till. Prova att infoga eller klistra in mindre data.
Dessutom kan frågan köras utan ett felmeddelande. Men de data som returneras i PM-fältet trunkeras till 255 tecken.
Orsak
Det här problemet uppstår eftersom när du ställer in frågeegenskapen på Ja läggs ett DISTINCT-nyckelord till i UniqueValues den resulterande SQL-instruktionen. Nyckelordet DISTINCT säger till Access att utföra en jämförelse mellan poster. När access utför en jämförelse mellan två PM-fält behandlas fälten som textfält med en gräns på 255 tecken i Access. Ibland genererar PM-fältdata som är större än 255 tecken felmeddelandet som nämns i avsnittet "Symptom". Ibland returneras endast 255 tecken från PM-fältet.
Lösning
Du kan komma runt det här problemet genom att ändra den ursprungliga frågan genom att ta bort PM-fältet. Skapa sedan en andra fråga som baseras på både tabellen och den ursprungliga frågan. Den nya frågan använder alla fält från den ursprungliga frågan och den nya frågan använder fältet PM från tabellen. När du kör den andra frågan körs den första frågan. Sedan används dessa data för att köra den andra frågan. Det här beteendet returnerar PM-fältdata baserat på returnerade data i den första frågan. Följ instruktionerna nedan.
Access 2007
Kopiera den ursprungliga frågan och ge den här kopian namnetBackup Copy OriginalName.
Högerklicka på den ursprungliga frågan och klicka sedan på Designvy.
Klicka på kolumnen som innehåller PM-fältet och sedan på Ta bort kolumner i gruppen Frågeinställningar på fliken Design.
Spara frågan.
Klicka på Frågedesign i gruppen Övrigt på fliken Skapa.
Klicka på fliken Båda.
Klicka på den ursprungliga frågan och sedan på Lägg till.
Klicka på tabellen som den ursprungliga frågan baseras på och klicka sedan på Lägg till.
Klicka på Stäng.
Lägg till fälten från den ursprungliga frågan och lägg sedan till PM-fältet från tabellen.
Skapa en länk mellan tabellen och frågan genom att använda rätt fält.
Om du vill ha mer information om hur du använder kopplingar i Microsoft Query klickar du på följande artikelnummer för att visa artikeln i Microsoft Knowledge Base:
136699 Beskrivning av användningen av kopplingar i Microsoft Query
Spara frågan.
Klicka på Kör i gruppen Resultat på fliken Design.
Frågan ska köras som förväntat och PM-fältet trunkeras inte.
Access 2003, Access 2002 och Access 2000
Kopiera den ursprungliga frågan och ge den här kopian namnetBackup Copy OriginalName.
Klicka på den ursprungliga frågan och sedan på Design i verktygsfältet Databas.
Klicka på kolumnen som innehåller PM-fältet och klicka sedan på Ta bort på Redigera-menyn.
Spara frågan.
Dubbelklicka på Skapa fråga i designvyn.
Klicka på fliken Båda.
Klicka på den ursprungliga frågan och sedan på Lägg till.
Klicka på tabellen som den ursprungliga frågan baseras på och klicka sedan på Lägg till.
Klicka på Stäng.
Lägg till fälten från den ursprungliga frågan och lägg sedan till PM-fältet från tabellen.
Skapa en länk mellan tabellen och frågan.
Om du vill ha mer information om hur du skapar en länk klickar du på följande artikelnummer för att visa artikeln i Microsoft Knowledge Base:
136699 Beskrivning av användningen av kopplingar i Microsoft Query
Spara frågan.
Klicka på Kör på Menyn Fråga.
Frågan ska köras som förväntat och PM-fältet trunkeras inte.
Status
Microsoft har bekräftat att det är ett problem i de Microsoft-produkter som listas i avsnittet "Gäller för".