[VBA] variabele krijgt verkeerde waarde

Pagina: 1
Acties:

  • Paxlie
  • Registratie: Oktober 2000
  • Laatst online: 09-02 10:40

Paxlie

chaos en inslag

Topicstarter
code:
1
2
3
4
Forms.pra_opzoek.Retour_pra.BoundColumn = "4"
nummertje = Forms.pra_opzoek.Retour_pra.value
MsgBox "Nummertje:  " & nummertje
Forms.pra_opzoek.Retour_pra.BoundColumn = "1"

Wat gaat hier fout? Nou lieve kijkbuiskindertjes, het zit zo:
Men heeft een variabele in een listbox genaamd Retour_pra op form pra_opzoek (lekkere duffe naamgeving, maar is makkelijker zo) Variabele nummertje is een string. Nu wil ik dus een waarde uit die listbox hebben en wel de waarde in de 4e kolom. Hierna moet hij echter weer terug naar kolom 1 ivm andere berekeningen en dergelijke. Het probleem is alleen dat ie daar geen zin in heeft en gewoon de 1e kolom pakt, ondanks dat ik de boundcolumn waarde verandert heeft. Ziet iemand wat hier fout aan is?

Wie werd waar wanneer geboren en waarom werd hij door wie hoe genoemd?
braque© zijn is een keuze


  • ^Mo^
  • Registratie: Januari 2001
  • Laatst online: 04-11-2025
moet er wel een string in BounColumn? Is dat niet gewoon een integer waarde?

ergens gevonden op internet..
To set the BoundColumn property to the first column, set it to 1; to set it to the second column, set it to 2, and so on
disclaimer:
* ^Mo^ heeft geen ervaring in VBA :P

"There are 10 kinds of people in the world, those who understand binary and those who don't" | Werkbak specs


  • Paxlie
  • Registratie: Oktober 2000
  • Laatst online: 09-02 10:40

Paxlie

chaos en inslag

Topicstarter
Nopez, dat is het niet, je zet namelijk gewoon de variabele BoundColumn en Access type-cast dan automatisch (als ik het goed heb)

PS FF getest door waarde "b" in te vullen, dan krijg je gewoon vrolijk een type-mismatch

Wie werd waar wanneer geboren en waarom werd hij door wie hoe genoemd?
braque© zijn is een keuze


Verwijderd

Hmm werk eigenlijk nooit met listboxiez maar met listviews. Je kunt namelijk meer met listviews. In een listview kan je waardes uit de eerste colom op vragen door listitems. De tweede colom vraag je op door listitems.subitems (1) colom 3 listitems.subitems (2) enz. Werkt dit ook niet zo bij een listbox?

Groetjes JP

  • Paxlie
  • Registratie: Oktober 2000
  • Laatst online: 09-02 10:40

Paxlie

chaos en inslag

Topicstarter
Ey JP,

waar de neuk kan de control list view vinden dan? Zie hem er nergens tussen staan en ook de help bied niet echt uitkomst.... Volgens mij heb ik nu ook gewoon list box nodig.... Dat is een control waarin je meerdere kolommen naast elkaar kan zetten en dan meerdere rows en dan ook kan selecteren op kolom. De kolom die je dan selecteert is de BoundColumn.....

Mocht jij er anders over denken, let mie noo

Wie werd waar wanneer geboren en waarom werd hij door wie hoe genoemd?
braque© zijn is een keuze


Verwijderd

Ja een listview is denk ik de beste oplossing als zou het vast wel met een listbox ook kunnen. alleen is listview super handig met colompies enz.

alles goed voor de rest?

  • Paxlie
  • Registratie: Oktober 2000
  • Laatst online: 09-02 10:40

Paxlie

chaos en inslag

Topicstarter
Jah, lekker

heb alleen het probleem dat ik hier met Access werk en ik weet niet hoe het bij jou zit, maar ik kan hier niet echt een list view vinden......

Kom anders ff naar het irc-kanaal van fdf
#fdfclan op quakenet

Wie werd waar wanneer geboren en waarom werd hij door wie hoe genoemd?
braque© zijn is een keuze


  • Paxlie
  • Registratie: Oktober 2000
  • Laatst online: 09-02 10:40

Paxlie

chaos en inslag

Topicstarter
*schopje*
code:
1
2
3
4
5
6
7
8
9
10
11
Me.Retour_pra.SetFocus
MsgBox "" & Me.Retour_pra.value
Me.Retour_pra.BoundColumn = 4
If IsNull(Me.Retour_pra.value) Then
    MsgBox "If-statement is in werking"
    Me.Retour_pra.Selected(1) = True
End If
MsgBox "" & Me.Retour_pra.value
nummertje = Me.Retour_pra.value
MsgBox "Nummertje:  " & nummertje
Forms.pra_opzoek.Retour_pra.BoundColumn = 1

Na lang zoeken en proberen en dergelijke doet ie het nog steeds niet..... Ik heb het dus al geprobeerd met Setfocus en dergelijke en er staan wel degelijk waardes in die column, heb het ook al geprobeerd met de standaardwaarden, maar hij wil op de een of andere manier gewoon niet |:(

Wie werd waar wanneer geboren en waarom werd hij door wie hoe genoemd?
braque© zijn is een keuze


  • Lister
  • Registratie: September 2001
  • Laatst online: 15-02-2022
Het lijkt erop dat als je de boundcolumn verandert, de data ververst wordt of zoiets.

Je kan beter de Column property gebruiken, daarmee kan je elke cel onafhankelijk uitlezen.
Met de volgende code wordt de waarde van kolom 4 van de actieve regel getoond:
code:
1
2
3
If Retour_pra.ListIndex >= 0 Then
Call Msgbox("Waarde : " & Retour_pra.Column(4,Retour_pra.ListIndex)
End If

  • Paxlie
  • Registratie: Oktober 2000
  • Laatst online: 09-02 10:40

Paxlie

chaos en inslag

Topicstarter
Dat werkte net niet helemaal goed, maar om het voor andere mensen die in de toekomst hier misschien naar zoeken het een beetje af te sluiten, hier de werkende code:
code:
1
2
3
4
5
6
7
If Retour_pra.ListIndex >= 0 Then
    If IsNull(Me.Retour_pra.Column(3, Retour_pra.ListIndex + 1)) Then
      Me.Retour_pra.Selected(1) = True
    End If
    MsgBox "Waarde : " & Me.Retour_pra.Column(3, Retour_pra.ListIndex + 1)
    nummertje = Me.Retour_pra.Column(3, Me.Retour_pra.ListIndex + 1)
End If

Wie werd waar wanneer geboren en waarom werd hij door wie hoe genoemd?
braque© zijn is een keuze

Pagina: 1