Archief - [PROG]VBA Listbox

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

swordfish

Legacy Member
Ik heb een applicatie gemaakt in access 07 en probeer nu vb code te koppelen aan een listbox.

Code:
Private Sub List2_Click()

 Dim iHuidigeRecord As Integer
 
 iHuidigeRecord = List2.ListIndex
 Me.CurrentRecord = iHuidigeRecord

End Sub

Deze code moet er normaal voor zorgen dat wanneer je een record in de listbox selecteert dat hij ook navigeert naar deze record in access. Dat gebeurt dus niet en ik krijg deze error: Run-time error '2135' This property is read-only and can't be set.
Hoe komt dit?

VenomGameworld

Legacy Member
Ik dacht dat je, wanneer je een control wil aanspreken, er eerst de focus op moet zetten:

Code:
Private Sub List2_Click()

 Dim iHuidigeRecord As Integer
 
 List2.setFocus()

 iHuidigeRecord = List2.ListIndex
 Me.CurrentRecord = iHuidigeRecord

End Sub

(wel niet uitgetest)

VenomGameworld

Legacy Member
Hmmm... vraag verkeerd gelezen, je kan Me.CurrentRecord geen waarde toekennen, probeer het zo eens:

Code:
Private Sub List2_Click()

 Dim iHuidigeRecord As Integer
 
 iHuidigeRecord = List2.ListIndex

 DoCmd.GoToRecord acDataForm, "Employees", acGoTo, iHuidigeRecord

End Sub

waarbij "Employees" de naam is van het formulier.

swordfish

Legacy Member
Ok. Nu geeft hij een andere error: Run-time error '2489' The object 'Form_categorie' isn't open. ??

Dit heb ik ergens gevonden over deze command:


Code:
DoCmd.GoToRecord acDataForm, [B]"[Forms]![frmMain].[Form]![frmSub1]"[/B], acNext

swordfish

Legacy Member
ik heb het al gevonden. Ik was de VB form name aan het oproepen terwijl ik de access form name nodig had.. merci

swordfish

Legacy Member
nu heb ik een ander probleem gevonden..
Wanneer ik een record toevoeg komt dit bij in de listbox (gesorteerd) maar wanneer ik erop klik geeft de textbox de naam weer van de volgende record en wanneer ik op de laatste record klik krijg ik de naam van de toegevoegde record. Een probleem met de index dus. Als ik het form sluit en terug open werkt alles wel. Hoe kan ik dit oplossen zonder het form steeds te sluiten?

hier enkele screenshots:
Untitled-4.jpg



Untitled-2.jpg

VenomGameworld

Legacy Member
Ik denk dat je beter wat code kan posten, dit kan verschillende oorzaken hebben.

swordfish

Legacy Member
Hier de code van de listbox:

Code:
Private Sub List2_Click()

 Dim iHuidigeRecord As Integer
 
 iHuidigeRecord = List2.ListIndex + 1

 DoCmd.GoToRecord acDataForm, "categorieewa", acGoTo, iHuidigeRecord
 
End Sub

swordfish

Legacy Member
Ik heb de juiste code nu gevonden. Maar ik krijg nog een syntax error. Weet iemand wat hier nog mis aan is?

Code:
Private Sub List2_AfterUpdate()
    Dim rs As Object
    Set rs = Me.Recordset.Clone

    rs.FindFirst "Categorie =" & Me!List2

    If Not rs.EOF Then Me.Bookmark = rs.Bookmark
End Sub

Timmos

Legacy Member
moet je bij rs.FindFirst geen haakjes gebruiken, je plakt er 2 strings aan elkaar maar misschien ziet hij enkel "Categorie =" als argument.

swordfish

Legacy Member
OK heb het al. Nu heb ik nog een vraag.
Wanneer ik de code .currentattachment (access 07) gebruik op een button werkt dit, maar als ik dit op een tab gebruik niet. Weet iemand hoe ik dit toch kan laten werken? De bedoeling is als je op een tab drukt, je een andere attachment te zien krijgt.
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan