Toon posts:

[Access/VBA] Als functie en tijdelijk onthouden variable *

Pagina: 1
Acties:
  • 324 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Ik probeer het volgende te doen.

Ik heb een barcode scanner die leest een barcode in.
Dit kunnen 2 barcodes zijn:

bv 000160 en I912343215678


Dus eentje van 6 cijfers en eentje van 1 letter en 12 cijfers
de 6 cijfers staan in een tabel en worden aan de hand van die
tabel geverifieerd en die 1 + 12 cijfers die worden van een barcode af gelezen.

Afhankelijk van wat ie tegen komt moet ie iets anders doen.
Ik dacht dus:
code:
1
If Not [Schoolpasnummer] = L000000000000 Then

deze werkt niet helemaal goed.
Het is dus altijd een I (i-tje) en dan 12 cijfers.

Maar okay het volgende is dan.
Als er dan een 6 cijferige code uit komt dan moet ie een formulier doorlopen
en vanalles op true zetten, dit lukt en werkt ook. Maar dan moet ie eigenlijk het schoolpasnummer even opslaan (tijdelijk). Om als er opnieuw een code wordt gescand en dat is een 13 karakter code dat ie dan de oude schoolpasnummer meeneemt in het formulier om een koppeling te maken.

Ik hebnu de onderstaande code helemaal
het op true gooien werkt wel allemaal alleen het filteren is niet optimaal
en het (tijdelijk) onthouden van het schoolpasnummer werkt niet.

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Private Sub Zoekenopschoolpasnummer_AfterUpdate()
Dim rs As Object
On Error GoTo fout
Set rs = Me.Recordset.Clone
If Not [Schoolpasnummer] = L000000000000 Then
rs.FindFirst "[Schoolpasnummer] = '" & Me![Zoekenopschoolpasnummer] & "'"
Me.Bookmark = rs.Bookmark
Response = dataerrorcontinue
If Me.blacklist_aan = True Then
  MsgBox "Leerling staat op de blacklist en er kan dus geen kaartje aan deze leerling worden verkocht! Neem contact op met gala@kroew.nl"
Exit Sub
End If
If Not Me.Toegangsbewijs Then Me.Toegangsbewijs = True Else MsgBox "Leerling heeft al een toegangsbewijs!"
Me.bewijsgekochtop = Now()
'hier wil ik het schoolpasnummer opslaan om eventueel later nog een keer te gebruiken.

Else
MsgBox " (" & Schoolpasnummer & ") "
'even schoolpasnummer laten zien om te checken of het klopt.


End If

Exit Sub
fout: MsgBox "Ongeldig schoolpasnummer"



End Sub



waar heb ik een denk fout gemaakt?! En waar kan ik eventueel iets andere info er over vinden.

Google
got
F1
MSDN

allevier kan ik niets goeds op vinden.

Owja wat houdt het precies in:

Ik scan een nummer en als het gewoon een schoolpas is dan wordt het gezien als een toegangsbewijs en dan krijgt toegangsbewijs de waarde = true
Is het een barcode dan moet die barcode worden gekoppeld aan een schoolpasnummer(vandaar het tijdelijk onthouden om ze zo samen weg te schrijven!)

offtopic:
titel niet helemaal af, waarom lees ik toch altijd alles door behalve de titel! :)
Het moet dus zijn:
[Access/VBA] Problemen met Als functie en tijdelijk onthouden variabele

[ Voor 22% gewijzigd door Verwijderd op 02-12-2003 05:09 ]


  • ATS
  • Registratie: September 2001
  • Laatst online: 12-02 13:46

ATS

Er zijn diverse opties voor het vasthouden van je gegevens, afhankelijk van waar je ze de volgende keer wil gebruiken.

-Bij gebruik in dezelfde functie is een Static variabele wel handig. Dit is een keyword dat je kan opgeven bij de declaratie van je variabelen in de functie, die er voor zorgt dat je waarde bewaard blijft.

-Bij gebruik binnen je module (ook formulier) kan je gebruik maken van een variable op module niveau. In plaats dat je je variabele declareerd in je functie doe je dat op hetzelfde niveau als je functies, eventueel met een Global keyword erbij. Nu kunnen meerdere funties je variabelen benaderen.

Succes!

My opinions may have changed, but not the fact that I am right. -- Ashleigh Brilliant


Verwijderd

Topicstarter
Het blijft eigenlijk in hetzelfde formulier alleen dan dat het forumiler wordt geupdate met nieuwe gegevens. Dus dat kan ik dan het beste kiezen?

Een Static variabele of een Global Keyword?

  • ATS
  • Registratie: September 2001
  • Laatst online: 12-02 13:46

ATS

Nogmaals: dat is afhankelijk van waar je precies die waarde weer nodig hebt. Binnen dezelfde _functie_? -> static variabele. Ook binnen andere funties? -> variabele in de module van het formulier. Globaal in de applicatie -> global in losse module.

My opinions may have changed, but not the fact that I am right. -- Ashleigh Brilliant