Filtrare multiselect in formular, cu ajutorul ListBox

Formular unic

Pentru a realiza dezideratul din titlu este necesară o tabelă, un formular şi puţin cod VBA. Formularul va conţine, pe lângă câmpurile tabelei, un control de tip List Box şi un buton. 

Sursa listbox-ului: SELECT DISTINCT t_test.oras FROM t_test; 

Pentru a putea realiza multiselecţie, fiind în modul Design View, mergem în panoul de Proprietăţi (Properties), al controlului ListBox, în tab-ul Other, de unde vom trece opţiunea Multi Select pe Simple (mai este şi opţiunea Extended, diferenţa fiind următoarea: în timp ce la Simple, este suficient să dăm clic succesiv pentru a realiza selecţia, la varianta Extended este necesară apăsarea tastei Control pentru selecţie necontigue sau Shift pentru cele succesive).

Codul butonului de filtrare

Formular cu subformular

După cum se poate observa în imaginea de la începutul articolului, dezavantajul plasării unui listbox în acelaşi formular este că arată oarecum inestetic, având un spaţiu nefolosit. Rezolvarea problemei ar putea fi dacă includem formularul în altul. Tot în acel nou formular (părinte) aducem şi listbox-ul. Codul suferă o mică modificare, pe ultimele linii, cele de sub comentariul „Filtrarea propriu-zisă„. În imaginea alăturată se poate vedea rezultatul.

Sursa: Microsoft.com

Author: Ovidiu.S

Suficient de pasionat de această zonă profesională ca, în cazul în care ştiu ceva - cât de puţin - să împărtăşesc cu alţii.

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *