"verdwijnende tekst" in tekstvak

Status
Niet open voor verdere reacties.

remcop1989

Gebruiker
Lid geworden
29 mrt 2012
Berichten
492
Ik weet serieus niet wat hier de beste omschrijving voor is, maar ik wil in mijn tekstvakken (in een accessformulier) hetzelfde bereiken als dat bijvoorbeeld op deze site gebeurd in het tekstvak "zoekterm".

Dus:
In het tekstvak staat een korte omschrijving van hetgeen ingevuld moet, zodra er in het vak geklikt wordt verdwijnt deze tekst en kan er getypt worden.

Alles in deze richting is welkom
 
Je zult het tekstvak dan een standaardtekst moeten geven als Besturingselementbron, en een gebeurtenis moeten gebruiken (<Bij kiezen> bijvoorbeeld) die het tekstvak leegmaakt.
Waarschijnlijk is het handiger om het tekstvak standaard leeg te maken, en het tekstvak te vullen met de default tekst op een andere gebeurtenis, bijvoorbeeld <Bij aanwijzen> van het formulier (dan is de tekst gevuld als je bladert door de records). En wellicht dat ja nà een succesvolle zoekactie ook de standaard wilt laten invullen.
Daar kun je ook nog wel een gebeurtenis voor vinden, denk ik :)
 
Oke, ik heb op het tekstvak rechtsklikken > eigenschappen > in het veld achter "besturingselementbron" iets ingevuld dat ik er wilde.....als ik nu naar formulierweergave ga zie ik "#Naam?" staan op de plaats van de "besturingselementbron". Hoe voeg ik een gebeurtenis toe? Het enige dat ik kan kiezen is "[gebeurtenisprocedure]" bij "bij kiezen". Als ik "...." klik krijg ik een VBA scherm.
 
Je hebt de tekst waarschijnlijk niet tussen dubbele aanhalingstekens staan. De meest veilige manier is:
="Typ hier een zoekterm". Maar dan wordt het lastig om de waarde leeg te maken. Beter is dus het tekstvak met VBA te vullen.
Code:
Private Sub Form_Current()
    Me.ZoekTekst = "Typ een zoektekst"
End Sub

Bij de gebeurtenisprocedure (niet macro kiezen) maak je dan iets als:
Code:
Private Sub ZoekTekst_Enter()
    Me.ZoekTekst = ""
End Sub
 
Zal aan mij liggen, maar ik krijg de eerste code al niet werkend: de tekst verschijnt niet in het tekstvak....ik klik gewoon op 'programmacode' bovenin, selecteer het tekstvak (txtBedrijfsnaam) in het linkerdropdownmenu. In totaal staat er dan het volgende:

Private sub txtBedrijfsnaam_BeforeUpdate (Cancel as Integer)
Me.Bedrijfsnaam = "Bedrijfsnaam"
End Sub
 
Ik heb het ook niet over BeforeUpdate gehad; mijn eerste code vult het tekstvak als je het formulier opent, of naar een volgend record bladert (wat alleen kan als je een Rijbron hebt natuurlijk) en is een Formulier gebeurtenis. De tweede code werkt op de gebeurtenis <Bij kiezen> van het tekstvak.
 
Ik doe nu volgend:

- in de werkbalk klik ik op programmacode
- ik voer de code in

Private Sub Form_Current()
Me.ZoekTekst = "Typ een zoektekst"
End Sub

- als ik wissel naar Formulierweergave, krijg ik de melding "Compileerfout: Kan de methode of het gegevenslid niet vinden". tijdens de melding is ".ZoekTekst =" geel en als ik de melding wegklik is "Private Sub Form_Current()" geel gemarkeerd.
 
Heb je wel een tekstveld met de naam ZoekTest? In jouw eigen voorbeeldje had je het over txtBedrijfsnaam.
 
Een beeetje dom van mezelf (A) Ik heb het nu werkend.

Is het ook mogelijk om een bepaalde opmaak te geven aan de "Me." teksten?

Is het ook mogelijk dat de "Me." tekst weer terugverschijnt in het vakje wanneer dit vakje niet ingevuld wordt en er met de cursor naar een ander vak gegaan wordt? Dus een code van "als vakje = leeg, dan "Zoekterm""
 
ad 1: Ja, dat kan met Voorwaardelijke Opmaak.
ad 2: Ook dat is mogelijk, mits je de gebeurtenis laat plaatsvinden op een activiteit die plaatsvindt na het invullen van het tekstvak, en de actie die daar op volgt.
 
Ik vind het heel fijn dat je reageert op mijn vragen, dank daarvoor!:d
Ik zou wel willen vragen of je misschien iets duidelijker kunt zijn in je antwoord? Voor jou is dit allemaal wellicht eenvoudig, maar voor mij (iemand die er amper mee werkt) niet altijd.
Ik snap dan ook nu wel wat je zegt, maar niet hoe ik het moet doen....
 
Laatst bewerkt door een moderator:
Ik hou (zeker in het begin) bij nieuwe gebruikers de aanwijzingen met opzet een beetje kort; enerzijds om de kennis van de vraagsteller te testen, en anderzijds omdat we zoveel mogelijk proberen op het forum om je kennisniveau te verbeteren. Als we kant en klare oplossingen geven, die je alleen maar hoeft te kopiëren en plakken, dan heb je wel een snelle oplossing, maar zit je de volgende keer met hetzelfde probleem. Ik heb liever dat je dit soort problemen straks zelf kunt oplossen. De meeste mensen weten doorgaans eerder hoe ze een tekstvak moeten opmaken, dan dat ze kunnen programmeren. Blijkbaar ben jij niet 'de meeste mensen' :)

Overigens snap ik (bij nader lezen) je vraag niet helemaal:
Is het ook mogelijk om een bepaalde opmaak te geven aan de "Me." teksten?
 
Tsja, als ik kon coderen dan was het allemaal geen probleem natuurlijk....
Ik snap dat ik er met deze methode meer van leer, maar dan moet ik wel weten wat ik moet leren. Programmeren en coderen kan ik niet....

Met die vraag bedoelde ik of ik de tijdelijke teksten (die verdwijnen zodra in het vak geklikt wordt) rood kan laten maken zolang ze er staan. Zodra er dan een tekst aangepast wordt door de gebruiker, dan kan die tekst weer "normaal" worden zoals de rest.

Het laten terugverschijnen van de tijdelijke tekst (als er niets is ingevuld) lukt niet: ik vul bij "bij verlaten" middels opbouwfunctie voor expressies in de eigenschappen van het tekstvak het volgende in:

=IIf([txtBedrijfsnaam]="";"Bedrijfsnaam")

Dit doet helemaal niets. De tekst verschijnt niet terug. Lijkt dus geen effect te hebben....?
 
Je kunt best een database maken met de standaard technieken die Access biedt. Die db zal dan best correct werken, maar heeft dan vaak als nadeel dat er geen maatwerk oplossingen gebruikt kunnen worden. Kun je niet programmeren, of weet je niet wat er gebeurt in een procedure, dan kun je problemen zoals je die hier neerlegt niet oplossen. Je zult je dus moeten verdiepen in de mogelijkheden van Access. En dat gaat niet zonder leerproces.

Overigens vind ik deze topic een beetje onzinnig, want een tekst zoekveld dient in mijn ogen leeg te zijn. De gebruiker begint namelijk niet met iets te zoeken. En een dummy tekst als "Bedrijfsnaam" is al helemaal onzinnig, want als je een zoekveld <Bedrijfsnaam> maakt, zit daar het goed is al een tekstlabel bij, waarin je dan "Bedrijfsnaam" zet. Waarom zou daar dus een standaard tekst in moeten staan? Laat hem leeg, de gebruiker weet heus wel waar het vak voor bedoeld is! Nu moet je dus code gaan programmeren die je niet snapt, en die ook nog eens totaal overbodig is! Ik zou mijn tijd beter kunnen gebruiken dan onzinnige dingen in een formulier bouwen...
 
Je kunt best een database maken met de standaard technieken die Access biedt. Die db zal dan best correct werken, maar heeft dan vaak als nadeel dat er geen maatwerk oplossingen gebruikt kunnen worden. Kun je niet programmeren, of weet je niet wat er gebeurt in een procedure, dan kun je problemen zoals je die hier neerlegt niet oplossen. Je zult je dus moeten verdiepen in de mogelijkheden van Access. En dat gaat niet zonder leerproces.

Overigens vind ik deze topic een beetje onzinnig, want een tekst zoekveld dient in mijn ogen leeg te zijn. De gebruiker begint namelijk niet met iets te zoeken. En een dummy tekst als "Bedrijfsnaam" is al helemaal onzinnig, want als je een zoekveld <Bedrijfsnaam> maakt, zit daar het goed is al een tekstlabel bij, waarin je dan "Bedrijfsnaam" zet. Waarom zou daar dus een standaard tekst in moeten staan? Laat hem leeg, de gebruiker weet heus wel waar het vak voor bedoeld is! Nu moet je dus code gaan programmeren die je niet snapt, en die ook nog eens totaal overbodig is! Ik zou mijn tijd beter kunnen gebruiken dan onzinnige dingen in een formulier bouwen...

Een leerproces klinkt aantrekkelijk en dat is ook zeker wat ik wil hiermee! :)

Ik gebruik geen labels (staat onprofessioneel op een offerte) en de tekstvakranden heb ik transparant gemaakt (staat ook niet professioneel). Om het de gebruiker zo makkelijk mogelijk te maken geeft de dummy tekst aan waar nog zaken moeten ingevuld. Dat was mijn idee hiermee. Bovendien gebruik ik de tekstvakken ook op plaatsen waar er geen label bij past
 
Complete berichten quooten waar je zelf op reageeert, is een beetje onzinnig en maakt de topic er niet leesbaarder op, dus als je de gequoote tekst weg kan halen: graag!
Verder snap ik niet helemaal wat je bedoelt met
Ik gebruik geen labels (staat onprofessioneel op een offerte)
ik dacht dat we het over een formulier hadden? Dat ziet de klant toch niet? Hetzelfde voor
de tekstvakranden heb ik transparant gemaakt (staat ook niet professioneel)
die zijn in een rapport ook niet zichtbaar. Wèl op een formulier, maar het is toch handig als de gebruiker kan zien waar hij wat in moet vullen...
Laatste opmerking:
Bovendien gebruik ik de tekstvakken ook op plaatsen waar er geen label bij past
Ik dacht dat je het had over standaard teksten in zoektekstvakken? Die staan doorgaans in een koptekst.
Heb je teveel tekstvakken, werk dan met tabbladen op je formulier. Maar denk nog eens goed na of je überhaupt wel met standaard teksten wilt werken in een formulier, het voegt niks toe, en kost jou (en ons ondertussen ook :)) een hoop werk...
 
Aha, ik gebruik Access dus alweer verkeerd. Ik werkte alleen met een formulier en niet met een rapport....en als ik van dat formulier direct een PDF maak ipv een rapport dan krijg je tekstvakranden te zien.

Ik ga denk ik dus dat verschil maar eens uitzoeken.
 
Formulieren druk je in principe niet af; noch als papier, en ook niet als pdf. Bovendien kun je een formulier niet groeperen, en totaliseren en een rapport wel. Formulieren zijn voor input, rapporten voor output. Zo simpel moet je het zien.
Ik hoop dat je geen hartchirurg bent, want als je dat ook op deze manier hebt geleerd, vrees ik toch voor de patienten :)
 
Laatst bewerkt:
Haha, nee, ik zit in de marketing en sales. Dat leer je (met wat theoretische achtergrond) in mijn ogen het beste met vallen en opstaan, exact zoals dit dus ;) haha

Ik ga het bekijken! Thanks! :-)
 
Beschouw het maken van een (goede) database maar een beetje als een open hart operatie; als je niet goed (bij het begin) begint, dan kun je er gif op nemen dat het eindresultaat gaat tegenvallen :)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan