thaburner
asked on
2 Listboxes with index problem
I have two listboxes and the first one is Priv. Availb. and the other is Priv. Applied. I figured out how to move priv. from one list to another. but how do i set the index when i move it over to the priv applied list? I tried adding the list index option after the additem for the other list but i got an error Invalid procedure call or argument. Also i have a button to move all items from one list to another is their a easy way of doing this. As well when i go to save the settings i need to read the listbox to see which permissions where moved over to Priv applied how can I read through them all?
Private Sub cmdL1toL2_Click()
lstPrivApplied.AddItem lstPrivAvil.Text
lstPrivAvil.RemoveItem lstPrivAvil.ListIndex
End Sub
Private Sub cmdL2toL1_Click()
lstPrivAvil.AddItem lstPrivApplied.Text
lstPrivAvil.RemoveItem lstPrivAvil.ListIndex
End Sub
Private Sub AddPrivToList()
lstPrivAvil.AddItem "SELECT", 0
lstPrivAvil.AddItem "INSERT", 1
lstPrivAvil.AddItem "UPDATE", 2
lstPrivAvil.AddItem "DELETE", 3
lstPrivAvil.AddItem "CREATE", 4
lstPrivAvil.AddItem "DROP", 5
lstPrivAvil.AddItem "GRANT", 6
lstPrivAvil.AddItem "REFERENCES", 7
lstPrivAvil.AddItem "INDEX", 8
lstPrivAvil.AddItem "ALTER", 9
lstPrivAvil.AddItem "CREATE_TMP_TABLE", 10
lstPrivAvil.AddItem "LOCK_TABLES", 11
lstPrivAvil.AddItem "CREATE VIEW", 12
lstPrivAvil.AddItem "SHOW VIEW", 13
lstPrivAvil.AddItem "CREATE ROUTINE", 14
lstPrivAvil.AddItem "ALTER ROUTINE", 15
End Sub
Private Sub cmdL1toL2_Click()
lstPrivApplied.AddItem lstPrivAvil.Text
lstPrivAvil.RemoveItem lstPrivAvil.ListIndex
End Sub
Private Sub cmdL2toL1_Click()
lstPrivAvil.AddItem lstPrivApplied.Text
lstPrivAvil.RemoveItem lstPrivAvil.ListIndex
End Sub
Private Sub AddPrivToList()
lstPrivAvil.AddItem "SELECT", 0
lstPrivAvil.AddItem "INSERT", 1
lstPrivAvil.AddItem "UPDATE", 2
lstPrivAvil.AddItem "DELETE", 3
lstPrivAvil.AddItem "CREATE", 4
lstPrivAvil.AddItem "DROP", 5
lstPrivAvil.AddItem "GRANT", 6
lstPrivAvil.AddItem "REFERENCES", 7
lstPrivAvil.AddItem "INDEX", 8
lstPrivAvil.AddItem "ALTER", 9
lstPrivAvil.AddItem "CREATE_TMP_TABLE", 10
lstPrivAvil.AddItem "LOCK_TABLES", 11
lstPrivAvil.AddItem "CREATE VIEW", 12
lstPrivAvil.AddItem "SHOW VIEW", 13
lstPrivAvil.AddItem "CREATE ROUTINE", 14
lstPrivAvil.AddItem "ALTER ROUTINE", 15
End Sub
Now you can check the ItemData of the listbox to see what permisions is selected using a loop eg: if the itemData =1 then the permision is SELECT,...
ASKER
I get error
invalid property array index
it works fine if i comment these two lines
lstPrivApplied.ItemData(ls tPrivAvil. NewIndex) = lstPrivAvil.ItemData(tmpIn dex)
lstPrivAvil.ItemData(lstPr ivAvil.New Index) = lstPrivApplied.ItemData(tm pIndex)
invalid property array index
it works fine if i comment these two lines
lstPrivApplied.ItemData(ls
lstPrivAvil.ItemData(lstPr
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
that did the trick thx
Private Sub cmdL1toL2_Click()
Dim tmpIndex As Integer
tmpIndex = lstPrivAvil.ListIndex
lstPrivApplied.AddItem lstPrivAvil.Text
lstPrivApplied.ItemData(ls
lstPrivAvil.RemoveItem tmpIndex
End Sub
Private Sub cmdL2toL1_Click()
Dim tmpIndex As Integer
tmpIndex = lstPrivApplied.ListIndex
lstPrivAvil.AddItem lstPrivApplied.Text
lstPrivAvil.ItemData(lstPr
lstPrivApplied.RemoveItem tmpIndex
End Sub
Private Sub AddPrivToList()
' We start numbering from 1 because 0 is the default number
lstPrivAvil.AddItem "SELECT"
lstPrivAvil.ItemData(lstPr
lstPrivAvil.AddItem "INSERT"
lstPrivAvil.ItemData(lstPr
lstPrivAvil.AddItem "UPDATE"
lstPrivAvil.ItemData(lstPr
lstPrivAvil.AddItem "DELETE"
lstPrivAvil.ItemData(lstPr
lstPrivAvil.AddItem "CREATE"
lstPrivAvil.ItemData(lstPr
lstPrivAvil.AddItem "DROP"
lstPrivAvil.ItemData(lstPr
lstPrivAvil.AddItem "GRANT"
lstPrivAvil.ItemData(lstPr
lstPrivAvil.AddItem "REFERENCES"
lstPrivAvil.ItemData(lstPr
lstPrivAvil.AddItem "INDEX"
lstPrivAvil.ItemData(lstPr
lstPrivAvil.AddItem "ALTER"
lstPrivAvil.ItemData(lstPr
lstPrivAvil.AddItem "CREATE_TMP_TABLE"
lstPrivAvil.ItemData(lstPr
lstPrivAvil.AddItem "LOCK_TABLES"
lstPrivAvil.ItemData(lstPr
lstPrivAvil.AddItem "CREATE VIEW"
lstPrivAvil.ItemData(lstPr
lstPrivAvil.AddItem "SHOW VIEW"
lstPrivAvil.ItemData(lstPr
lstPrivAvil.AddItem "CREATE ROUTINE"
lstPrivAvil.ItemData(lstPr
lstPrivAvil.AddItem "ALTER ROUTINE"
lstPrivAvil.ItemData(lstPr
End Sub