11-07-2014, 03:47
SQL
- Kaynak : microsof
- Açılan kutu oluşturma
- Bu bölümde, önce o anki müşterinin siparişlerinin bir listesini görüntüler Müşteriler formunda bir birleşik giriş kutusu oluşturmak nasıl gösterir.
- 1. Müşteriler formu Tasarım görünümünde açın.
- 2. Araç kutusunda, Denetim Sihirbazları' nı tıklatın ve sonra açılan kutu forma ekleyin.
- 3. Sihirbazın ilk sayfasında, tablo veya sorgudaki değerleri arama ve sonra İleri' yi tıklatın seçIN.
- 4. Sihirbazın ikinci sayfasında, Orders tablosunu tıklatın ve sonra İleri' yi tıklatın.
- 5. Sihirbazın üçüncü sayfasında, OrderID, CustomerID ve sipariş tarihi, birleşik giriş kutusundaki alanları olarak ekleyin ve sonra İleri' yi tıklatın.
- 6. Sihirbazının dördüncü sayfasında, Anahtar sütunu Gizle temizlemek içIN tıklatın ve sonra görünür durumda değilse, MüşteriNo sütunu küçülebilir. Ileri ' yi tıklatın.
- 7. Beşinci sayfasında sihirbazın yeniden SiparişNo alanıyla veritabanınızda depolamak veya kabul etmek için İleri ' yi tıklatın.
- 8. Altıncı sayfasında Sihirbazı'nın, daha sonra kullanmak için değeri anımsa ve sonra da İleri' yi seçIN.
- 9. Sihirbazın son sayfasında, açılan kutu Sırası Seçetiketleyin ve Son' u tıklatın.
- 10. Birleşik giriş kutusu için özellik sayfasını açın ve sonra SelectOrderComboiçin birleşik giriş kutusunun adını değiştirin.
- 11. Birleşik giriş kutusunun OnClick özelliğini aşağıdaki olay yordamını ayarlayın:
- 12. Private Sub SelectOrderCombo_Click()
- 13. On Error GoTo Err_SelectOrderCombo_Click
- 14. Dim stDocName As String
- 15. Dim stLinkCriteria As String
- 16.
- 17. stDocName = "Orders"
- 18.
- 19. stLinkCriteria = "[OrderID]=" & Me![SelectOrderCombo]
- 20. DoCmd.OpenForm stDocName, , , stLinkCriteria
- 21.
- 22. Exit_SelectOrderCombo_Click:
- 23. Exit Sub
- 24.
- 25. Err_SelectOrderCombo_Click:
- 26. MsgBox Err.Description
- 27. Resume Exit_SelectOrderCombo_Click
- 28.
- 29. End Sub
-
- Birleşik giriş kutusu oluşturma
- Bu bölüm, birleşik giriş kutusunu yenilemek için kullanabileceğiniz yöntemleri gösterir.
-
- Yöntem 1 ve 2, açılan kutunun seçili olduğundan, her zaman eşleşen geçerli müşteri siparişlerini görüntülemek birleşik giriş kutusunun satır kaynağı OnClick olay sıfırlar.
-
- Not: Müşteri Kimliği alanına bir metin alanı olduğundan, tek tırnak işareti (') formları başvuru birleştirilmek.
- WHERE CustomerID = '" & Forms![Customers]![CustomerID] & "'"
-
- için:
- WHERE CustomerID = 'ALFKI'
-
- Birleşik giriş kutusunu yenilemek için kod ekleme
- OnEnter özelliği birleşik giriş kutusunun olay yordamını ayarlayın:
- Me.SelectOrderCombo.RowSource = "SELECT TOP 100 PERCENT OrderID, CustomerID, OrderDate FROM Orders WHERE " _
- & "CustomerID = '" & Forms![Customers]![CustomerID] & "' ORDER BY OrderDate DESC"
-
-
- Yöntem 1: Kullanarak Ad Hoc seçin
- 1. Görünüm Tasarımcısı'nda yeni görünüm oluşturmak ve sonra Siparişler tablosundan SiparişNo ve MüşteriNo OrderDate alanları seçin. En yeniden en eskiye giden bir sıralamada siparişlerinin listesini sıralamak için AzalanSıralama türü sipariş tarihi alanı için ayarlayın.
- 2. Görünüm vwCustomerOrders kaydedin.
- 3. OnEnter özelliği birleşik giriş kutusunun olay yordamını ayarlayın:
- 4. Me.SelectOrderCombo.RowSource = "SELECT * FROM vwCustomerOrders WHERE CustomerId = '" & Forms![Customers]![CustomerID] & "'"
-
- Yöntem 3 ve 4'te, birleşik giriş kutusu Requery yöntemini bir saklı yordam veya SQL işlevi eşleşen kayıtları döndürmek için yeniden yürütmek için OnEnter olay denir.
-
- Aşağıdaki örneklerde, birleşik giriş kutusu geçerli müşteri için tüm siparişlerin bir listesini döndürür.
- Yöntem 2: bir SQL Server görünümü kullanma
- 1. Grafik Tasarımcısı'nda yeni bir yordam oluşturun.
- 2. Orders tablosunu seçin ve sonra OrderID, CustomerID ve OrderDate alanları saklı yordama ekleyin.
- 3. @CustomerID Müşteri Kimliği alanı için ölçüt olarak girin ve sipariş tarihi alanında Azalan sıralama.
- 4. Saklı yordam spCustomerOrders kaydedin ve kapatın.
- 5. SpCustomerOrders depolanan yordamı birleşik giriş kutusunun satır kaynağı olarak ayarlayın.
-
- Not: aşağıdaki SQL deyimi oluşturulan ve depolanan yordamı tasarımcısı tarafından kaydedilen:
- 6. CREATE PROCEDURE dbo.spCustomerOrders
- 7. (@CustomerID varchar(5))
- 8. AS SELECT OrderID, CustomerID, OrderDate
- 9. FROM dbo.Orders
- 10. WHERE (CustomerID = @CustomerID)
- 11. ORDER BY OrderDate DESC
-
- 12. OnEnter özelliği birleşik giriş kutusunun olay yordamını ayarlayın:
- 13. Me.SelectOrderCombo.Requery
-
- Yöntem 3: kullanarak bir SQL Server saklı yordamı
- Access projesinde veri kaynağı olarak SQL Server 2000 veya sonraki bir sürümünü kullanıyorsa, bu yöntem yalnızca kullanabilirsiniz.
- 1. Grafik Tasarımcısı'nda bir işlev oluşturun.
- 2. Orders tablosunu seçin ve sonra OrderID, CustomerID ve OrderDate alanları saklı yordama ekleyin.
- 3. @CustomerID Müşteri Kimliği alanı için ölçüt olarak girin ve sipariş tarihi alanında Azalan sıralama.
- 4. İşlev fnCustomerOrders kaydedin ve kapatın.
- 5. FnCustomerOrders işlevi birleşik giriş kutusunun satır kaynağı olarak ayarlayın.
-
- Not: aşağıdaki SQL deyimi oluşturulan ve depolanan yordamı tasarımcısı tarafından kaydedilen:
- 6. CREATE FUNCTION dbo.fnCustomerOrders
- 7. (@CustomerID varchar(5))
- 8. RETURNS TABLE
- 9. RETURN ( SELECT TOP 100 PERCENT OrderID, CustomerID, OrderDate
- 10. FROM dbo.Orders
- 11. WHERE (CustomerID = @CustomerID)
- 12. ORDER BY OrderDate DESC )
-
- 13. OnEnter özelliği birleşik giriş kutusunun olay yordamını ayarlayın:
- 14. Me.SelectOrderCombo.Requery
