Access veritabanlarında özel karakterler kullandığınızda hata iletisi

Bu makalede, Access'in tüm sürümlerinde veritabanı nesne adlarıyla veya alan adlarıyla çalışırken kullanmaktan kaçınmanız gereken özel karakterler listelenir.

Orijinal KB numarası: 826763

Not

Bu makale, ya bir Microsoft Access veritabanı (.mdb) dosyası ya bir Microsoft Access veritabanı (.accdb) dosyası için ve bir Microsoft Access projesi (.adp) için geçerlidir.

Belirtiler

Access'te özel karakterler kullandığınızda, aşağıdaki sorunlardan biriyle karşılaşırsınız.

Sorun 1

Tablo alanı adında aşağıdaki özel karakterlerden birini kullanırsınız:

  • Vurgu işareti (`)
  • Ünlem işareti (!)
  • Nokta (.)
  • köşeli parantez([])
  • Öndeki boşluk
  • Yazdırılamayan karakterler

Bu durumda, aşağıdaki hata iletisini alırsınız:

Alan adı geçerli değil.
Adın, nokta(.), ünlem işareti(!), köşeli parantez([]), önde boşluk veya satır başı gibi yazdırılamayan karakter içermediğinden emin olun. Adı başka bir uygulamadan yapıştırdıysanız ESC tuşuna basıp adı yeniden yazmayı deneyin.

Tablo adında bu özel karakterleri kullanırsanız aşağıdaki hata iletisini alırsınız:

Girdiğiniz 'TableName' nesne adı, Microsoft Access nesne adlandırma kurallarına uymuyor.

Sorun 2

Sorgu ifadesi oluşturursunuz. Sorgu ifadesi özel karakterler içeren alanlar içerir. Belirli özel karakterlere bağlı olarak, aşağıdaki hata iletilerinden birini alırsınız:

  • Alan adında boşluk karakteri, soru işareti (?) veya at işareti (@) varsa aşağıdaki hata iletisini alırsınız:

    Girdiğiniz İfade geçersiz söz dizimi içeriyor.
    İşleç olmadan bir işlenen girmiş olabilirsiniz

  • Alan adında tırnak işareti(") veya kesme işareti (') varsa aşağıdaki hata iletisini alırsınız:

    Girdiğiniz İfade geçersiz bir dize içeriyor.
    Bir dize, açma ve kapatma tırnak işaretleri de dahil olmak üzere en çok 2048 karakter uzunluğunda olabilir.

  • Alan adı bir numara işareti (#) içeriyorsa aşağıdaki hata iletisini alırsınız:

    Girdiğiniz ifade geçersiz bir tarih değerine sahip.

  • Alan adında yüzde işareti (%), tilde (~), noktalı virgül (;) veya köşeli parantez ([]) varsa aşağıdaki hata iletisini alırsınız:

    Girdiğiniz İfade geçersiz söz dizimi içeriyor.
    Bir işleneni veya işleci atladınız, geçersiz bir karakter veya virgül girdiniz ya da metni tırnak içine almadan girdiniz.

  • Alan adında ayraç ({}) varsa aşağıdaki hata iletisini alırsınız:

    'ObjectName' sorgu ifadesinde hatalı biçimlendirilmiş GUID

  • Alan adında köşeli parantez ([]) veya parantez (()) varsa aşağıdaki hata iletisini alırsınız:

    Girdiğiniz ifadede kapatma parantezi, köşeli parantez (]) veya dikey çubuk (|) eksik.

Sorun 3

Sorgu ifadeleri içeren bir sorgunuz var. Sorgu ifadeleri, özel karakterler içeren alanlar içerir. Sorguyu çalıştırdığınızda, parametre değeri girme aşamasına geçersiniz. Bu sorun genellikle aşağıdaki özel karakterleri kullandığınızda oluşur:

  • Büyüktür işareti (>)
  • Küçüktür işareti (<)
  • Nokta (.)
  • Yıldız (*)
  • İki nokta üst üste (:)
  • Şapka işareti (^)
  • Artı işareti (+)
  • Ters Eğik Çizgi (\)
  • Eşittir işareti (=)
  • Ve işareti (&)
  • Taksim işareti (/)

Geçici Çözüm

Bu sorunu geçici olarak çözmek için özel karakterler kullanmayın. Sorgu ifadelerinde özel karakterler kullanmanız gerekiyorsa özel karakterleri köşeli parantez ([]) içine alın. Örneğin, büyüktür işaretini ()> kullanmak istiyorsanız [>] kullanın.

Daha Fazla Bilgi

Microsoft Access, veritabanı nesne adlarında veya veritabanı alan adlarında sayı işareti (#), nokta (.) veya tırnak işareti (") gibi özel karakterlerin kullanımını kısıtlamaz. Ancak özel karakterleri kullanırsanız beklenmeyen hatalarla karşılaşabilirsiniz. Bu nedenle Microsoft, Access veritabanındaki veya veritabanı projesindeki veritabanı nesne adlarında özel karakterleri kullanmamanızı önerir. Bu makalede, bilinen sorunları nedeniyle kaçınmanız gereken özel karakterler ele alınmaktadır.

Access ile veya Microsoft Visual Basic uygulaması veya Active Server Pages (ASP) uygulaması gibi başka bir uygulamayla çalışırken aşağıdaki özel karakterlerden kaçınmanız gerekir:

Name Sembol
Boşluk
Kesme işareti '
Tırnak işareti "
Kesme işareti '
At İşareti @
Vurgu işareti `
Sayı işareti #
Yüzde %
Büyüktür işareti >
Küçüktür işareti <
Ünlem işareti !
Nokta .
Parantez [ ]
Yıldız *
Dolar işareti $
Noktalı virgül ;
İki nokta :
Soru işareti ?
Şapka ^
Süslü parantez { }
Artı işareti +
Tire -
Eşittir işareti =
Tilde ~
Ters eğik çizgi |

Erişim adlandırma kabulleri

Microsoft, işlevlerin adlarının, değişkenlerin adlarının, alanların adlarının veya tablo ve form gibi veritabanı nesnelerinin adlarının içinde nokta (.), ünlem işareti (!), vurgu işareti ('), köşeli parantez ([ ]), boşluk ( ) veya tırnak işareti (") kullanmamanızı önerir.

Access'te aşağıdaki özel karakterleri kullanırsanız oluşan bilinen sorunlar vardır. Aşağıdaki senaryolarda özel karakterleri ne zaman kullanmamanız gerektiği açıklanmaktadır:

  • Veritabanı nesnelerini Microsoft Excel dosya biçimi, HTML dosya biçimi veya metin dosyası biçimi gibi diğer dosya biçimlerine aktardığınızda, veritabanı nesne adlarında veya alan adlarında sayı işareti (#) veya nokta (.) kullanmayın.
  • Access'te köprüler kullandığınızda köprüler, sınırlayıcı olarak sayı işareti (#) olan değiştirilmiş Not alanları olarak depolanır. Bu nedenle, sayı işareti Access'te ayrılmış bir sözcük olarak kabul edilir. Köprü oluştururken sayı işaretini kullanmayın.
  • Access'e sekmeler veya başka özel karakterler içeren bir metin dosyası aktardığınızda, özel karakterler dönüştürülür ve özel karakterler kutu olarak görünür. Bu nedenle, içeri aktarılan tabloyu kullanmaya çalıştığınızda beklenmeyen hatalar alırsınız. Access'e aktarırken kaynak tabloda özel karakter kullanmamalısınız.
  • Access veritabanında veri eklemek veya değiştirmek için ASP formlarını kullandığınızda, formda yüzde işareti (%), artı işareti (+) veya şapka işareti (^) kullanmamalısınız. Bu özel karakterler Access veritabanında doğru çevrilmeyebilir.
  • Tam genişlikli diller kullandığınızda, veritabanı nesnelerinin veya denetimlerin adında Tam genişlikli karakterler kullanmayın. Örneğin, Tam genişlikli diller kullanırken Tam genişlikli parantezleri kullanmamalısınız. Bu, nesne veya denetim için bir olay yordamında kod varsa derleme hatalarına neden olabilir.