Felmeddelande när du använder specialtecken i Access-databaser
Den här artikeln innehåller de specialtecken du ska undvika när du arbetar med databasens objektnamn eller fältnamnen i alla versioner av Access.
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: 826763
Anteckning
Den här artikeln gäller antingen en Microsoft Access-databasfil (.mdb) eller en Microsoft Access-databasfil (.accdb) och en Microsoft Access-projektfil (.adp).
Symptom
När du använder specialtecken i Access uppstår något av följande problem.
Problem 1
Du använder något av följande specialtecken i namnet på ett tabellfält:
- Accent grav (')
- Utropstecken (!)
- Punkt (.)
- hakparentes([])
- Inledande blanksteg
- Icke utskrivbara tecken
I så fall får du följande felmeddelande:
Fältnamnet är inte giltigt.
Kontrollera att namnet inte innehåller en punkt(.), utropstecken(!), hakparentes([]), inledande blanksteg eller icke utskrivbara tecken, till exempel en vagnretur. Om du har klistrat in namnet från ett annat program trycker du på Esc och skriver namnet igen.
Om du använder dessa specialtecken i ett tabellnamn får du följande felmeddelande:
Objektnamnet 'TableName' you entered doesn't follow Microsoft Office Access object-naming rules.
Problem 2
Du skapar ett frågeuttryck. Frågeuttrycket innehåller fält som innehåller specialtecken. Beroende på vilka specialtecken som visas visas något av följande felmeddelanden:
Om fältnamnet innehåller ett blanksteg, ett frågetecken (?) eller ett at-tecken (@) får du följande felmeddelande:
Det uttryck som du angav innehåller ogiltig syntax.
Du kanske har angett en operand utan operatorOm fältnamnet innehåller ett citattecken(") eller en apostrof(') får du följande felmeddelande:
Uttrycket som du angav har en ogiltig sträng.
En sträng kan vara upp till 2 048 tecken lång, inklusive inledande och avslutande citattecken.Om fältnamnet innehåller ett nummertecken (#) får du följande felmeddelande:
Uttrycket du angav har ett ogiltigt datumvärde.
Om fältnamnet innehåller ett procenttecken (%) ett tilde (~), ett semikolon (;) eller en hakparentes ([]) får du följande felmeddelande:
Det uttryck som du angav innehåller ogiltig syntax.
Du har utelämnat en operand eller operator, angett ett ogiltigt tecken eller komma eller angett text utan att omge den med citattecken.Om fältnamnet innehåller en kparentes ( {} ) får du följande felmeddelande:
Malformat GUID i frågeuttryck 'ObjectName'
Om fältnamnet innehåller en hakparentes ([]) eller parentes (()) får du följande felmeddelande:
Uttrycket du angav saknar en avslutande parentes, hakparentes (]) eller ett lodrätt fält(|).
Problem 3
Du har en fråga som innehåller frågeuttryck. Frågeuttrycken innehåller fält som innehåller specialtecken. När du kör frågan framhävs du och anger ett parametervärde. Vanligtvis inträffar det här problemet när du använder följande specialtecken:
- Större än-tecken (>)
- Mindre än-tecken (<)
- Punkt (.)
- Asterisk (*)
- Kolon (:)
- Caret (^)
- Plustecken (+)
- Omstreck ( \ )
- Likhetstecken (=)
- Et-&
- Snedstreck (/)
Lösning
Använd inte specialtecken för att komma runt det här problemet. Om du måste använda specialtecken i frågeuttryck ska du omsluta specialtecknaderna med hakparenteser ([]). Om du till exempel vill använda tecknet större än (>) använder du [>].
Mer information
I Microsoft Access begränsas inte användningen av specialtecken som nummertecken (#), punkt (.) eller citattecken (") i databasens objektnamn eller i databasens fältnamn. Men om du använder specialtecken kan du uppleva oväntade fel. Därför rekommenderar Microsoft att du inte använder specialtecken i databasens objektnamn i Access-databasen eller i databasprojektet. I den här artikeln beskrivs de specialtecken du måste undvika på grund av kända problem med dessa specialtecken.
När du arbetar med Access eller något annat program, till exempel ett Microsoft Visual Basic-program eller ett ASP-program (Active Server Pages) måste du undvika följande specialtecken:
| Namn | Symbol |
|---|---|
| Blanksteg | |
| Apostrof | ' |
| Citattecken | " |
| Apostrof | ' |
| Vid tecken | @ |
| Grav accent | ` |
| Nummertecken | # |
| Procent | % |
| Större än-tecken | > |
| Mindre än-tecken | < |
| Utropstecken | ! |
| Punkt | . |
| Hakparenteser | [ ] |
| Asterisk | * |
| Dollartecken | $ |
| Semikolon | ; |
| Kolon | : |
| Frågetecken | ? |
| Caret | ^ |
| Kparenteser | { } |
| Plustecken | + |
| Bindestreck | - |
| Likhetstecken | = |
| Tilde | ~ |
| Omstreck | | |
Komma åt namnkonventioner
Microsoft rekommenderar att du inte använder punkt (.), ett utropstecken (!), en grav accent ('), en hakparentes ([ ]), ett blanksteg ( ) eller ett citattecken (") i funktionernas namn, namnen på variabler, fältnamnen eller namnen på databasobjekt, till exempel tabeller och formulär.
Det finns kända problem som kan uppstå om du använder följande specialtecken i Access. Följande scenarier beskriver när du inte får använda specialtecken:
- När du exporterar databasobjekt till andra filformat, till exempel ett Microsoft Excel-filformat, ett HTML-filformat eller ett textfilformat, ska du inte använda ett nummertecken (#) eller en punkt (.) i databasens objektnamn eller i fältnamnen.
- När du använder hyperlänkar i Access lagras hyperlänkarna som modifierade PM-fält med ett nummertecken (#) som en avgränsare. Därför anses nummertecknet vara ett reserverat ord i Access. Använd inte nummertecknet när du skapar hyperlänkar.
- När du importerar en textfil till Access och den textfilen innehåller tabbar eller andra specialtecken konverteras specialt tecknen och specialt tecknen visas sedan som rutor. Därför får du oväntade felmeddelanden när du försöker använda den importerade tabellen. Du får inte använda specialtecken i källtabellen när du importerar till Access.
- När du använder ASP-formulär för att lägga till eller ändra data i en Access-databas får du inte använda procenttecken (%), ett plustecken (+) eller en caret (^) i formuläret. Specialtiseringarna kanske inte kan översättas på rätt sätt i Access-databasen.
- När du använder språk med fullständig bredd ska du inte använda helbreddstecken i namnet på databasobjekten eller i namnet på kontroller. Du får till exempel inte använda parenteser med fullständig bredd när du använder språk med fullständig bredd Det kan orsaka kompileringsfel om det finns kod i en händelseprocedur för objektet eller för kontrollen.