Gegevens volgend en vorig record in lisview zien.

Status
Niet open voor verdere reacties.

JJZijlstra

Gebruiker
Lid geworden
26 nov 2013
Berichten
299
Gegevens volgend en vorig record in listbox

Beste lezer,

Bijgevoegd een bestandje.
Via het commandbutton1 in het excel werkblad ga je naar de Listview waar dezelfde gegevens staan als in het werkblad.
De listbox hier heeft de knoppen naar 'volgend record' en 'vorig record'.
Het is de bedoeling dat hier ook in de listbox het volgend en vorig record kan worden gezien zoals in het excelblad wordt weergegeven. Misschien is de code eenvoudiger dan ik denk, maar ik kom er echter uit. Hoe luidt die code?

Groet,
Johan
 

Bijlagen

Laatst bewerkt:
Hallo Johan,

Verwijder de Rowsource in de eigenschap van de Listbox.
Code:
Private Sub CommandButton1_Click()
 With ListBox1
  If .ListIndex <> .ListCount - 1 Then .ListIndex = .ListIndex + 1
 End With
End Sub
Private Sub CommandButton2_Click()
 With ListBox1
  If .ListIndex <> 0 Then .ListIndex = .ListIndex - 1
 End With
End Sub

Private Sub CommandButton3_Click()
 Unload Me
End Sub

Private Sub UserForm_Initialize()
  ListBox1.List = Cells(1).CurrentRegion.Offset(1).SpecialCells(2).Value
End Sub
 
Dank je voor je antwoord Harrie, ik ga er in het weekend verder naar kijken en uitproberen.

Groet,
Johan
 
Dank je Harry, het werkt prima nu.
Wat ik zelf vergeten ben is dat ik ook de gesorteerde gegevens in de tekstvelden zou willen zien.
Onderaan heb ik 2 tekstvelden gemaakt, waar dan behalve het geselecteerde gegeven in de listbox, ook deze gegevens graag wil zien in de tekstboxen.
Dit om gegevens later te kunnen wijzigen. Hoe luidt dan precies de code?

Groet,
Johan
 

Bijlagen

Laatst bewerkt:
Kun je svp de titel van deze draad aanpassen ? Je hebt het over een ListBox en niet over Listview; dat is heel iets anders.
 
De gehele code voor het form.
Ook als je iets in de listbox selecteert.
Code:
Private Sub CommandButton1_Click()
With ListBox1
  If .ListIndex <> .ListCount - 1 Then .ListIndex = .ListIndex + 1
    TextBox1.Text = .List(.ListIndex, 0)
    TextBox2.Text = .List(.ListIndex, 1)
 End With
End Sub

Private Sub CommandButton2_Click()
 With ListBox1
   If .ListIndex <> 0 Then .ListIndex = .ListIndex - 1
    TextBox1.Text = .List(.ListIndex, 0)
    TextBox2.Text = .List(.ListIndex, 1)
 End With
End Sub

Private Sub CommandButton3_Click()
 Unload Me
End Sub

Private Sub ListBox1_Click()
 With ListBox1
  If .ListIndex <> -1 Then
    TextBox1.Text = .List(.ListIndex, 0)
    TextBox2.Text = .List(.ListIndex, 1)
  End If
 End With
End Sub

Private Sub UserForm_Initialize()
  ListBox1.List = Cells(1).CurrentRegion.Offset(1).SpecialCells(2).Value
End Sub
 
suggestie:

Code:
If .ListIndex < ubound(.List) Then .ListIndex = .ListIndex + 1
 
Fraaie suggestie weer.
 
Gegevens volgend en vorig record in listbox

Bij deze de wijziging van de titel.

Vriendelijke groet,
Johan
 
Gegevens volgend en vorig record in listbox

Hallo snb,

Als ik het goed begrijp heeft jouw code betrekking op de "volgende" button. Is dat juist?
Wat ubound(.list) betreft, is .list de database zelf?
Morgen ga ik de code van HSV uitwerken.

Vriendelijke groet,
Johan
 
Laatst bewerkt:
1: ja
2: .List staat voor Listbox1.List

3: voor 'vorige' kun je ook gebruiken:
Code:
     If .ListIndex > 0 Then .ListIndex = .ListIndex - 1
 
Gegevens volgend en vorig record in listbox

Dank je voor je reactie en voorbeeld, snb.
Nog een laatste vraag: Als ik een wijziging in een tekstveld wil aanbrengen, is dit helaas nu niet mogelijk.
Welke code dien ik te gebruiken om wijzigingen wel mogelijk te maken?
Of moet ik beslist naar het excel-werkblad gaan.

Vriendelijke groet,
Johan
Bekijk bijlage Voorbeeld.xlsm
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan