Jaa


Virhesanoma käytettäessä erikoismerkkejä Access-tietokannoissa

Tässä artikkelissa luetellaan erikoismerkit, joita ei tulisi käyttää käsiteltäessä tietokantaobjektien nimiä tai kenttien nimiä kaikissa Accessin versioissa.

Alkuperäinen KT numero: 826763

Huomautus

Tämä artikkeli koskee Microsoft Access -tietokantatiedostoa (.mdb), Microsoft Access -tietokantatiedostoa (.accdb) tai Microsoft Access -projektitiedostoa (.adp).

Oireet

Kun käytät erikoismerkkejä Accessissa, kohtaat jonkin seuraavista ongelmista.

Ongelma 1

Taulukkokentän nimessä käytetään jotain seuraavista erikoismerkeistä:

  • Heittomerkki (')
  • Huutomerkki (!)
  • Piste (.)
  • hakasulje([])
  • Edeltävä välilyönti
  • Tulostumattomat merkit

Tässä tilanteessa näyttöön tulee seuraava virhesanoma:

Kentän nimi ei kelpaa.
Varmista, että nimessä ei ole pistemerkkiä (.), huutomerkkiä(!), hakasuljetta ([]), edeltävää välilyöntiä tai tulostumatonta merkkiä, kuten rivinvaihtoa. Jos olet liittänyt nimen toisesta sovelluksesta, paina ESC-näppäintä ja kirjoita nimi uudelleen.

Jos käytät näitä erikoismerkkejä taulukon nimessä, näyttöön tulee seuraava virhesanoma:

Antamasi objektin nimi TableName ei ole Microsoft Office Accessin objektien nimeämissääntöjen mukainen.

Ongelma 2

Voit luoda kyselylausekkeen. Kyselylauseke sisältää erikoismerkkejä sisältäviä kenttiä. Saat jonkin seuraavista virhesanomista erikoismerkkien mukaan:

  • Jos kentän nimessä on välilyöntimerkki, kysymysmerkki (?) tai at-merkki (@), näyttöön tulee seuraava virhesanoma:

    Lausekkeen syntaksi ei kelpaa.
    Olet ehkä syöttänyt operandin ilman operaattoria

  • Jos kentän nimi sisältää lainausmerkin(") tai heittomerkin('), näyttöön tulee seuraava virhesanoma:

    Kirjoittamasi lauseke sisältää virheellisen merkkijonon.
    Merkkijono voi olla enintään 2 048 merkkiä pitkä, mukaan lukien avaavat ja sulkevat lainausmerkit.

  • Jos kentän nimessä on numeromerkki (#), näyttöön tulee seuraava virhesanoma:

    Lausekkeen päivämääräarvo ei kelpaa.

  • Jos kentän nimessä on prosenttimerkki (%), aaltoviiva (~), puolipiste (;) tai hakasulje ([]), näyttöön tulee seuraava virhesanoma:

    Lausekkeen syntaksi ei kelpaa.
    Olet jättänyt operandin tai operaattorin pois, kirjoittanut virheellisen merkin tai pilkun tai kirjoittanut tekstiä ympäröimättä sitä lainausmerkeissä.

  • Jos kentän nimessä on aaltosulje ({}), näyttöön tulee seuraava virhesanoma:

    Virheellisesti muodostettu GUID kyselylausekkeessa ObjectName

  • Jos kentän nimessä on hakasulje ([]) tai sulje (()), näyttöön tulee seuraava virhesanoma:

    Kirjoittamastasi lausekkeesta puuttuu loppusulje, hakasulje (]) tai pystyviiva (|).

Ongelma 3

Sinulla on kyselylausekkeita sisältävä kysely. Kyselylausekkeet sisältävät erikoismerkkejä sisältäviä kenttiä. Kun suoritat kyselyn, sinua kehotetaan antamaan parametrin arvo. Yleensä tämä ongelma ilmenee, kun käytät seuraavia erikoismerkkejä:

  • Suurempi kuin -merkki (>)
  • Pienempi kuin -merkki (<)
  • Piste (.)
  • Tähti (*)
  • Kaksoispiste (:)
  • Väkänen (^)
  • Plusmerkki (+)
  • Kenoviiva (\)
  • Yhtäläisyysmerkki (=)
  • Et-merkki (&)
  • Vinoviiva (/)

Vaihtoehtoinen menetelmä

Kiertääksesi tämän ongelman, älä käytä erikoismerkkejä. Jos kyselylausekkeissa on käytettävä erikoismerkkejä, kirjoita erikoismerkit hakasulkeisiin ([]). Jos esimerkiksi haluat käyttää suurempi kuin -merkkiä (>), käytä kohdetta [>].

Lisätietoja

Microsoft Access ei rajoita erikoismerkkien, kuten numeromerkin (#), pisteen (.) tai lainausmerkin (") käyttöä tietokantaobjektien nimissä tai tietokannan kenttien nimissä. Jos kuitenkin käytät erikoismerkkejä, saatat kohdata odottamattomia virheitä. Tämän vuoksi Microsoft suosittelee, että et käytä Access-tietokannan tai tietokantaprojektin tietokantaobjektien nimissä erikoismerkkejä. Tässä artikkelissa käsitellään erikoismerkkejä, joita sinun on vältettävä näiden erikoismerkkien tunnettujen ongelmien vuoksi.

Kun käytät Accessia tai jotakin muuta sovellusta, kuten Microsoft Visual Basic -sovellusta tai Active Server Pages (ASP) -sovellusta, sinun on vältettävä seuraavia erikoismerkkejä:

Nimi Symboli
Välilyönti
Heittomerkki '
Lainausmerkki "
Heittomerkki '
At-merkki @
Aksenttimerkki `
Numeromerkki #
Prosentti %
Suurempi kuin -merkki >
Pienempi kuin -merkki <
Huutomerkki !
Piste .
Sulut [ ]
Asteriski *
Dollarimerkki $
Puolipiste ;
Kaksoispiste :
Kysymysmerkki ?
Väkänen ^
Hakasulut { }
Plusmerkki +
Väliviiva -
Yhtäläisyysmerkki =
Tilde ~
Kenoviiva |

Accessin nimeämiskäytännöt

Microsoft suosittelee, että funktioiden nimissä, muuttujien nimissä, kenttien nimissä, kenttien nimissä tai tietokantaobjektien, kuten taulukoiden ja lomakkeiden, nimissä ei käytetä pistettä (.), huutomerkkiä (!), aksenttimerkkiä (´), hakasulkeita ([ ]), välilyöntiä ( ) tai lainausmerkkiä (").

On tunnettuja ongelmia, jotka ilmenevät, jos käytät seuraavia erikoismerkkejä Accessissa. Seuraavissa skenaarioissa kuvataan, milloin erikoismerkkejä ei saa käyttää:

  • Kun viet tietokantaobjektit muihin tiedostomuotoihin, kuten Microsoft Excel -tiedostomuotoon, HTML-tiedostomuotoon tai tekstitiedostomuotoon, älä käytä numeromerkkiä (#) tai pistettä (.) tietokannan objektien nimissä tai kenttien nimissä.
  • Kun käytät hyperlinkkejä Accessissa, hyperlinkit tallennetaan muokattuina muistiokenttinä, joiden erottimena on numeromerkki (#). Siksi numeromerkkiä pidetään Accessissa varattuna sanana. Älä käytä numeromerkkiä, kun luot hyperlinkkejä.
  • Kun tuot tekstitiedoston Accessiin ja tekstitiedosto sisältää välilehtiä tai muita erikoismerkkejä, erikoismerkit muunnetaan ja erikoismerkit näkyvät sitten ruutuina. Siksi, kun yrität käyttää tuotua taulukkoa, saat odottamattomia virheitä. Lähdetaulukossa ei saa käyttää erikoismerkkejä Accessiin tuotaessa.
  • Kun lisäät tai muokkaat Access-tietokannan tietoja ASP-lomakkeiden avulla, et saa käyttää prosenttimerkkiä (%), plusmerkkiä (+) tai sirkumfleksiä (^) lomakkeessa. Nämä erikoismerkit eivät ehkä käänny oikein Access-tietokannassa.
  • Kun käytät täysleveyksistä kieltä, älä käytä tietokantaobjektien nimessä tai ohjausobjektien nimessä täysleveyksistä merkkiä. Et saa esimerkiksi käyttää täysleveyksistä sulkua, kun käytät täysleveyksistä kieltä. Tämä voi aiheuttaa käännösvirheitä, jos tapahtumatoimintosarjassa on koodi objektille tai ohjausobjektille.