2016-04-04 12 views
0

Farklı kitapların birden fazla kopyasına sahip bir kitaplık için Access 2013'te bir veritabanı oluşturuyorum. Kitabın toplam mevcut kopyalarına eşit ya da daha az sayıları gösteren bir açılan kutu/arama listesi oluşturmak istiyorum, böylece bir kitap yayınlandığında kütüphaneci açılır menüde bir sonraki en düşük değeri seçebilir. (mevcut kopyaların sayısı bir azalır). Kitaplık daha popüler kitapların daha fazla kopyasını satın aldığından ve açılan kutunun dinamik olarak güncellenmesi gerektiğinden, satın alınan kopyaların sayısı değişebilir. Bunu nasıl yaparım? Bir ilişkiye ihtiyacım var mı?Başka bir alanda bir sayıya eşit veya daha az sayı içeren bir açılır kutu oluşturma

+0

Bu, gereksiz veriler gibi geliyor. Borç verme (sorun) için de bir rekor oluşturacağınızı mı düşünüyorsunuz? Daha sonra mevcut kitapların sayısı hesaplanabilir. – Andre

+0

Yayınlanmış kitapları kaydeden bir tablom var, ancak iade tarihine sahip bir kitap eklediğimden, geri dönüş tarihi olan bir kitabın kayıt sayısını sayan ve tüm kitapların iade edildiğini varsayan bir tablo ekledim. Zaman bunu yapabileceğimi sanmıyorum. Ben haklı mıyım? – word4q

+0

"Verilen kitaplar" tablosunda "isReturned" olarak boolean alanı olacaktır. Sonra birisi bir kitap döndürürse, bir açılır kutuyu büyütmek yerine, sorunu döndürülmüş olarak işaretleyin. – Andre

cevap

0

Combobox'ın RowSourceType Property ilk ayarını, "combobox listesinin manüel olarak yönetileceğini belirlemek için" Value List "olarak ayarlayın. sonra bir öğe eklemek için bir Combobox'ın AddItem method yöntemini ve bir öğeyi kaldırmak için RemoveItem Method kullanın. This is kaldırmak nasıl tüm öğeleri:

For i = 1 To ListBox1.ListCount 
    'Remove an item from the ListBox. 
    ListBox1.RemoveItem 0 
Next i 

tüm güncel öğeleri çıkardıktan sonra, kaç Available Copies hesaplamak ve bir döngü içinde listenize ekleyebilirsiniz:

For i = 1 To AvailableCopies  
    'Add an item from the ListBox. 
    ListBox1.AddItem i 
Next i 

Çalıştır sunulan her kitap kayıt için bu kod Muhtemelen bir formun OnCurrent olayında.

+0

Teşekkürler Marlan, asıl sorumu çok iyi cevapladın, ancak Andre aslında bir listeye ihtiyacım olmadığını söyledi. – word4q

+0

@ word4q, Ben de Andre gibi bir soru okumadım ... Aklımda bir kullanıcının bir kitabın birden fazla kopyasını ödünç almasına izin vermek istedin gibiydi ... Bir dahaki sefere daha dikkatli okurum, elimden gelenin en iyisini yaparım daha iyi yardım vermek;). – marlan

İlgili konular