Zidar Canada
Moderator Član broj: 15387 Poruke: 3085 *.100.46-69.q9.net.
|
Ovo mi nesto izgleda mnooogo komplikovano. U accessu se list box uglavnion ne 'puni'. List box ima row source, koji je ili neki dataset (tabela, postojeci kveri, SQL izraz) ili lista necega (value list). Moze se i 'puniti', pomocu call-back funkcije, sto ovde nije slucaj, call-back funkcije se ne pisu ovako. Meni se cini da ti iz rekordseta citas nesto, pa gradis string vrednosti koje saljes u listu kao 'value list'. Tako mozda ide u VB, ne u Accessu. Mozda je lakse da sagradis SQL izkaz koji vraca ono sto hoces da vidis u listi, pa ako nesto hoces da uklonis iz liste, nanovo sagradis SQL iskaz.
Ako je value list slozen, onda je ; separator za redove, a , je saprator za polja unutar redova. Na primer imas listu:
'a1','b1','c1';'a2','b2','c2';'a3','b3','c3';
Ta lista ce se videti u list boxu kao:
'a1','b1','c1';
'a2','b2','c2';
'a3','b3','c3';
Znaci, zarez Access cita kao separator u nutra 'sloga'. Ako stavis umesto 'a', 'b','c' brojeve koji imaju decimalni zarez, kao 12,5 umesto 12.5 zbunices Access. Dobra lista:
12,15,12.5;
1.8,13,14;
Losa lista:
12,15,12,5; <-- je li ovo cetiri broja odvojena zarezom ili tri broja? je li 12,5 isto sto 12.5 ili su to dva bropja odvojena zarezom? Otkud Access moze da zna?
1,8,13,14; <-- da li imamo tri li cetiri broja?
1,2,3; <-- ovde su samo 3 elementata u listi, ako Access zakljuci da imas po cetiri, koji nedostaje? Poslednji? Ili neki u sredini?
Znaci, tacno je Access koristi zarez i tacka-zarz kao separatore. Ako elementi lsite sadrze nesto od toga, zbunices Access. Iz tog razloga je resenje sa Qury/table bolje nego gradjenje liste. Ako nesto fali negde u rekordu, bice NULL i na lst boxu ce se videti kao prazno mesto.
Zakljucak - za punjenje liste ne treba ti kod, za uklanjanje elemenata iz liste treba mozda malo drugaciji kod. mada bi verovatno iuklanjanje pojedinacnog reda radilo. kad Accesu kazes da je row source za listu neki query/table/SQL statement on u stvari za tebe 'napuni' listu. Mozda mozes da tada uklonis element bez da preracunavas SQL izkaz. Probaj.
|