Makale numarası: 155489 - Son Gözden Geçirme: 19 Ocak 2007 Cuma - Gözden geçirme: 2.3

ACC: Nasıl çapraz sorguda sütun başlıklarını Değiştir kodu kullan

Sistem İpucuBu makale, kullandığınızdan farklı bir işletim sistemine yöneliktir. Sizinle ilgili olmayabilecek makale içeriği devre dışı bırakıldı.
Orta: temel makro, kodlama ve birlikte çalışabilirlik becerileri gerektirir.
Hepsini aç | Hepsini kapa

Özet

Bu makalede, Visual Basic for Applications çapraz sorgudaki sütun başlıkları olarak değiştirmek için nasıl kullanılacağını gösterir.

Bu makalede, Visual Basic for Applications ve programlama Microsoft Access ile sağlanan araçları kullanarak Microsoft Access uygulamaları oluşturma bildiğinizi varsayar. Hakkında daha fazla bilgi için Visual Basic for Applications "Building uygulamaları ile Microsoft Access" el ile sürümü için bkz.

Not: Visual Basic for Applications Access Basic Microsoft Access sürüm 2.0 adlandırılır. Access Basic hakkında daha fazla bilgi için "Uygulamalar?n?n Kurulmas?" el kitabına başvurun.

Not: Bu makalede kullanılan teknik BIR gösterimini, örnek dosyada Qrysmp97.exe görülebilir. Bu örnek dosyayı edinme hakkında daha fazla bilgi için lütfen Microsoft Knowledge Base'de aşağıdaki makaleye bakın:
182568  (http://support.microsoft.com/kb/182568/EN-US/ ) ACC97: Microsoft Access 97 Örnek sorgular kullanılabilir Yükleme Merkezi'ndeki

Daha fazla bilgi

Bir çapraz sorgudaki sütun başlıkları programsal olarak değiştirmek için tek yol PIVOT sorgunun SQL özelliğine yan tümcesi düzeltmektir.

Aşağıdaki örnek, Microsoft Access'te bir çapraz sorgu oluşturma konusunda size gösterir. Sonra size PIVOT sorgunun SQL özelliğine yan tümcesi değiştirmek için Visual Basic for Applications'ı kullanarak sorgu sütun başlıkları değiştirme gösterir. Bu örnek örnek veritabanı Northwind.mdb (veya NWIND.MDB 2.0) kullanır.
  1. Örnek veritabanını Northwind.mdb (veya 2. 0'daki NWIND.MDB) açın.
  2. Tasarım görünümünde yeni bir sorgu oluşturun ve müşteriler ve Siparişler tablolarını ekleyin.
  3. Sorgu) menüsünde, çapraz'ı tıklatın.
  4. Sorgu tasarım kılavuzunda, aşağıdaki alanları ekleyin:
           Field: Country
              Total: Group By
              Crosstab: Row Heading
              Sort: Ascending
           Field: Country Total: OrderID (or Order ID in version 2.0)
              Total: Count
              Crosstab: Row Heading
           Field: CompanyName (or Company Name in version 2.0)
              Total: Group By
              Crosstab: Column Heading
           Field: OrderID (or Order ID in version 2.0)
              Total: Count
              Crosstab: Value
  5. Sorgu) menüsünde, Çalıştır'ı tıklatın. Sorgu, her müşterinin siparişlerini sayar ve bunları ülkeye göre gruplandırır. Her müşterinin adı, bir sütun başlığı olarak göründüğünü unutmayın.
  6. Görünüm menüsünden SQL'i tıklatın. PIVOT yan tümcesinde'SQL deyimi sonunda, "PıVOT Customers.CompanyName;" okur unutmayın (veya "PIVOT Customers. [Şirket adı];" sürüm 2.0).
  7. Sorgu qryOrdersByCountry kaydedin ve sonra kapatın.
  8. Bir modül oluşturun ve henüz yoksa Tanımlamalar bölümüne aşağıdaki satırı yazın:
    Seçenek Belirtik
  9. Aşağıdaki yordam yazın.

    Microsoft Access 7.0 ve 97:
     Function ChangeColumnHeadings()
          Dim db As DATABASE
          Dim qd As QueryDef
          Dim strSQL as string
          Set db = CurrentDb()
          Set qd = db.QueryDefs("qryOrdersByCountry")
          strSQL = "TRANSFORM Count(Orders.[OrderID]) AS [CountOfOrder ID] "
          strSQL = strSQL & "SELECT Customers.Country, "
          strSQL = strSQL & "Count(Orders.[OrderID]) AS [Country Total] "
          strSQL = strSQL & "FROM Customers INNER JOIN Orders ON "
          strSQL = strSQL & "Customers.[CustomerID] = Orders.[CustomerID] "
          strSQL = strSQL & "GROUP BY Customers.Country ORDER BY "
          strSQL = strSQL & "Customers.Country PIVOT "
          strSQL = strSQL & "IIf(Customers.[CompanyName] Like 'A*', "
          strSQL = strSQL & "'A', 'B-Z');"
          qd.SQL = strSQL
          End Function
    						
    Microsoft Access 2. 0'ın:
          Function ChangeColumnHeadings()
          Dim db As DATABASE
          Dim qd As QueryDef
          Dim strSQL as string
          Set db = CurrentDb()
          Set qd = db.QueryDefs("qryOrdersByCountry")
          strSQL = "TRANSFORM Count(Orders.[Order ID]) AS [CountOfOrder ID] "
          strSQL = strSQL & "SELECT Customers.Country, "
          strSQL = strSQL & "Count(Orders.[Order ID]) AS [Country Total] "
          strSQL = strSQL & "FROM Customers INNER JOIN Orders ON "
          strSQL = strSQL & "Customers.[Customer ID] = Orders.[Customer ID] "
          strSQL = strSQL & "GROUP BY Customers.Country ORDER BY "
          strSQL = strSQL & "Customers.Country PIVOT "
          strSQL = strSQL & "IIf(Customers.[Company Name] Like 'A*', "
          strSQL = strSQL & "'A', 'B-Z');"
          qd.SQL = strSQL
          End Function
    
    						
  10. Bu işlevi sınamak için <a0></a0>, hata ayıklama penceresi (veya komut penceresi içinde sürüm 2.0), aşağıdaki satırı yazın ve ENTER tuşuna basın.
    ? ChangeColumnHeadings()
  11. QryOrdersByCountry sorguyu çalıştırın. Iki sütun başlıkları da olduğunu unutmayın. Bir sütun başlığı "A harfi ile başlayan şirket adlarını siparişlerini sayar A" olarak adlandırılır; bir "B-Z'ye harfler B ile başlayan şirket adlarını siparişlerini sayar, Z" olarak adlandırılır.
  12. Görünüm menüsünden SQL'i tıklatın. Yalnızca ifade unutmayın PIVOT yan tümcesi özgün sorgudaki SQL tarafından değiştirildi.

Referanslar

Bir <a0>QueryDef</a0> nesnesinin SQL özelliği hakkında daha fazla bilgi için Yardım dizini üzerinde "Özelliğinde," tümceciğini aramak ve "SQL özelliği" görüntülemek veya Microsoft Access 97 Office Yardımcısı'nı isteyin.

IIf() işlevi kullanma hakkında daha fazla bilgi için Yardım dizininde "Iıf işlevi" veya Microsoft Access 97 Office Yardımcısı'nı isteyin.

Bu makaledeki bilginin uygulandığı durum:
  • Microsoft Access 2.0 Standard Edition
  • Microsoft Access 95 Standard Edition
  • Microsoft Access 97 Standard Edition
Anahtar Kelimeler: 
kbmt kbhowto kbprogramming kbusage KB155489 KbMttr
Otomatik TercümeOtomatik Tercüme
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:155489  (http://support.microsoft.com/kb/155489/en-us/ )
Retired KB ArticleKullanım Dışı Bilgi Bankası İçeriği Yasal Uyarı
Bu makale, Microsoft'un artık destek sağlamadığı ürünler ile ilgili olarak yazılmıştır. Bu nedenle, bu makale "olduğu gibi" sağlanmıştır ve bundan sonra güncelleştirilmeyecektir.