[VBA] Maximaal aantal tekens invoeren

Pagina: 1
Acties:
  • 522 views sinds 30-01-2008

Acties:
  • 0 Henk 'm!

Anoniem: 19425

Topicstarter
Hoi,

Ik ben bezig met een database, nu heb ik een aantal invoerformulieren gemaakt!
Maar hoe kan ik de invoervelden zo maken dat er maar maximaal 4 cijfers mogen worden ingevoerd in een cijferveld en dat er maximaal 10 tekens mogen worden ingevoerd in een invoerveld voor tekst?

Alvast Bedankt!

Acties:
  • 0 Henk 'm!

Anoniem: 72194

invoermasker maken

Acties:
  • 0 Henk 'm!

Anoniem: 19425

Topicstarter
Jah dat moet met VBA, maar ik kan niks op internet vinden!!

Acties:
  • 0 Henk 'm!

  • alienfruit
  • Registratie: Maart 2003
  • Laatst online: 11:03

alienfruit

the alien you never expected

http://support.microsoft....ntent/nwind/T-Art_040.asp

http://support.microsoft....spx?scid=kb;en-us;q120377

Als je dit idee toepast van input masks dat moet dit wel lukken :)

[ Voor 131% gewijzigd door alienfruit op 31-05-2003 19:27 ]


Acties:
  • 0 Henk 'm!

  • compufreak88
  • Registratie: November 2001
  • Laatst online: 02-05 17:51
je kan mss ook de event change gebruiken icm len

je kijkt met len hoeveel karakters er in zitten , en als er 1 teveel in komt haal je hem weg

Acties:
  • 0 Henk 'm!

Anoniem: 19425

Topicstarter
Ik heb er even gekeken maar link 1 wordt uitgelegt hoe je een invoerveld kan maken waar precies het aantal tekens moet worden opgegeven zoals is ingesteld! en dat wil ik niet! Ik wil instellen dat er alleen TEKST ingevoerd kan worden.

De 2e link is voor een postcode en ik heb geen postcode veld in m`n formulier!

Deze velden moeten worden gemaakt zodat ik:

Bij Artikel alleen letters kan invullen
Bij Omschrijving ook alleen letters
Bij Stukprijs alleen getallen

Afbeeldingslocatie: http://xtwebhost.no-ip.com/schumache/access.jpg

Acties:
  • 0 Henk 'm!

  • OZ-Gump
  • Registratie: November 2002
  • Laatst online: 14-05-2024

OZ-Gump

terug van weggeweest

OK, ten eerste: wat wil je in godsnaam met die (veel te grote!) image aan dit topic toevoegen?

Ten tweede: misschien zou je eens een keer een boek over Access moeten lezen, want een van de standaard opties voor een tekstvak is onder andere het instellen van een invoermasker (wat hier al verschillende malen geroepen is!). Als je een beetje verder kijkt dan je neus lang is, kom je op een gegeven moment een stukje in de help tegen dat je het volgende vertelt over invoermaskers:
Teken - Beschrijving
0 - Cijfer (0-9, invoer vereist, plus- [+] en min- [-] tekens niet toegestaan).
9 - Cijfer of spatie (invoer niet vereist, plus- en mintekens niet toegestaan).
# - Cijfer of spatie (invoer niet vereist, spaties worden tijdens het bewerken weergegeven maar worden niet opgeslagen, plus- en mintekens toegestaan).
L - Letter (A-Z, invoer verplicht).
? - Letter (A-Z, invoer optioneel).
A - Letter of cijfer (invoer verplicht).
a - Letter of cijfer (invoer optioneel).
& - Willekeurig teken of spatie (invoer verplicht).
C - Willekeurig teken of spatie (invoer optioneel).
. , : ; - / Tijdelijke aanduiding voor decimalen en scheidingstekens voor duizendtallen, datums en tijden. (De tekens die feitelijk worden weergegeven, worden ingesteld via Landinstellingen in het Configuratiescherm van Windows.)
< - Alle getypte tekens worden omgezet in kleine letters.
> - Alle getypte tekens worden omgezet in hoofdletters.
! - Het invoermasker wordt van rechts naar links weergegeven in plaats van andersom. De getypte tekens vullen het masker altijd van links naar rechts. U kunt het uitroepteken op elke plaats in het invoermasker opnemen.
\ - Het teken dat hierop volgt, wordt als letterlijk teken weergegeven (\A wordt bijvoorbeeld weergegeven als A).
Je kunt, nadat je bij onvoermasker op de puntjes hebt geklikt, een eigen masker ingeven. Dit kun je dus opmaken met de tekst zoals die hierboven staat...
Als je dus iemand voor 8 karakters de mogelijkheid wil geven tekst te typen, wordt je invoermasker "????????" maar dan natuurlijk zonder de quotes.

Als het je hiermee niet lukt.....

My personal website


Acties:
  • 0 Henk 'm!

Anoniem: 19425

Topicstarter
OZ-Gump schreef op 02 juni 2003 @ 11:48:
OK, ten eerste: wat wil je in godsnaam met die (veel te grote!) image aan dit topic toevoegen?

Ten tweede: misschien zou je eens een keer een boek over Access moeten lezen, want een van de standaard opties voor een tekstvak is onder andere het instellen van een invoermasker (wat hier al verschillende malen geroepen is!). Als je een beetje verder kijkt dan je neus lang is, kom je op een gegeven moment een stukje in de help tegen dat je het volgende vertelt over invoermaskers:


[...]

Je kunt, nadat je bij onvoermasker op de puntjes hebt geklikt, een eigen masker ingeven. Dit kun je dus opmaken met de tekst zoals die hierboven staat...
Als je dus iemand voor 8 karakters de mogelijkheid wil geven tekst te typen, wordt je invoermasker "????????" maar dan natuurlijk zonder de quotes.

Als het je hiermee niet lukt.....
Cool, maar hoe doe je dat dan als je iets bijvoorbeeld minimaal 3 wilt geven en maximaal 8?

Acties:
  • 0 Henk 'm!

Anoniem: 72194

000#####

Acties:
  • 0 Henk 'm!

  • OZ-Gump
  • Registratie: November 2002
  • Laatst online: 14-05-2024

OZ-Gump

terug van weggeweest

ehm....
Denk eens even mee....

Je wilt maximaal 8 karakters hebben. Dus "????????". Maar nou wil je van drie van die acht niet de Optionele invoer, maar de Verplichte invoer (!!!zie eerdere post!!!).
Hmm... 3 keer verplichte invoer, dat was zoiets als "LLL".

Is het dan echt zo moeilijk om daar een invoermasker uit te laten komen? Eentje met de eerste drie verplicht, de laatste vijf optioneel?

Je zit echt op een kant-en-klaar antwoord te wachten en probeert zelf helemaal niks met alle mogelijkheden die je geboden worden.
Het antwoord staat recht voor je neus, alleen er staat 7 + 4 in plaats van 11. En jij wil alleen maar 11 horen, in plaats van de weg naar die 11, en dat is hier eigenlijk echt NIET de bedoeling.

Een beetje eigen initiatief mag natuurlijk ook wel!

[ Voor 2% gewijzigd door OZ-Gump op 02-06-2003 12:23 . Reden: typo ]

My personal website


Acties:
  • 0 Henk 'm!

  • OZ-Gump
  • Registratie: November 2002
  • Laatst online: 14-05-2024

OZ-Gump

terug van weggeweest

Dit voorbeeld ging over TEKST :X

My personal website


Acties:
  • 0 Henk 'm!

Anoniem: 19425

Topicstarter
OZ-Gump schreef op 02 juni 2003 @ 12:12:
ehm....
Denk eens even mee....

Je wilt maximaal 8 karakters hebben. Dus "????????". Maar nou wil je van drie van die acht niet de Optionele invoer, maar de Verplichte invoer (!!!zie eerdere post!!!).
Hmm... 3 keer verplichte invoer, dat was zoiets als "LLL".

Is het dan echt zo moeilijk om daar een invoermasker uit te laten komen? Eentje met de eerste drie verplicht, de laatste vijf optioneel?

Je zit echt op een kant-en-klaar antwoord te wachten en probeert zelf helemaal niks met alle mogelijkheden die je geboden worden.
Het antwoord staat recht voor je neus, alleen er staat 7 + 4 in plaats van 11. En jij wil alleen maar 11 horen, in plaats van de weg naar die 11, en dat is hier eigenlijk echt NIET de bedoeling.

Een beetje eigen initiatief mag natuurlijk ook wel!
Ik zit helemaal niet op een kant en klaar antwoord te wachten, een beetje hulp in de goede richting is ook goed.
Dus jij zeg dat ik moet invullen
"LLL?????" <--- zo dus?

Maar hoe zou je dat dan neerzetten als je dat in VBA wilt doen?

[ Voor 6% gewijzigd door Anoniem: 19425 op 02-06-2003 14:37 ]


Acties:
  • 0 Henk 'm!

Anoniem: 15252

Text1.InputMask = "LLL?????" in de Form Load???

ps: Hoe je bij het openen van een formulier code uitvoert moet je zelf toch kunnen uitvinden...

Acties:
  • 0 Henk 'm!

  • OZ-Gump
  • Registratie: November 2002
  • Laatst online: 14-05-2024

OZ-Gump

terug van weggeweest

Zie Sikko2go.
enne.... binnen Access hoeft dit toch helemaal niet vanuit code? Tenzij je de edit runtime creeert, maar daar geloof ik eerlijk gezegd helemaal niks van.

Roep gewoon de eigenschappen van het ding op en ga naar het juiste tabblad (gegevens). Hier kun je het invoermasker ingeven.

My personal website


Acties:
  • 0 Henk 'm!

Anoniem: 19425

Topicstarter
OZ-Gump schreef op 02 June 2003 @ 15:10:
Zie Sikko2go.
enne.... binnen Access hoeft dit toch helemaal niet vanuit code? Tenzij je de edit runtime creeert, maar daar geloof ik eerlijk gezegd helemaal niks van.

Roep gewoon de eigenschappen van het ding op en ga naar het juiste tabblad (gegevens). Hier kun je het invoermasker ingeven.
Uh jah maar wat als de opdracht is dat het je de invoegformulieren foolproof moet maken mbv VBA?

Acties:
  • 0 Henk 'm!

Anoniem: 19425

Topicstarter
Ik ben bezig er 1 te maken voor de stukprijs:


Private Sub Stuksprijs_BeforeUpdate(Cancel As Integer)
If IsNumeric(stukprijs) = False Then
MsgBox ("Voer hier getallen in en geen karakters of letters")
Else
If stukprijs <= 0 Then
MsgBox ("Vul een getal in boven de 0")
Else
If stukprijs > 99999 Then
MsgBox ("Vul een getal in kleiner dan 9999")
End If
End If

End If
End Sub

Hij geeft de foutmelding maar hij schrijft de prijs wel bij in de tabel hoe komt dat?

[ Voor 50% gewijzigd door Anoniem: 19425 op 03-06-2003 14:39 ]


Acties:
  • 0 Henk 'm!

  • OZ-Gump
  • Registratie: November 2002
  • Laatst online: 14-05-2024

OZ-Gump

terug van weggeweest

Omdat je zelf de code om weg te schrijven niet hebt geschreven, en die dus ook niet tegengehouden wordt. Het enige wat jij doet is een melding geven, maar je abort niks. Je zou dat kunnen doen door cancel een waarde te geven waardoor de update gecancelled wordt...

Maar, voor de ik-weet-niet-hoeveelste keer.... Zet een invoermasker op je edit, dan kunnen ze niet eens verkeerde waardes ingeven om te beginnen! Je hoeft niet te controleren op wat er is ingevoerd, want met een invoermasker kunnen ze alleen juiste waardes ingeven (lees: waardes die jij toestaat).

Het feit dat jij een antwoord geeft
Uh jah maar wat als de opdracht is dat het je de invoegformulieren foolproof moet maken mbv VBA?
doet mij vermoeden dat dit om een huiswerkvraag gaat en niet om iets anders. Waarom zou je anders perse VBA willen gebruiken, terwijl het veeeeel makkelijker is om in Design Time alvast je invoermasker in te stellen?

En een invoermasker instellen bij het openen van het scherm is ook mbv VBA, maar dat vind je blijkbaar geen oplossing?

[zeikmode]
Die reactie van mij was niet nodig geweest als jij van het begin af aan had aangegeven dat het de bedoeling was een form foolproof te maken mbv VBA....
[/zeikmode]

My personal website


Acties:
  • 0 Henk 'm!

Anoniem: 19425

Topicstarter
OZ-Gump schreef op 03 June 2003 @ 14:53:
Omdat je zelf de code om weg te schrijven niet hebt geschreven, en die dus ook niet tegengehouden wordt. Het enige wat jij doet is een melding geven, maar je abort niks. Je zou dat kunnen doen door cancel een waarde te geven waardoor de update gecancelled wordt...

Maar, voor de ik-weet-niet-hoeveelste keer.... Zet een invoermasker op je edit, dan kunnen ze niet eens verkeerde waardes ingeven om te beginnen! Je hoeft niet te controleren op wat er is ingevoerd, want met een invoermasker kunnen ze alleen juiste waardes ingeven (lees: waardes die jij toestaat).

Het feit dat jij een antwoord geeft
[...]
doet mij vermoeden dat dit om een huiswerkvraag gaat en niet om iets anders. Waarom zou je anders perse VBA willen gebruiken, terwijl het veeeeel makkelijker is om in Design Time alvast je invoermasker in te stellen?

En een invoermasker instellen bij het openen van het scherm is ook mbv VBA, maar dat vind je blijkbaar geen oplossing?

[zeikmode]
Die reactie van mij was niet nodig geweest als jij van het begin af aan had aangegeven dat het de bedoeling was een form foolproof te maken mbv VBA....
[/zeikmode]
Niet echt veel toegevoegde waarde..... ik moet hem cancellen; daar was ik zelf ookal achter...

Acties:
  • 0 Henk 'm!

  • OZ-Gump
  • Registratie: November 2002
  • Laatst online: 14-05-2024

OZ-Gump

terug van weggeweest

Daar was je zelf al achter? Waarom vraag je dan hoe het moet? Ik geef je de oplossing voor een vraag, en dan ga jij hier een beetje roepen dat de post geen toegevoegde waarde heeft? Ik bedoelde de VARIABELE CANCEL DIE DE SUB HEEFT. Kijk maar eens goed in je code. Ik weet dat het not done is in P&W, maar toch: RTFM!

En misschien is het de volgende keer nuttig om alleen relevante gedeeltes van een post te quoten. Dit leest heel ongemakkelijk voor andere GoT'ers...

My personal website


Acties:
  • 0 Henk 'm!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 07-07 15:20

Janoz

Moderator Devschuur®

!litemod

Misschien is het beter om toch maar even bij de bieb/boekhandel langs te lopen om een boek te halen. Het is hier niet de bedoeling dat je hier iemand uit komt zoeken die je vervolgens aan het handje door het project neemt.

Als je dan ook nog degene die met zijn hand over zijn hart strijkt en je alsnog helpt negeert...

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'

Pagina: 1

Dit topic is gesloten.