Controlul ListBox este utilizat pentru a afișa câmpurile de pe ecran, ale căror valori posibile sunt limitate la listă, iar lista nu este lungă. Acest lucru se datorează faptului că o astfel de listă ocupă mult spațiu pe ecran (Figura 9.14). Și, deși puteți utiliza barele de defilare pentru a vedea valori care nu se încadrează în selecție, este evident că acest control nu este potrivit pentru afișarea listelor lungi.
O listă poate consta într-una sau mai multe coloane, însă atunci când selectați un element de listă, numai o valoare este transferată în câmpul de tabel asociat cu acesta, de exemplu, în cele prezentate în Fig. 9.14 listele sunt "TypeID" (CategoryID) și "EmployeeID" (EmployeeID), care nici măcar nu sunt afișate în liste. Aspectul listei și al conținutului acesteia sunt determinate de proprietățile sale, care pot fi setate manual, sau puteți utiliza expertul atunci când plasați lista într-o formă care, prin solicitarea informațiilor necesare, va determina automat majoritatea proprietăților. Crearea unei liste utilizând expertul a fost deja demonstrată în prima parte a cărții. Expertul listei este foarte asemănător cu expertul cu care este creată caseta Combo (vedeți secțiunea "Crearea și ștergerea comenzilor" din capitolul 5). Pentru ca lista să funcționeze corect, trebuie să determinați corect proprietățile cele mai importante - acestea sunt primele opt proprietăți din Fig. 9.15. În consecință, dacă nu funcționează corect, aceste proprietăți ar trebui verificate mai întâi.
Fig. 9.14. Lista de control
Fig. 9.15. Lista proprietăților de control
Valoarea acestei proprietăți poate fi și numele tabelului sau al interogării. O listă bazată pe o tabelă sau o interogare salvată va fi mai rapidă decât o listă care are o sursă de rând specificată ca o instrucțiune SQL.
- Proprietate Numărul de coloane (Count Column) este setat la 2 m. E. În lista vor fi două coloane (selectate două câmpuri), dar lățimea coloanei de proprietate (Column Width) determină lățimea primei coloane, egal cu 0, adică. E. Nu va fi afișat pe ecran.
- În ciuda faptului că prima coloană este ascunsă, este de asemenea posibil să se conecteze la domeniul mesei, la fel ca orice altă coloană a listei cu actualele liste de valori element de nume ale coloanei (în exemplul nostru - este o valoare în „categoryID“), înregistrate în baza formular tabel. Cel mai adesea, este primul slug al listei care trebuie atașat la câmpul sursă de date. Numărul coloanei atașate este specificat în proprietatea Column Bound.
- Proprietatea Column Heads din exemplul nostru este setată pe Nu, deci nu vor apărea în listă.
În plus față de discuție, există trei alte tipuri de surse de rând pentru controlul ListBox:
- Lista de valori. Dacă numărul de rânduri din listă este mic și constant, puteți seta toate valorile direct în fereastra de proprietăți a elementului. În acest caz, proprietatea Valoare a tipului de sursă de rând este setată la Listă de valori, iar valorile elementelor din listă sunt listate în punct și virgulă fără spații din proprietatea Sursă de rânduri. De exemplu:
Dacă elementele listă conțin spații, includeți-le în ghilimele. Pentru toate zilele săptămânii pentru a afișa într-o coloană din listă, setați valoarea numărului de coloane la 1 și setați proprietatea Lățimea coloanei orice non-valoare zero, de exemplu 2, 5 cm (2, 5cm).
Dacă două valori de coloane fi de ieșire, proprietatea liniilor sursă din perechile valorilor prestabilite listare secvențial de valori, numărul de coloane este setat la 2, iar lățimea coloanelor din valoarea proprietății pereche dată, de exemplu 2, 5cm; Zcm (2,5 cm; 3 cm).
Fig. 9.16. Utilizarea funcției ca sursă de șiruri de caractere
Câteva cuvinte despre cel de-al treilea tip de sursă de linii de listă. Această funcție trebuie să aibă o listă de argumente:
Function FunctionName (fid As Control, id As Variant, _
rând ca varianta, col As Variant, cod As Variant) ca varianta
Această funcție este numită Acces de fiecare dată când are nevoie pentru a popula lista cu elemente. De exemplu, acest lucru se întâmplă automat când forma care conține lista este deschisă pentru prima dată. Puteți programa actualizarea conținutului listei la o altă oră programabilă, utilizând metoda de actualizare a conținutului comenzii Cerință. De fiecare dată când conținutul listei este actualizat, această funcție se numește repetat: cu un "cod de acțiune" diferit.
Să explicăm valorile argumentelor sale și valoarea returnată.
Toate valorile argumentului sunt generate și transmise funcției prin accesul în sine. Dezvoltatorul trebuie doar să le proceseze.
coloana Proprietate Atașat (coloana Bound), care determină coloana listei a cărei valoare devine valoarea alegerii de control poate fi setat la 0. În acest caz, valoarea listei de articole (List Box) va fi indicele (numărul) al elementului selectat din listă.
Controlul List Box este, de asemenea, interesant faptul că vă permite să efectuați mai multe selecții în listă, adică. E. Este posibil să se selecteze mai multe elemente, care nu permite caseta element de combo (Combo Box). Această caracteristică este necesară destul de des atunci când sunt specificate criteriile pentru selectarea înregistrărilor. De exemplu, în baza de date a obiectelor imobile, trebuie să găsiți apartamentul care vă interesează și el este interesat de apartamente în anumite zone ale orașului. Desigur, puteți alege în listă unul câte unul, mai întâi să selectați toate apartamentele din zonă, apoi altul etc. Cu toate acestea, în acest caz este mai convenabil să utilizați lista de districte interesante pentru a selecta toate zonele de interes imediat și apoi se generează o interogare de bază de date corespunzătoare.
Pentru a determina modul în care utilizatorul va selecta valorile din listă, puteți utiliza proprietatea "Multi Select". Acesta poate fi găsit în fila Altul din fereastra de proprietăți. În mod implicit, această proprietate este setată la Niciuna. În acest caz, este permisă selectarea unui singur element din listă. Dar această proprietate poate avea valorile simple și cu o alegere coerentă (Extended). În primul caz, este permisă alegerea mai multor elemente prin simpla apăsare a elementelor dorite, iar în al doilea rând, lista funcționează ca aproape toate listele din Windows, adică puteți utiliza tastele