Mogelijk te wijzigen in database

Status
Niet open voor verdere reacties.

JJZijlstra

Gebruiker
Lid geworden
26 nov 2013
Berichten
296
Geachte lezer(s),

Het is de bedoeling om d.m.v. gebruikmaking van de knop 'Zoeken en Wijzigen' in het menu "Userform1" de achternaam of voornaam te vinden waarbij
de cursor zowel in het werkblad als in het tekstveld van het menu naar de te zoeken naam springt zodat de mogelijkheid ontstaat om gegevens
te kunnen wijzigen.
Graag zou ik willen zien om deze in het tekstveld van het menu te kunnen wijzigen zodat deze ook wordt meegenomen uiteraard in het werkblad.
Dus: in het tekstveld kun je de wijziging inbrengen die ook in het werkblad tegelijkertijd wordt gedaan.

Het wil hier maaar niet lukken. Hoe lost ik dit verder op of hoe is de juiste code?
Op te merken valt dat op internet niets over te vinden is?!
Kunt u mij adviseren?

Vriendelijke groet,
Johan
 

Bijlagen

Ooit eens gemaakt.
 

Bijlagen

Laatst bewerkt:
Bedankt voor het antwoord maar het is niet helemaal wat ik bedoel. Behalve het zoeken kan ik dit bestand verder nog niets wijzigen (editen).
Is er in vba niet een woord of commando (property?) voor om dat wel te kunnen doen?

Groet,
Johan
 
Alvast hartelijk dank voor jullie reacties.
Ik zal de tijd nemen om de voorbeelden te bestuderen en deze in mijn bestanden toe te passen en laat het jullie weten.

Groet,
Johan
 
@gast0660,

Beste lezer(s),
Dank voor je bestand, ik heb het uitgeprobeerd. Hoewel alles goed werkt maar helaas werkt de “edit” of “wijzig”-optie niet zoals ik dat graag zou willen zien.
Het is de bedoeling dat je een naam zoekt (dat werkt overigens fantastisch) maar kan in het gezochte record geen wijzigingen aanbrengen achteraf. De msgbox zegt mij wel dat er een aanpassing is geweest maar er is in werkelijkheid niks gebeurd. Hoe kun je dit aanbrengen?

Als bovenstaande is opgelost, zal ik de uitwerking van snb gaan bekijken.

Groet,
Johan
 

Bijlagen

Beste,
bij mij werkt het perfect , je moet wel eerst een wijziging aanbrengen in de invulvelden en daarna pas op aanpassen drukken
Dus
1 zoek de juiste ingave
2 pas de gegevens aan in de invulvelden
3 druk op aanpassen
 
Laatst bewerkt:
Hallo gast0660,

Je hebt gelijk, als ik de volgorde doe zoals jij beschrijft, gaat het helemaal goed. Fantastisch zelfs!

Waar ik verder nog benieuwd naar ben, is hoe de oranje balk gaat "lopen" als je met een bewerking bezig bent.
Deze staat onder het zoekgebied.

Groet,
Johan
 
Hoi,
Dit stukje code start de procedure
Code:
Call Main
Als je verder kijkt in de programmacode van het formulier zal je volgende regels vinden (groen)
' PROGRESS BAR CODES
' END OF PROGRESS BAR CODES

Daartussen staat de code
Groet
 
Laatst bewerkt:
Als je de code bestudeert zul je ook zien dat de 'progress bar' helemaal niks doet, behalve je procedure ophouden :).
 
Heren, bedankt voor jullie antwoord en bijdragen.
De code zal ik nader bestuderen en dan zal ik er wel uitkomen.
Nogmaals mijn dank.

Groet,
Johan
 
Hoi gast0660,

Toch heb ik nog een paar vragen.

In de module onder aanpassen geef je de volgende regel aan:

ListBox1.List = Sheets("Data").Range("a2:m" & [a65536].End(3).row).Value
Ik neem aan dat je aangeeft de range vanaf A2 tot A65536.
Wat bedoel je met 'End(3)' - m.a.w. waar slaat het getal 3 op?


HTML:
sonsat = ListBox1.ListIndex + 2
Waarom geef je aan + 2?


In welk gedeelte gebeurt het 'wijzigen of editen'?

Graag hoor ik nog.

Groet,
Johan
 
Geachte lezer,

Ben bezig met het bestuderen van de inhoud of code van het bestand <zoeken,aanpassen,invullen.xls> dat naar mij als voorbeeldbestand is toegestuurd. Daarbij stond o.a. de volgende code:

ListBox1.List = Sheets("Data").Range("a2:l" & [a65536].End(3).row).Value

Wat betekent de "l" achter "Range("a2:l"& .... etc? Is dat een verwijzing naar een bepaalde kolom? Wat is de Refresh hier?

Groet,
Johan
 
Laatst bewerkt:
Code:
[COLOR=#333333][I]Sheets("Data").Range("a2:l" & [a65536].End(3).row).Value[/I][/COLOR]
Vertaald staat er:
Code:
[COLOR=#333333][I]Sheets("Data").Range("a2:l" & [a65536].End[/I][/COLOR][COLOR=#ff0000][I](xlup)[/I][/COLOR][COLOR=#333333][I].row).Value
oftewel:
range(A2:I & de laatste rij naar boven vanaf cel A65536)
A65536 is de laatste cel van kolom A van een Excel 2003 werkblad.
Voor Excel 2007 en hoger is de laatste rij van het werkblad 1048576.
Dus om problemen te voorkomen met verschillende versies van Excel kun je beter....
Code:
ListBox1.List = Sheets("Data").Range("a2:l" & sheets("data").cells(rows.count,1).end(xlup).row).Value
....gebruiken.

Nog beter.
Code:
with [COLOR=#333333][I]Sheets("Data")[/I][/COLOR]
[COLOR=#3E3E3E][I] ListBox1.List = [/I][/COLOR][COLOR=#333333][I].Range("a2:l" & .cells(rows.count,1).end(xlup).row).Value
[/I][/COLOR]end with
 
Laatst bewerkt:
Bij deze heb ik mijn bestandje ingestuurd waar het om gaat.
Heel mooi werkt de "volgende" en "vorige"-button. (synchroon verloop in listview en tekstveld).

Maar wanneer ik bv. in een leeg veld iets wil invullen of aanpassen (hier kolom A) midden in de database, dan wordt een volgend record gewijzigd wat niet de bedoeling is.
Bovendien krijg ik na de melding "Ingave aangepast" de foutboodschap dat de "toegang wordt geweigerd = fout 70".

Wanneer ik een ander tekstveld bv. een adres of woonplaats (bv. kolom B of C) wil veranderen wordt de volgende regel (in kolom A) leeggemaakt. Ook dit is niet de bedoeling
Hoe los ik dit op een goede manier op? Wat is er fout in de regel. De code heb ik van commentaar voorzien waar de foutmelding zich voordoet.


Groet,
Johan
 

Bijlagen

Kijk eens in de eigenschap van de button.;)
 
Hi Harry, ik kijk bij cmdbutton bij properties, dan bij backcolor dan krijg ik de optie system (windowskleurtjes met de diverse MS grijs kleuren) of palette met 8 kleurtjes met 7 schakeringen maar ik zie geen mooie gast0660 luxe two tone knop kleuren ;)
Ik heb 2010 maakt dat nog wat uit? In Exel heb ik wel de mooie kleurenknoppen maar via de userform niet. vreemd?
 
Klik in de eigenschap op gecategoriseerd, en dan staat het bovenaan. ;)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan