Uygulandığı Öğe
Access 2010

Bu makalede, bir kayıt kümesindeki en son veya en erken tarihleri bulmak için en yüksek değer sorgularının ve toplam sorgularının nasıl kullanılacağı açıklanmaktadır. Bu, müşterinin en son ne zaman sipariş verdiği veya şehre göre satış için en iyi beş çeyrek gibi çeşitli iş sorularını yanıtlamanıza yardımcı olabilir.

Bu makalede

Genel Bakış

En yüksek değerler sorgusunu kullanarak verileri sıralayabilir ve en yüksek dereceli öğeleri gözden geçirebilirsiniz. En üstteki değer sorgusu, sonuçların en üstünden belirtilen sayıda veya yüzde değeri döndüren bir seçme sorgusudur; örneğin, bir web sitesindeki en popüler beş sayfa. Herhangi bir değer türüne karşı en yüksek değerler sorgusunu kullanabilirsiniz; bunlar sayı olmak zorunda değildir.

Sıralamadan önce verilerinizi gruplandırmak veya özetlemek istiyorsanız, en yüksek değerler sorgusunu kullanmanız gerekmez. Örneğin, şirketinizin faaliyet gösterdiği her şehir için belirli bir tarihe ait satış numaralarını bulmanız gerektiğini varsayalım. Bu durumda, şehirler kategorilere dönüşür (şehir başına verileri bulmanız gerekir), bu nedenle toplamlar sorgusu kullanırsınız.

Bir tablo veya kayıt grubundaki en son veya en eski tarihleri içeren kayıtları bulmak için en önemli değerler sorgusunu kullandığınızda, aşağıdakiler gibi çeşitli iş sorularını yanıtlayabilirsiniz:

  • Son zamanlarda en çok satış yapan kim?

  • Müşteri en son ne zaman sipariş verdirdi?

  • Takımda sonraki üç doğum günü ne zaman?

En yüksek değer sorgusu yapmak için bir seçme sorgusu oluşturarak başlayın. Ardından, ister en üstte ister altta olsun, verileri sorunuza göre sıralayın. Verileri gruplandırmanız veya özetlemeniz gerekiyorsa seçme sorgusunu toplamlar sorgusuna dönüştürün. Daha sonra en yüksek veya en düşük değeri döndürmek için Max veya Min gibi bir toplama işlevi veya en erken veya en son tarihi döndürmek için İlk veya Son gibi bir toplama işlevi kullanabilirsiniz.

Bu makalede, kullandığınız tarih değerlerinin Tarih/Saat veri türüne sahip olduğu varsayılır. Tarih değerleriniz bir Metin alanındaysa, .

En yüksek değerler sorgusu yerine filtre kullanmayı göz önünde bulundurun

Aklınızda belirli bir tarih varsa filtre genellikle daha iyidir. En yüksek değerler sorgusu oluşturmanız mı yoksa filtre mi uygulamanız gerektiğini belirlemek için aşağıdakileri göz önünde bulundurun:

  • Tarihin eşleştiği, belirli bir tarihten önceki veya sonraki tüm kayıtları döndürmek istiyorsanız, filtre kullanın. Örneğin, Nisan ile Temmuz arasındaki satış tarihlerini görmek için bir filtre uygularsınız.

  • Bir alanda en son veya en son tarihlere sahip olan belirli bir kayıt miktarını döndürmek istiyorsanız ve tarih değerlerini tam olarak bilmiyorsanız veya önemli değilse, bir üst değerler sorgusu oluşturursunuz. Örneğin, en iyi beş satış dönemini görmek için en iyi değerler sorgusunu kullanın.

Filtreleri oluşturma ve kullanma hakkında daha fazla bilgi için Access veritabanındaki belirli kayıtları görüntülemek için filtre uygulama makalesine bakın.

Sayfanın Başı

Örneklerle birlikte izleyebileceğiniz örnek verileri hazırlama

Bu makaledeki adımlarda aşağıdaki örnek tablolardaki veriler kullanılır.

Çalışanlar tablosu   

LastName

Ad

Adres

Şehir

CountryOrR egion

Doğum Tarihi

İşe Alma Tarihi

Özdemir

Barış

1 Ana Cadde

Üsküdar

USA

05 Şubat 1968

10 Haziran 1994

Heloo

Waleed

Manolya Cad

İzmir

USA

22-Mayıs 1957

22-Nov-1996

Pica

Guido

3122 75. S.W.

Seattle

USA

11-1960

11 Mar 2000

Simit

Jean Philippe

1 Contoso Blvd.

Londra

UK

22 Mar-1964

22 Haziran 1998

Fiyat

Julian

Efe Sok 17/2

Bursa

Meksika

05 Haziran 1972

05 Ocak 2002

Hughes

Christine

3122 75.

Seattle

USA

23 Ocak 1970

23 Nisan 1999

Riley

Steve

67. Sokak 12/3

Zonguldak

USA

14 Nisan 1964

14 Ekim 2004

Birkby

Dana

2 Burunlu Pkwy

Portland

USA

29 Ekim 1959

29 Mar-1997

EventType tablosu   

TypeID

Olay Türü

1

Ürün Lansmanı

2

Kurumsal İşlev

3

Özel İşlev

4

Fon Toplayan

5

Fuar

6

Ders

7

Konser

8

Göstermek

9

Sokak Fuarı

Müşteriler tablosu   

MüşteriNo

Şirket

Kişi

1

Meşe Ltd. Grafik

Jonathan Haas

2

Topaç Oyuncakçılık

Ellen Adams

3

Fabrikam

Carol Philips

4

Wingtip Toys

Lucio Iallo

5

A. Datum

Mandar Samant

6

Adventure Works

Brian Burke

7

Tasarım Enstitüsü

Jaka Stele

8

Güzel Sanatlar Okulu

Milena Duomanova

Olaylar tablosu   

Etkinlik Kimliği

Olay Türü

Müşteri

Olay Tarihi

Fiyat

1

Ürün Lansmanı

Meşe Ltd.

4/14/2011

10.000 TL

2

Kurumsal İşlev

Topaç Oyuncakçılık

4/21/2011

8.000 TL

3

Fuar

Topaç Oyuncakçılık

01.05.11

25.000 DOLAR

4

Göstermek

Grafik Tasarım Enstitüsü

5/13/2011

4.500 TL

5

Fuar

Meşe Ltd.

5/14/2011

55.000 DOLAR

6

Konser

Güzel Sanatlar Okulu

5/23/2011

12.000 TL

7

Ürün Lansmanı

A. Datum

6/1/2011

15.000 TL

8

Ürün Lansmanı

Wingtip Toys

6/18/2011

21.000 TL

9

Fon Toplayan

Adventure Works

6/22/2011

$1,300

10

Ders

Grafik Tasarım Enstitüsü

6/25/2011

$2,450

11

Ders

Meşe Ltd.

04.07.2011

$3,800

12

Sokak Fuarı

Grafik Tasarım Enstitüsü

04.07.2011

5.500 TL

Not: Bu bölümdeki adımlarda, Müşteriler ve Olay Türü tablolarının Olaylar tablosuyla bire çok ilişkilerinin "bir" tarafında yer aldığı varsayılır. Bu durumda, Olaylar tablosu CustomerID ve TypeID alanlarını paylaşır. Sonraki bölümlerde açıklanan toplam sorguları bu ilişkiler olmadan çalışmaz.

Örnek verileri Excel çalışma sayfalarına yapıştırma

  1. Excel'i başlatın. Boş bir çalışma kitabı açılır.

  2. Çalışma sayfası eklemek için SHIFT+F11 tuşlarına basın (dört tane gerekir).

  3. Her örnek tablodaki verileri boş bir çalışma sayfasına kopyalayın. Sütun başlıklarını (ilk satır) ekleyin.

Çalışma sayfalarından veritabanı tabloları oluşturma

  1. Sütun başlıkları da dahil olmak üzere ilk çalışma sayfasından verileri seçin.

  2. Gezinti Bölmesi'ne sağ tıklayın ve ardından Yapıştır'a tıklayın.

  3. İlk satırın sütun başlıkları içerdiğini onaylamak için Evet'e tıklayın.

  4. Kalan çalışma sayfalarının her biri için 1-3 arası adımları yineleyin.

En son veya en son tarihi bulma

Bu bölümdeki adımlarda, en yüksek değerler sorgusu oluşturma işlemini göstermek için örnek veriler kullanılır.

Temel bir en yüksek değerler sorgusu oluşturma

  1. Oluştur sekmesinin Sorgular grubunda Sorgu Tasarımı üzerine tıklayın.

  2. Çalışanlar tablosuna çift tıklayın ve ardından Kapat'a tıklayın.

    Örnek verileri kullanıyorsanız, Sorguya Employees tablosunu ekleyin.

  3. Sorgunuzda kullanmak istediğiniz alanları tasarım kılavuzuna ekleyin. Her alanı çift tıklatabilir veya alan satırındaki boş bir hücreye sürükleyip bırakabilirsiniz.

    Örnek tabloyu kullanıyorsanız Ad, Soyadı ve Doğum Tarihi alanlarını ekleyin.

  4. Üst veya alt değerlerinizi içeren alanda (örnek tabloyu kullanıyorsanız Doğum Tarihi alanı), Sırala satırına tıklayın ve Artan veya Azalan'ı seçin.

    Azalan sıralama düzeni en son tarihi, Artan sıralama düzeni ise en erken tarihi döndürür.

    Önemli:  Sıralama satırında yalnızca tarihlerinizi içeren alanlar için bir değer ayarlamanız gerekir. Başka bir alan için sıralama düzeni belirtirseniz, sorgu istediğiniz sonuçları döndürmez.

  5. Tasarım sekmesinin Araçlar grubunda, Tümü 'nin yanındaki aşağı oka tıklayın (Üst Değerler listesi) ve görmek istediğiniz kayıt sayısını girin veya listeden bir seçenek belirleyin.

  6. Sorguyu çalıştırmak ve sonuçları Veri Sayfası görünümünde görüntülemek için düğme görüntüsüçalıştır'a tıklayın.

  7. Sorguyu NextBirthDays olarak kaydedin.

Bu tür en önemli değerler sorgusunun, şirketin en eski veya en genç kişisi gibi temel soruları yanıtlayabileceğinizi görebilirsiniz. Sonraki adımlarda sorguya güç ve esneklik eklemek için ifadelerin ve diğer ölçütlerin nasıl kullanılacağı açıklanmaktadır. Sonraki adımda gösterilen ölçütler, sonraki üç çalışan doğum gününü döndürür.

Sorguya ölçüt ekleme

Bu adımlar, önceki yordamda oluşturulan sorguyu kullanır. Metin değerleri değil, gerçek Tarih/Saat verileri içerdiği sürece farklı bir üst değerler sorgusuyla birlikte izleyebilirsiniz.

İpucu:  Bu sorguyu nasıl çalıştığını daha iyi anlamak istiyorsanız, her adımda Tasarım görünümü ile Veri Sayfası görünümü arasında geçiş yapın. Gerçek sorgu kodunu görmek istiyorsanız SQL görünümüne geçin. Görünümler arasında geçiş yapmak için sorgunun üst kısmındaki sekmeye sağ tıklayın ve ardından istediğiniz görünüme tıklayın.

  1. Gezinti Bölmesi'nde NextBirthDays sorgusuna sağ tıklayın ve ardından Tasarım Görünümü'ne tıklayın.

  2. Sorgu tasarım kılavuzunda, DoğumTarihi'nin sağındaki sütuna şunu girin:MonthBorn: DatePart("m",[DoğumTarihi]).Bu ifade DatePart işlevini kullanarak BirthDate'tan ayı ayıklar.

  3. Sorgu tasarım kılavuzunun sonraki sütununa şunu girin:DayOfMonthBorn: DatePart("d",[BirthDate])Bu ifade, DatePart işlevini kullanarak DoğumTarihi'nden ayın gününü ayıklar.

  4. Az önce girdiğiniz iki ifadenin her biri için Göster satırındaki onay kutularını temizleyin.

  5. Her ifade için Sırala satırına tıklayın ve artan'ı seçin.

  6. Doğum Tarihi sütununun Ölçüt satırına şu ifadeyi yazın:Month([Doğum Tarihi]) > Month(Date()) OR Month([Birth Date])= Month(Date()) AND Day([Birth Date])>Day(Date())Bu ifade aşağıdakileri yapar:

    • Month( [Doğum Tarihi]) > Month(Date()), her çalışanın doğum tarihinin gelecek bir aya denk geldiğini belirtir.

    • Month( [Doğum Tarihi])= Month(Date()) And Day([Birth Date])>Day(Date()), doğum tarihi geçerli ay içinde gerçekleşirse doğum gününün geçerli güne veya sonraya denk geldiğini belirtir.

      Kısacası, bu ifade doğum gününün 1 Ocak ile geçerli tarih arasında gerçekleştiği tüm kayıtları dışlar.

      İpucu:  Sorgu ölçütü ifadelerine daha fazla örnek için Sorgu ölçütü örnekleri makalesine bakın.

  7. Tasarım sekmesinin Sorgu Kurulumu grubunda, İade kutusuna 3 yazın.

  8. Tasarım sekmesinin Sonuçlar grubunda Çalıştır düğme görüntüsü'a tıklayın.

Not:  Kendi verilerinizi kullanarak kendi sorgunuzda bazen belirttiğinizden daha fazla kayıt görebilirsiniz. Verileriniz, en yüksek değerler arasında yer alan bir değeri paylaşan birden çok kayıt içeriyorsa, sorgunuz istediğinizden daha fazla kayıt döndürmek anlamına gelse bile bu tür tüm kayıtları döndürür.

Sayfanın Başı

Kayıt grupları için en son veya en son tarihleri bulma

Şehre göre gruplandırılmış olaylar gibi gruplara giren kayıtların en erken veya en son tarihlerini bulmak için toplamlar sorgusu kullanırsınız. Toplamlar sorgusu, her çıkış alanının değerlerini hesaplamak için toplama işlevlerini (Gruplandırma Ölçütü, Mdeğeri, Maksimum, Sayı, İlk ve Son gibi) kullanan bir seçme sorgusudur.

Kategoriler için kullanmak istediğiniz alanı (gruplandırmak için) ve özetlemek istediğiniz değerleri içeren alanı ekleyin. Olay türüne göre gruplandırırken diğer çıkış alanlarını (örneğin, müşterilerin adlarını) eklerseniz, sorgu bu alanları grup oluşturmak için de kullanır ve sonuçları değiştirerek özgün sorunuzu yanıtlamaz. Satırları diğer alanları kullanarak etiketlemek için, toplamlar sorgusunu kaynak olarak kullanan ek bir sorgu oluşturur ve bu sorguya ek alanları eklersiniz.

İpucu:  Adımlarda sorgu oluşturmak, daha gelişmiş soruları yanıtlamak için çok etkili bir stratejidir. Karmaşık bir sorguyu çalışırken sorun yaşıyorsanız, bunu bir dizi basit sorguya ayırıp bölemeyeceğinizi düşünün.

Toplamlar sorgusu oluşturma

Bu yordam, bu soruyu yanıtlamak için Olaylar örnek tablosunu ve EventType örnek tablosunu kullanır:

Konserler hariç her etkinlik türünün en son etkinliği ne zaman oldu?

  1. Oluştur sekmesinin Sorgular grubunda Sorgu Tasarımı üzerine tıklayın.

  2. Olaylar ve EventType tablolarına çift tıklayın. Her tablo, sorgu tasarımcısının üst bölümünde görünür.

  3. Alanları sorgu tasarım kılavuzuna eklemek için EventType tablosunun EventType alanına ve Olaylar tablosundaki EventDate alanına çift tıklayın.

  4. Sorgu tasarım kılavuzunda, EventType alanının Ölçüt satırına konser<> girin.

    İpucu:  Ölçüt ifadelerine daha fazla örnek için Sorgu ölçütü örnekleri makalesine bakın.

  5. Tasarım sekmesinin Göster/Gizle grubunda Toplamlar'a tıklayın.

  6. Sorgu tasarım kılavuzunda EventDate alanının Toplam satırına tıklayın ve ardından En Fazla'ya tıklayın.

  7. Tasarım sekmesinin Sonuçlar grubunda Görünüm'ü ve ardından da SQL Görünümü'nü tıklatın.

  8. SQL penceresinde, SELECT yan tümcesinin sonunda, AS anahtar sözcüğünden hemen sonra MaxOfEventDate değerini MostRecent ile değiştirin.

  9. Sorguyu MostRecentEventByType olarak kaydedin.

Daha fazla veri eklemek için ikinci bir sorgu oluşturma

Bu yordam, bu soruyu yanıtlamak için yukarıdaki yordamdaki MostRecentEventByType sorgusunu kullanır:

Her olay türünde en son olayda müşteri kimdi?

  1. Oluştur sekmesinin Sorgular grubunda Sorgu Tasarımı üzerine tıklayın.

  2. Sorgular sekmesinde MostRecentEventByType sorgusuna çift tıklayın.

  3. Tablolar sekmesinde Olaylar tablosuna ve Müşteriler tablosuna çift tıklayın.

  4. Sorgu tasarımcısında aşağıdaki alanlara çift tıklayın:

    1. Olaylar tablosunda EventType'a çift tıklayın.

    2. MostRecentEventByType sorgusunda MostRecent'a çift tıklayın.

    3. Müşteriler tablosunda Şirket'e çift tıklayın.

  5. Sorgu tasarım kılavuzunda, EventType sütununun Sıralama satırında Artan'ı seçin.

  6. Tasarım sekmesinin Sonuçlar grubunda Çalıştır'a tıklayın.

Sayfanın Başı

Daha fazla yardıma mı ihtiyacınız var?

Daha fazla seçenek mi istiyorsunuz?

Abonelik avantajlarını keşfedin, eğitim kurslarına göz atın, cihazınızın güvenliğini nasıl sağlayacağınızı öğrenin ve daha fazlasını yapın.