Jag läser in data från Access till en ListBox. Här kommer det med Id och namn. Nu vill jag att användaren skall kunna uppdataera databasen genom att klicka på en rad i listan och då skall den personen uppdateras. Jag använder då dtta Id i listan sm skall vara samma i databasen för uppdatering. Nu har ju användaren ingen nytta av att se detta Id och det ser fult ut. Tjena Tack men jag behöver nog lite mer förklaring (hjärnsläpp). Säg att jag hämtar data med SQL, sorterar på efternamn och lägger i ListBoxen. Då får jag en lista som ser ut Jag brukar använda mig av ful-lösningar i detta fall, dvs en extra listbox som är dold. Jag tänkte på det också men vill ändå fråga om det finns någon "elegant" lösning. Jo, men lägg id:t i DataItem Kan du inte överväga att använda en ListView i Rapportmod ?Id till databas
Hur kan jag upptadera databasen utan att visa Id i listanSv: Id till databas
Testa ItemData, kasta in det här i ett nytt vb-projekt med en listbox
<code>
Option Explicit
Private Sub Form_Load()
List1.AddItem "A"
List1.ItemData(List1.NewIndex) = 1
List1.AddItem "B"
List1.ItemData(List1.NewIndex) = 2
List1.AddItem "C"
List1.ItemData(List1.NewIndex) = 3
End Sub
Private Sub List1_Click()
MsgBox List1.ItemData(List1.ListIndex)
End Sub
</code>
/JohanSv: Id till databas
32 Andersson
185 Bengtsson
2 Carlsson
64 Danielsson
...
Om jag nu genom att klicka på 2 Carlsson vill lägga till data i posten med Id 2 i databasen, hur använder jag då detta NewIndex?Sv: Id till databas
Den listbox du har all info i döljer du.
Den andra listboxen får samma info men utan ID.
Sen synkar du listboxarna så båda markeras på samma listindex och då nyttja den doldas info.
Kör du då en split på det som står i den dolda så får du ut ID och kan uppdatera.
Rysslösning, ja vet men det funkar.
/BSv: Id till databas
Sv: Id till databas
Vid klick på en rad hämtar du bara ut det
Alltså DataItem är ett osynligt tal som finns på varje rad i listboxen
Kör mitt tidigare exempel så fattar du nog
Nu ere helg
Trevlig sådan på er
/JohanSv: Id till databas
Annars är det som sägs ovan använd ItemData.
Det betyder i princip att ListBox.List(0) kan innehålla det du vill ,tex id 32 .