[ GANDRAKG @ 06.01.2010. 06:23 ] @
| Imam jedan problem koji nikako da resim. Na formi imam listbox koji se puni podacima koji su smesteni u cetiri kolone. Zeleo bih da sacuvam podatke iz svih kolona listboxa u odgovarajuca polja u tabeli, medjutim sve sto sam do sada uspeo je da sacuvam podatke iz prve kolone. Da li neko zna kako da sacuvam podatke iz svih kolona listboxa. ovo je deo koda kojim pokusavam da procitam multicolumn listbox:
For i = 0 To List1.ListCount - 1
If List1.Selected(i) Then
tstr = tstr & "' , '" & List1.ItemData(i)
End If
tstr = Mid(tstr, 2)
MsgBox tstr 'Nazalost ovaj string sadrzi samo podatke iz prve kolone
Next
|
[ bozur @ 06.01.2010. 07:05 ] @
If List1.Selected(i)
Ne poznajem dobro Access, ali mislim da umesto List1.Selected(i), treba nesto kao List1.Column(i)
[ GANDRAKG @ 06.01.2010. 07:39 ] @
Malo sam ispravio pa sad izgleda:
Dim intNumColumns As Integer
Dim intI As Integer
Dim frmCust As Form
Set frmCust = Forms!asp
' Ovde automatski obelezi sve redove u listboxu
If List14.MultiSelect Then
For lngRow = 0 To List14.ListCount - 1
List14.Selected(lngRow) = True
Next
End If
For intI = 0 To intNumColumns - 1
' List14.BoundColumn = inti 'Ovde sam pokusao da selektujem red po red ali mi column(inti) vraca prazan string
pod = pod & frmCust!List14.Column(intI) & " , "
Next intI
MsgBox pod
Set frmCust = Nothing
Sve sto sam postigao ovim je da mi vraca sve kolone iz jednog reda. Nikako da ga nateram
da procita sve redove, jer kad kroz petlju ukljucim List14.BoundColumn = inti (u nameri da idem red po red) dobijem prezan string
[ GANDRAKG @ 06.01.2010. 09:44 ] @
Evo problem je resen pa ako nekom koristi. Prvo obelezi sve redove u list boksu a potom podatke ubaci u string promenljivu:
Dim frm As Form, ctl As Control
Dim varItm As Variant, intI As Integer
Dim nika As String
nika = ""
If List14.MultiSelect Then
For lngRow = 0 To List14.ListCount - 1
List14.Selected(lngRow) = True
Next
End If
Set frm = Forms!asp
Set ctl = frm!List14
For Each varItm In ctl.ItemsSelected
For intI = 0 To ctl.ColumnCount - 1
If intI < ctl.ColumnCount Then
nika = nika & ctl.Column(intI, varItm) & vbCr & vbTab
Else
nika = nika & ctl.Column(intI, varItm) & vbCr
End If
Next intI
Next varItm
MsgBox nika
[ Trtko @ 06.01.2010. 15:36 ] @
npr imas u listboxu
100---Trtko---500
500---Milee---344
MsgBox List0.Column(0, 0) = 100
MsgBox List0.Column(1, 0) = Trtko
MsgBox List0.Column(2, 0) = 500
MsgBox List0.Column(0, 1) = 500
MsgBox List0.Column(1, 1) = Mile
MsgBox List0.Column(2, 1) = 344
ako sve zelis
brpolja = list_SIFKVAL.ListCount
For z = 0 To brpolja - 1
uvjet1 = list_SIFKVAL.Column(0, z)
uvjet2 = list_SIFKVAL.Column(1, z)
uvjet3 = list_SIFKVAL.Column(2, z)
..... itd
Next z
I nemoras ih oznacavati, ako želiš sve iz listboxa koristiš petlju
ali ako želiš uzimati samo oznacene onda ispitivas da li su selektirani pa samo njih uzmes
ajd da pojasnim , vrtis list box i uzimas samo one koji su redovi oznaceni
brpolja = list_SIFKVAL.ListCount
For z = 0 To brpolja - 1
If list_SIFKVAL.Selected(z) Then
uvjet = list_SIFKVAL.Column(0, z)
End If
Next z
[Ovu poruku je menjao Trtko dana 06.01.2010. u 16:46 GMT+1]
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.