Felmeddelande när du använder specialtecken i Access-databaser
I den här artikeln listas de specialtecken som du bör undvika när du arbetar med databasobjektnamnen eller fältnamnen i alla versioner av Access.
Original-KB-nummer: 826763
Obs!
Den här artikeln gäller för antingen en Microsoft Access-databasfil (.mdb) eller för en Microsoft Access-databasfil (.accdb) och för en Microsoft Access-projektfil (.adp).
Symptom
När du använder specialtecken i Access får du något av följande problem.
Problem 1
Du använder något av följande specialtecken i namnet på ett tabellfält:
- Accenttecken (´)
- Utropstecken (!)
- Punkt (.)
- Hakparenteser ([])
- Inledande blanksteg
- Tecken som inte kan skrivas ut
I detta fall får du följande felmeddelande:
Fältnamnet är inte giltigt.
Kontrollera att namnet inte innehåller punkt(.), utropstecken(!), hakparentes([]), inledande blanksteg eller tecken som inte kan skrivas ut, till exempel en vagnretur. Om du har klistrat in namnet från ett annat program kan du försöka trycka på ESC och skriva namnet igen.
Om du använder dessa specialtecken i ett tabellnamn får du följande felmeddelande:
Objektnamnet "Tabellnamn" som du angav följer inte Microsoft Office namngivningsregler för Access-objekt.
Problem 2
Du skapar ett frågeuttryck. Frågeuttrycket innehåller fält som innehåller specialtecken. Beroende på de specifika specialtecknen får du något av följande felmeddelanden:
Om fältnamnet innehåller ett blanksteg, ett frågetecken (?) eller ett snabel-a-tecken (@) får du följande felmeddelande:
Uttrycket som du angav innehåller ogiltig syntax.
Du kan ha 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 som 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:
Uttrycket som du angav innehåller ogiltig syntax.
Du utelämnade en operand eller operator, du angav ett ogiltigt tecken eller kommatecken, eller så angav du text utan att omge den med citattecken.Om fältnamnet innehåller en klammerparentes ({}) får du följande felmeddelande:
Felaktigt GUID i frågeuttrycket "Objektnamn"
Om fältnamnet innehåller en hakparentes ([]) eller parentes (()) får du följande felmeddelande:
Uttrycket du angav saknar en avslutande parentes, hakparentes (]) eller lodrät stapel (|).
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 uppmanas du att ange ett parametervärde. Det här problemet uppstår vanligtvis när du använder följande specialtecken:
- Större än tecken (>)
- Mindre än tecken (<)
- Punkt (.)
- Asterisk (*)
- Kolon (:)
- Cirkumflex (^)
- Plustecken (+)
- Omvänt snedstreck (\)
- Likhetstecken (=)
- Et-tecken (&)
- Snedstreck (/)
Lösning
Använd inte specialtecken för att undvika det här problemet. Om du måste använda specialtecken i frågeuttryck omger du dem med hakparenteser ([]). Om du till exempel vill använda större än -tecknet (>) använder du [>].
Mer information
Microsoft Access begränsar inte användningen av specialtecken som ett taltecken (#), en punkt (.) eller ett citattecken (") i databasobjektnamnen eller i databasfältnamnen. Men om du använder specialtecken kan det uppstå oväntade fel. Därför rekommenderar Microsoft att du inte använder specialtecken i databasobjektnamnen i Access-databasen eller i databasprojektet. I den här artikeln beskrivs de specialtecken som du måste undvika på grund av kända problem med dessa.
När du arbetar med Access eller med 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 | ' |
Snabel-a | @ |
Accenttecken | ` |
Nummertecken | # |
Procent | % |
Större än-tecken | > |
Mindre än-tecken | < |
Utropstecken | ! |
Punkt | . |
Hakparentes | [ ] |
Asterisk | * |
Dollartecken | $ |
Semikolon | ; |
Kolon | : |
Frågetecken | ? |
Cirkumflex | ^ |
Klammerparenteser | { } |
Plustecken | + |
Bindestreck | - |
Likhetstecken | = |
Tilde | ~ |
Omvänt snedstreck | | |
Åtkomst till namngivningskonventioner
Microsoft rekommenderar att du inte använder en punkt (.), ett utropstecken (!), ett accenttecken (´), en hakparentes ([ ]), ett blanksteg ( ) eller ett citattecken (") inuti namnen på funktioner, namnen på variabler, namnen på fälten eller namnen på databasobjekt som tabeller och formulär.
Det finns kända problem som uppstår 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 databasobjekten 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 databasobjektnamnen eller i fältnamnen.
- När du använder hyperlänkar i Access lagras hyperlänkarna som ändrade PM-fält med ett nummertecken (#) som avgränsare. Därför betraktas nummertecknet som ett reserverat ord i Access. Använd inte nummertecknet när du skapar hyperlänkar.
- När du importerar en textfil till Access och textfilen innehåller flikar eller andra specialtecken konverteras de och visas sedan som rutor. När du försöker använda den importerade tabellen får du därför oväntade fel. 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 ett procenttecken (%), ett plustecken (+) eller en cirkumflex (^) i formuläret. Dessa specialtecken kanske inte översätts korrekt i Access-databasen.
- När du använder språk med full bredd ska du inte använda tecken med full bredd i namnet på databasobjekt eller i namnet på kontrollerna. Du får till exempel inte använda parenteser med full bredd när du använder språk med full bredd. Detta kan orsaka kompileringsfel om det finns kod i en händelseprocedur för objektet eller för kontrollen.