2016-03-22 9 views
1

için kriter olarak sütun bağlı ben bugüne kadar ne olduğunu.Erişim listbox olmayan I bağlı sütuna İşte</p> <p>dışındaki spesifik sütununda bir liste kutusunda bir öğenin değerini temel bir sorgu filtrelemek çalışıyorum sorgusu

Ben 2 sütuna inv_id ve listbox is lst_MainList ait prod_id Adı bir liste vardır. inv_id ilişkili sütun (sütun 1)Liste Projects

2 sorgu oluşturmaya çalışıyorum.

Birinci inv_id ikinci sütunun değerini almak için benim bağlı sütun

olduğu için bu kolay inv_id dayalı sorgu filtrelemek için tasarlanmıştır, ben bir işlev

Public Function GetColumnValue(col As Integer, ByRef lst As Access.ListBox) 
    GetColumnValue = lst.Column(col) 
End Function 

fikri oluşturma çalıştı sütun numarası ve liste kutusu isminin fonksiyona geçmesi ve fonksiyonun o sütunun değeri

fonksiyonuna dönmesi yeterlidir. Ben sorgu çalıştırıldığında mevcut aktif öğenin, bu hatayı alıyorum sütunda 2 dayanarak benim sorgu filtrelemek için umut kriterlere

=GetColumnValue(2,[Forms]![Projects]![lst_MainList]) 

olarak benim sorguya Bu işlevi girdiğinizde sorunudur.

This expression is typed incorrectly or is too complex 

Burada benim son seçenek liste kutusu sütununda 2 bağlı görünmez bir metin kutusu eklemek için biliyorum ama daha temiz görünüyor ve yeniden kullanılabilir

Herhangi fikir nedir çünkü fonksiyon yaklaşımı denemek istiyorum fonksiyonumda yanlış mı?

cevap

3

Bu nedenle, sorguda, [Forms]![Projects]![lst_MainList] denetimin bir özelliği değil, denetimin Değer özelliğini döndürecektir.

Böyle bir şey yapmak gerekebilir: o zaman

Public Function GetColumnValue(col As Integer, FormName As String, ControlName As String) 
    GetColumnValue = Forms(FormName).Controls(ControlName).Column(col) 
End Function 

ve:

=GetColumnValue(2,"Projects","lst_MainList") 
+0

Bu çalışır. Teşekkürler. Her ne kadar küçük bir düzeltme olsa da. "S" (çoğul kontrol) olmalı ... "kontrol (KontrolAdı) ..." olmalıdır "... kontroller (KontrolAdı) ..." – Wayne

+0

Doğru. Düzenlemeyi yaptım. – Gustav

İlgili konular