Access masaüstü veritabanında çok fazla veriyi hızlı bir şekilde silmek veya bir dizi veriyi düzenli olarak silmek istediğinizde, silme veya güncelleştirme sorgusu yararlı olabilir, çünkü sorgular verileri hızla bulmak ve silmek için ölçütler belirtmeyi mümkün kılar. Sorgu kullanmak size zaman da kazandırabilir, çünkü kaydedilmiş bir sorguyu yeniden kullanabilirsiniz.
Not
Herhangi bir veri silmeden veya silme sorgusu çalıştırmadan önce, Access masaüstü veritabanınızın yedeğinin bulunduğundan emin olun.
Yalnızca birkaç kayıt silmek istiyorsanız sorguya ihtiyacınız yoktur. Tek yapmanız gereken Veri Sayfası görünümünü açmak, silmek istediğiniz alanları (sütunlar) veya kayıtları (satırlar) seçmek ve ardından DELETE tuşuna basmaktır.
Önemli
Bu makaledeki bilgiler yalnızca masaüstü veritabanlarında kullanıma yöneliktir. Access web uygulamalarında silme veya güncelleştirme sorguları kullanamazsınız.
Bu makalede
- Sorgu türü seçme
- Silme sorgusu kullanma
- Güncelleştirme sorgusu kullanma
- ek bilgi
- Sorun giderme ipuçları
Sorgu türü seçme
Veritabanınızdaki verileri silmek için güncelleştirme sorgusu veya silme sorgusu kullanabilirsiniz. Aşağıdaki tabloda yer alan ayrıntılara göre bir sorgu seçin:
| Sorgu türü | Kullanılacağı zaman | Sonuçlar |
|---|---|---|
| Silme sorgusu kullanma | Tablodan veya ilişkili iki tablodan eşzamanlı olarak kayıtların (satırların) tamamını kaldırmak için. Bilginize: Kayıtlar bire çok ilişkisinin "bir" tarafında duruyorsa, silme sorgusunu çalıştırmadan önce ilişkiyi değiştirmeniz gerekebilir. İlişkili tablolardan veri silme bölümüne bakın. |
Sorguları silme Her alanda, kaydı benzersiz yapan anahtar değeri de dahil olmak üzere tüm verileri kaldırır |
| Güncelleştirme sorgusu kullanma | Tablodan tek tek alan değerlerini silmek için. | Varolan değerleri null değere (veri yok) veya sıfır uzunluklu dizeye (aralarında boşluk olmayan çift tırnak işareti) güncelleştirerek değerleri silmeyi kolaylaştırır. |
Verileri silmek üzere sorgu kullanmadan önce doğrulanması gereken şeyler
Dosyanın salt okunur olmadığından emin olun:
- Başlat'a sağ tıklayın ve Windows Gezgini'ni Aç'a tıklayın.
- Veritabanı dosyasına sağ tıklayın ve Özellikler'e tıklayın.
- Salt okunur özniteliğinin seçili olup olmadığına bakın.
Veritabanından kayıtları silmek için gerekli izinlere sahip olduğunuzu doğrulayın. Emin değilseniz, sistem yöneticinize veya veritabanı tasarımcısına başvurun.
Veritabanındaki içeriği etkinleştirdiğinizden emin olun. Varsayılan olarak, önce veritabanına güvenmediğiniz sürece, Access tüm eylem sorgularını (silme, güncelleştirme ve tablo yapma sorguları) engeller. Veritabanına güvenme hakkında bilgi için Devre Dışı Modu'nun sorguyu engellemesini durdurma bölümüne bakın.
Veritabanının diğer kullanıcılarından, silmek istediğiniz verileri kullanan tüm tabloları, formları, sorguları ve raporları kapatmalarını isteyin. Bu, kilit ihlallerini önlemeye yardımcı olur.
Kayıtları düzenlemeden veya silmeden önce, değişikliklerinizi geri almak isteyebileceğiniz durumlar için veritabanının yedek bir kopyasını oluşturmak iyi bir yöntemdir.
İpucu
Veritabanına çok sayıda kullanıcı bağlanıyorsa, veritabanını kapatıp Özel Kullanım modunda yeniden açmanız gerekebilir.
Veritabanını Özel Kullanım modunda açmak için
- Dosya sekmesini Aç'ı> tıklatın.
- Veritabanına göz atın ve seçim üzerine gelin, Aç düğmesinin yanındaki oka tıklayın ve sonra da Özel Kullanımda Aç'a tıklayın.
Veritabanını yedekleme
- Dosya sekmesini tıklatın, Farklı Kaydet'in üzerine gelin.
- Veritabanını Farklı Kaydet'i, Veritabanını Yedekle'yi tıklatın. Access özgün dosyayı kapatır, bir yedek oluşturur ve özgün dosyayı yeniden açar.
- Farklı Kaydet'i tıklatın, yedek kopya için bir ad ve konum belirtin ve Kaydet'i tıklatın.
Not
Salt okunur veya Access'in önceki sürümünde oluşturulmuş bir veritabanı kullanıyorsanız, veritabanının yedeğini oluşturmanın mümkün olmadığına dair bir ileti alabilirsiniz.
Bir yedek kopyaya geri dönmek için, orijinal dosyayı kapatıp adını değiştirerek, yedek kopyanın orijinal sürümün adını kullanabilmesine olanak sağlayın. Orijinal sürümün adını yedek kopyaya verin ve yeniden adlandırdığınız yedek kopyayı Access'te açın.
Silme sorgusu kullanma
Silme sorgusu oluşturmak için Oluştur sekmesini, Sorgular grubunda Sorgu Tasarımı'nı tıklatın. İçinden kayıtları silmek istediğiniz her tabloya çift tıklayın ve ardından Kapat'a tıklayın.
Tablo, sorgu tasarım kılavuzunun üst bölümünde bir pencere olarak görünür. Tablodaki tüm alanları tasarım kılavuzuna eklemek için, alan listesinden yıldız işaretine (*) çift tıklayın.
Silme sorgusunda belirli bir ölçüt kullanma
Önemli
Ölçütleri yalnızca silmek istediğiniz kayıtların döndürülmesi için kullanın. Aksi takdirde, silme sorgusu tablodaki tüm kayıtları kaldırır.
Silme ölçütü olarak belirtmek istediğiniz alana çift tıklayın, sorgu tasarımcısının Ölçüt satırına ölçütlerden birini girin ve ardından her ölçüt alanı için Göster onay kutusunu temizleyin.
Bu seçeneği ne zaman kullanmak isteyebileceğinize bir örnek: Bir müşteri için bekleyen tüm siparişleri kaldırmak istediğinizi varsayalım. Yalnızca bu kayıtları bulmak için, sorgu tasarım kılavuzuna Müşteri Kimliği ve Sipariş Tarihi alanlarını ekleyebilir, sonra da müşterinin kimlik numarasını ve bu müşterinin siparişlerinin geçersiz kılındığı tarihi girebilirsiniz.
- Tasarım sekmesindeVeri Sayfası GörünümünüGörüntüle'ye> tıklayın.
- Sorgunun, silmek istediğiniz kayıtları döndürdüğünü doğrulayın ve CTRL+S tuşlarına basarak sorguyu kaydedin.
- Sorguyu çalıştırmak için, Gezinti Bölmesi'nde sorguya çift tıklayın.
Güncelleştirme sorgusu kullanma
Not
Access web uygulamasında güncelleştirme sorgusu seçeneğini kullanamazsınız.
Bu bölümde, güncelleştirme sorgusu kullanarak tablolardan tek tek alanları silme işlemi açıklanır. Verileri silmek için bir güncelleştirme sorgusu çalıştırdığınızda, belirttiğiniz ölçüte bağlı olarak var olan değerler NULL veya sıfır uzunluklu dizeye (arasında boşluk olmayan bir çift tırnak işareti) dönüşeceğini unutmayın.
Oluştur sekmesini tıklatın ve Sorgular grubunda Sorgu Tasarımı'nı tıklatın.
Silmek istediğiniz verileri içeren tabloyu seçin (tablo ilişkiliyse ilişkinin "bir" tarafındaki tabloyu seçin), Ekle'yi ve ardından Kapat'ı tıklatın.
Tablo, sorgu tasarım kılavuzunun üst bölümünde bir pencere olarak görünür. Pencerede seçili tablodaki tüm alanlar listelenir.Tablodaki tüm alanları tasarım kılavuzuna eklemek için yıldız işaretine (*) çift tıklayın. Tüm tablo alanlarının eklenmesi, silme sorgusunun tablodan tüm kayıtları (satırları) kaldırmasına olanak tanır.
İsteğe bağlı olarak, tasarımcının Ölçüt satırına bir veya daha fazla alan için ölçüt girebilir ve sonra her ölçüt alanının Göster onay kutusunu temizleyebilirsiniz. Ölçüt kullanma hakkında daha fazla bilgi için Seçme sorguları için örnek ölçütler tablosuna bakın.Not
Ölçütleri yalnızca değiştirmek istediğiniz kayıtları döndürmek için kullanırsınız. Aksi takdirde, güncelleştirme sorgusu sorgunuzdaki alanların her birindeki her kayıt için NULL olarak ayarlanır.
Tasarım sekmesinin Sonuçlar grubunda Görünüm'ü ve ardından da Veri Sayfası Görünümü'nü tıklatın.
Sorgunun, NULL veya sıfır uzunluklu dize (aralarında boşluk olmayan çift tırnak işareti ("") çifti) olarak ayarlamak istediğiniz kayıtları döndürdüğünü doğrulayın.
Gerekirse, 3 ile 5 arasındaki adımları yineleyin, sorgu yalnızca silmek istediğiniz verileri döndürene kadar alanları veya ölçütleri değiştirin ve CTRL+S tuşlarına basarak sorguyu kaydedin.
Sorguyu çalıştırmak için, Gezinti Bölmesi'nde sorguya çift tıklayın.
Ek Bilgiler
İlişkili tablolardan verileri silme
İlişkili birkaç tablodan veri silmek istiyorsanız, her ilişki için Bilgi Tutarlılığı ve İlişkili Kayıtları Art Arda Sil seçeneklerini etkinleştirmeniz gerekir. Bu, sorgunuzun ilişkinin "bir" ve "çok" taraflarındaki tablolardan verileri silmesine olanak tanır. Silinen ilgili verilere hazırlanırken aşağıdakilerin doğrulanması gerekir:
- Hangi kayıtların ilişkinin "bir" tarafında, hangilerinin "çok" tarafında yer aldığını saptayın.
- İlişkinin "bir" tarafındaki kayıtları ve "çok" tarafındaki ilgili kayıtları silmeniz gerekirse, Bilgi Tutarlılığı adlı bir kurallar kümesini ve art arda silmeleri etkinleştirirsiniz. Bu bölümdeki adımlarda Bilgi Tutarlılığı ve her iki görevin nasıl gerçekleştirileceği açıklanmaktadır.
- Yalnızca ilişkinin "bir" tarafındaki kayıtları silmeniz gerekiyorsa, önce o ilişkiyi ve ardından verileri silersiniz.
Yalnızca ilişkinin "çok" tarafındaki verileri kaldırmanız gerekiyorsa, ilişkiyi değiştirmek zorunda kalmadan silme sorgunuzu oluşturabilir ve çalıştırabilirsiniz.
Bir ilişkinin "bir" ve "çok" taraflarında hangi kayıtların bulunduğunu bulmak için, Veritabanı Araçları sekmesinin İlişkiler grubunda İlişkiler'e tıklayın. İlişkiler sekmesinde veritabanınızdaki tablolar ve ilişkiler görüntülenir. Her ilişki, alanlar arasındaki tabloları bağlayan bir çizgi olarak gösterilir.
Aşağıdaki resimde tipik bir ilişki görülmektedir. Veritabanındaki ilişkilerin hepsinde değilse bile çoğunda bir "bir" yüzü ve bir de "çok" yüzü vardır. İlişki diyagramında, "bir" tarafı bir (1) rakamıyla ve "çok" tarafını sonsuzluk (∞) simgesiyle gösterilir.
İlişkinin "bir" tarafındaki kayıtları sildiğinizde, ilişkinin "çok" tarafındaki tüm ilişkili kayıtları da silmiş olursunuz. Öte yandan, ilişkinin "çok" tarafındaki kayıtları sildiğinizde, normalde "bir" tarafındaki kayıtları silmezsiniz.
Ayrıca Access, bilgi tutarlılığı adı verilen bir dizi kuralı da otomatik olarak zorlar. Bu kurallar, veritabanındaki yabancı anahtarların doğru değerler içermesini güvence altına alır. Yabancı anahtar, değerleri başka bir tablonun birincil anahtar sütunundaki değerlerle eşleşen bir sütundur.
İlişkiyi düzenleme
Bu adımları yalnızca ilişkinin "bir" ve "çok" taraflarındaki verileri silmeniz gerektiğinde uygulayın.
Veritabanı Araçları sekmesinin İlişkiler grubunda İlişkiler'e tıklayın.
Silme işlemine katılan tabloları bağlayan ilişkiye (çizgi) sağ tıklayın ve ardından kısayol menüsünde İlişkiyi Düzenle'ye tıklayın.
İlişkileri Düzenle iletişim kutusunda, Bilgi Tutarlılığına Zorla onay kutusunun seçili olmasına dikkat edin.
İlişkili Kayıtları Art Arda Sil onay kutusunu seçin.
Not
Bu özellik yeniden devre dışı bırakılıncaya kadar, ilişkinin "bir" tarafındaki bir kayıt silindiğinde, ilişkinin "çok" tarafındaki tüm ilişkili kayıtlar da silinir.
Tamam'a tıklayın, İlişkiler bölmesini kapatın ve sonraki adım grubuna geçin.
İlişkiyi silme
- Henüz yapmadıysanız, İlişkiler bölmesini açın.
-
Veritabanı Araçları sekmesinin İlişkiler grubunda İlişkiler'e tıklayın.
Verilerinizi sildikten sonra ilişkiyi geri yükleyebilmek için ilişkiye dahil olan alanları not alın. - Silme işlemine katılan tabloları birbirine bağlayan ilişkiye (çizgiye) sağ tıklayın ve ardından kısayol menüsünde Sil'e tıklayın.
Not
İlişkiyi geri yüklemek için yukarıdaki adımları izleyerek İlişkiler bölmesini açın, ardından "bir" tablosundan birincil anahtar alanını sürükleyip "çok" tablosunun yabancı anahtar alanının üzerine bırakın. İlişkiyi Düzenle iletişim kutusu görüntülenir. Eski ilişkide bilgi tutarlılığı zorunlu kılınmışsa, Bilgi Tutarlılığına Zorla'yı seçin ve Oluştur'a tıklayın. Aksi takdirde, yalnızca Oluştur'u tıklayın.
Seçme sorguları için örnek ölçütler
Aşağıdaki tabloda, yalnızca silinmesini istediğiniz verileri sildiğinizden emin olmak istediğinizde, seçme sorgularında kullanabileceğiniz bazı örnek ölçütler listelenmiştir. Bu örneklerin bazılarında joker karakterler kullanılmıştır.
| Ölçüt | Etkisi |
|---|---|
| > 234 | 234'ten büyük olan bütün sayıları döndürür. 234'ten daha küçük olan sayıları bulmak için 234 kullanın < . |
| >= "Ebru" | Ebru'dan alfabenin sonuna kadar olan bütün kayıtları getirir. |
| Aralık #2/2/2010# Ve #12/1/2010# | 2-Şub-2010 ile 1-Ara-2010 (ANSI-89) arasındaki tarihleri döndürür. Veritabanınız ANSI-92 joker karakterlerini kullanıyorsa, pound işaretleri (#) yerine tek tırnak işareti (') kullanın. Örnek: '2/2/2010' ile '1/12/2010' arasında. |
| Not "Almanya" | Alanın tam içeriğinin "Almanya" ile tam eşit olmadığı tüm kayıtları bulur. Ölçüt, "Almanya"nın yanı sıra, "Almanya (avro)" veya "Avrupa (Almanya)" gibi karakterler içeren kayıtları döndürür. |
| Not "T*" | T harfiyle başlayanlar dışında tüm kayıtları bulur. Veritabanınız ANSI-92 joker karakter kümesini kullanıyorsa, yıldız (%) işareti yerine yüzde işareti (*%) kullanın. |
| Not "*t" | T ile bitmeyen bütün kayıtları bulur. Veritabanınız ANSI-92 joker karakterler takımını kullanıyorsa, yıldız (*) işareti yerine yüzde (%) işareti kullanın. |
| In(Kanada,İngiltere) | Bir listede Kanada veya İngiltere içeren bütün kayıtları bulur. |
| Like "[A-D]*" | Bir metin alanında, A - D arası harflerle başlayan tüm kayıtları bulur. Veritabanınız ANSI-92 joker karakter kümesini kullanıyorsa, yıldız (*) yerine yüzde işareti (%) kullanın. |
| Like "*ar*" | "ar" harf dizisini içeren tüm kayıtları bulur. Veritabanınız ANSI-92 joker karakter kümesini kullanıyorsa, yıldız (*) yerine yüzde işareti (%) kullanın. |
| Like "Ahmet Özgü?" | Ahmet ile başlayan, 5 harflik ikinci dizesinin ilk 4 harfi "Özgü" olan ve son harfi bilinmeyen bütün kayıtları bulur. Veritabanınız ANSI-92 joker karakter kümesini kullanıyorsa, soru işareti (?) yerine alt çizgi (_) kullanın. |
| #2/2/2010# | 2 Şubat 2010 tarihli tüm kayıtları bulur. Veritabanınız ANSI-92 joker karakter kümesini kullanıyorsa, tarihin iki tarafına sterlin işareti yerine tek tırnak işareti koyun ('2/2/2010'). |
| < Date() - 30 | 30 günden daha eski olan tarihleri getirmek için Date işlevini kullanır. |
| Date() | Bugünün tarihini içeren tüm kayıtları getirmek için Date işlevini kullanır. |
| Between Date() And DateAdd("M", 3, Date()) | Bugünün tarihi ve üç ay öncesi arasındaki tüm kayıtları getirmek için Date ve DateAdd işlevlerini kullanır. |
| Is Null | Boş (boş veya tanımlanmamış) değer içeren tüm kayıtları döndürür. |
| Is Not Null | Herhangi bir değer içeren (null olmayan) tüm kayıtları döndürür. |
| "" | Sıfır uzunluklu dize içeren tüm kayıtları döndürür. Bir alana değer eklemeniz gerekmesine karşın gerçek değerin ne olduğunu henüz bilmediğinizde sıfır uzunluklu dize kullanılır. Örneğin bir alan için faks numarası gerekmesine karşın bazı müşterilerin faks numarası olmayabilir. Bu durumda, sayı girmek yerine, aralarında boşluk olmayan bir çift tırnak çifti ("") girersiniz. |
Sorun giderme ipuçları
Bu hata iletisiyle neden karşılaşıyorum, hatayı nasıl gideririm?
Silme sorgusunu birden fazla tablo kullanarak oluşturursanız ve bu sorgunun Benzersiz Kayıtlar özelliği Hayır olarak ayarlanırsa, Access hata iletisini görüntüler; Sorguyu çalıştırdığınızda belirtilen tablolardan silinemedi .
Bu hatayı gidermek için, sorgunun Benzersiz Kayıtlar özelliğini Evet olarak ayarlayın.
- Silme sorgusunu Tasarım görünümünde açın.
- Sorgu özellik sayfası açık değilse, açmak için F4 tuşuna basın.
- Sorgu özelliklerinin görünmesi için (alan özellikleri yerine) sorgu tasarımcısını tıklatın.
- Sorgu özellik sayfasında, Benzersiz Kayıtlar özelliğini bulup Evet olarak ayarlayın.
Devre Dışı Modu'nun sorguyu engellemesini durdurma
Varsayılan olarak, güvenmeyi seçmediğiniz veya güvenilir bir konumda bulunmayan bir masaüstü veritabanı açarsanız, Access tüm eylem sorgularının çalışmasını engeller.
Eylem sorgusunu çalıştırmayı denerseniz ve hiçbir şey olmazsa, Access durum çubuğunda şu iletinin görünüp görünmediğine bakın:
Bu eylem veya olay Devre Dışı Modu tarafından engellendi.
Bu iletiyi gördüğünüzde, engellenmiş içeriği etkinleştirmek için aşağıdaki adımları izleyin:
- Güvenlik Uyarısı İleti Çubuğu'nda İçeriği Etkinleştir'i tıklatın ve sorgunuzu yeniden çalıştırın.