Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien
Toon posts:

[VB.Net] met alle gegevens in listbox bewerking uitvoeren? *

Pagina: 1
Acties:

Verwijderd

Topicstarter
In een listbox roep ik uitzendkrachtnr's op aan de hand van een aantal criteria.
Vervolgens wil ik dat visual basic een update uitvoert (op een tabel in access) bij alle records waarvan die uitzendkrachtnr's deel uitmaken. Dus als er in mijn listbox 10 elementen staan, dan moet er tegelijk op die 10 elementen een update uitgevoerd worden.
Maar, we slagen er niet in om in de updatequery te verwijzen naar ALLE elementen uit die listbox. Visual basic eist dat we 1 uitzendkrachtnr selecteren.

Bestaat er een mogelijkheid om alle elementen uit een listbox te selecteren of in ieder geval om op al die elementen een update te laten uitvoeren?

alvast bedankt!

  • whoami
  • Registratie: December 2000
  • Laatst online: 29-11 22:54
Kijk eens naar de properties van de ListBox, je zal daar wel kunnen specifieren dat je mag 'multi-selecten'.
Eens je dat gedaan hebt, zorg je ervoor dat je UPDATE statement uitgevoerd wordt voor alle geselecteerde uitzendkrachtnrs ....

https://fgheysels.github.io/


Verwijderd

Topicstarter
We hebben bij selection mode nu aangeduid 'multisimple' en in de code hebben we al vanalles proberen bijzetten: . multisimple / .selectioncollection / ... Maar telkens voert hij de update maar uit bij het bovenste uitzendkrachtNr uit de listbox. Hoogstwaarschijnlijk doen we dus nog iets verkeerd in de code.
Is er iets specifieks dat hiervoor moet gebruikt worden?

  • urk_forever
  • Registratie: Juni 2001
  • Laatst online: 29-11 17:06
Stukje code laten zien misschien?

Hail to the king baby!


Verwijderd

Topicstarter
Dim sqla As String = "UPDATE VerwervingVanArbeid SET BetalingNr = " & CInt(Label2.Text) & " WHERE ((Month([DatumEindeWerk])=" & txtMaand.Text & ") AND ((VerwervingVanArbeid.UitzendkrachtNr)=" & Label3.Text & "));"

Dit is de update query. Het is dus na 'label3' dat er iets anders zou moeten komen dan .text waardoor alle gegevens in de listbox gebruikt worden om een update op uit te voeren.
Het is wel degelijk een listbox die gewoon de naam label3 gekregen heeft.

  • Mastermind
  • Registratie: Februari 2000
  • Laatst online: 29-11 15:35
Welke Visual Basic?
Kun je niet door de itemcollectie van de ListBox loopen?

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Verwijderd schreef op woensdag 12 december 2007 @ 11:07:
Dim sqla As String = "UPDATE VerwervingVanArbeid SET BetalingNr = " & CInt(Label2.Text) & " WHERE ((Month([DatumEindeWerk])=" & txtMaand.Text & ") AND ((VerwervingVanArbeid.UitzendkrachtNr)=" & Label3.Text & "));"
Als je code post, gebruik dan code tags.

Daarnaast is dit nogal basic. Je gebruikt hier een where-clause waar je maar 1 ID kunt opgeven (bekijk meteen even SQL injection en Parametrized Queries).
Je zult dus of in een lus (for/while/do/whatever) 1 voor 1 door de geselecteerde ID's moeten itereren, of de "...Where ID In (x,y,z,...)" constructie moeten gebruiken.
Verwijderd schreef op woensdag 12 december 2007 @ 11:07:
Het is wel degelijk een listbox die gewoon de naam label3 gekregen heeft.
Los dat meteen op; dit soort verwarrende constructies horen niet in je code te zitten omdat ze...euh...verwarrend zijn.

Verder mis ik in je topic de programmeertaal (maar ik neem aan, aan je code te zien) dat het over VB6 gaat?

[ Voor 25% gewijzigd door RobIII op 12-12-2007 11:28 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Verwijderd

Topicstarter
Sorry, ik ben maar een beginnertje in VB ;)
Het gaat over Visual Basic 2005 express waarin we moeten programmeren.
De listbox noemt voorlopig nog gewoon zo, maar dit passen we uiteraard nog aan!

'k zal hier nog eens verder proberen zoeken of ik iets van jullie antwoorden terugvind in VB
Pagina: 1