vba variablen controleren

  • Onderwerp starter Onderwerp starter rxr
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

rxr

Gebruiker
Lid geworden
24 okt 2008
Berichten
105
Hallo,

Ik heb wel wat programmeer ervaring maar absoluut niet vba. Wat ik dus altijd deed als iets niet werkte dan ging ik in mijn code stap voor stap kijken wat er gebeurde. Nu is mijn vraag kun je ook een msgbox creëren zodat ik kan zien wat de variable inhoud op dat moment. Of in een terminal dat mag ook.

Alvast bedankt.
 
Volgens mij kan je in de VBA editor een scherm direct openen, via Beeld --> venster direct.

Vervolgens kan je een "?" intoetsen gevolgd door je code, dan druk je op enter en kan je zien wat die doet.

Success
 
Een alternatief is natuurlijk om variabelen in een Msgbox te zetten:

Msgbox "Dit staat er in: " & sVariabele bijvoorbeeld.

Wil je een string van een SQL statement controleren, waarbij je bijvoorbeeld een filtering op een record of een bijwerkquery maakt, dan kun je ook een inputbox gebruiken:

Dim tmp as String
tmp=Inputbox("","",strSQL) als voorbeeld.

Het voordeel van een inputbox is, dat je de code met <Ctrl>+<C> kunt kopieërn en plakken in kladblok, zodat je er een normale query van kunt maken. Vaak zie je aan een foutmelding niet precies wat er fout gaat, en als je de volledige querytekst in een nieuwe query plakt, kun je daarna de query controleren in het query-ontwerpvenster.
De laatste truc gebruik ik dus best vaak...

Uiteraard kun je het venster Direct gebruiken, of het venster Lokale variabelen, waarin je al gelijk kunt zien wat er in de variabelen staat. Dat laatste werkt prima als je stap voor stap door de code loopt.

Michel
 
Ja perfect. Dat werkt allemaal goed.

Nu heb ik alleen nog een vraag. Ik werk nu aan een systeem dat ik niet. Mij is gevraagd daar een knop aan toe te voegen. Indien er op die knop wordt gedrukt moet er een email worden verstuurd. Nu lukt dat allemaal wel alleen ik heb het email adres niet beschikbaar als variable. Deze moet ik dus ophalen dmv een query. Nu gaat me dat ook nog wel lukken alleen ik weet niet hoe ik de orginele gegevens in een variable krijg zodat ik die query kan maken.

Als ik kijk zie ik bij het veld waar bijvoorbeeld de naam staat dit:

FactuurNaam_BeforeUpdate(Cancel As Integer)

Hoe krijg ik dit in een variable?

Iemand een idee?
 
Als Factuurnaam het veld is met het email adres, dan kun je dat op elke plek opvragen, dus ook met een nieuwe knop. Je hebt daar het BeforeUpdate event niet voor nodig.

Je krijgt dan iets als:
sEmail=Me.Factuurnaam.Value

Vervolgens kun je de variabele sEmail weer in de vervolgcode zetten.

Michel
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan