Toon posts:

[ACCESS] instructie bewaren / oproepen

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik ben een access database aan het maken waarin een aantal sql instructie's en variabele vaker uitgevoerd moeten worden.

Tot nog toe defineerde ik de instructies per formulier in VB, dus voor elk formulier bijvoorbeeld;

Private Sub Form_Open(Cancel As Integer)

'tabellen verwijderen
DoCmd.DeleteObject acTable, "Totaal_Bijschrijving"

'nieuwe tabellen aanmaken
'versie 23-01-2002
DoCmd.RunSQL "SELECT DISTINCTROW blablabla

Je begrijpt dat bij het aanpassen van die SQL reeks ik alle formulieren door moet waar het voorkomt, ik neem aan dat ik deze code ook op kan slaan en aanroepen vanuit een formulier niewaar?!

Ik heb in de search gekeken, maar kan helaas niets vinden. Iemande een idee hoe ik dit het beste kan doen?!?!

Verwijderd

je plaatst deze code in een module. in procedures (sub's)
public sub verwijder(tabel as string)
docmd.deleteobject actable,table
end sub

en in je formulier schrijf je dan
private sub form_open(cancel as integer)
modulenaam.verwijder(totaal_beschrijving)

ik hoop dat dit helpt?

Verwijderd

Topicstarter
Dit werkt prima! Bedankt.

Als ik echter in de public sub een variabele defineer en een waarde geef,

neemt hij deze niet mee als ik hem aanroep in het formulier. Klopt dat?!

bijvoorbeeld:

(in de module)

public sub Lokatie()
dim Plaatscode as string
Plaatscode = AMS

---

(in formulier)


private sub Toon_Click()

msgbox Plaatscode


dit geeft een box zonder text erin?!

Verwijderd

variablen zijn alleen bekend binnen hun scope.
dit wil zeggen: je definieert een variable BINNEN de module is hij alleen bekend in die module.
je moet helemaal bovenaan plaatsten op de eerste regel
public plaatscode as string

Verwijderd

Topicstarter
nee, werkt niet ;-(

Ik heb eenvaste waarde, namelijk de plaats waar de database draait. Ik wil in alle SQL statements die waarde (als string) aan kunnen roepen.

Bij plaatscode as string krijg ik "niet geldig buiten procedure" VOlgens mij ontbreekt SUB.

Hoe roep ik die variabele in de procedure dan op?!

  • farlane
  • Registratie: Maart 2000
  • Laatst online: 21-08 18:33
Dat is wel erg BASIC ( ......euhm...laat maar )

In je module, net na Option Explicit ( - Want die staat daar natuurlijk - ) zeg je dat je een private constante string hebt:

Visual Basic:
1
Private Const ConnectionString as String = "INSERT UR STRING HERE"


en verder maak je een public functie die deze string returned, deze kun je dan gebruiken om aan te roepen
Visual Basic:
1
2
3
Public Function GetConnectionString () as String
    GetConnectionString  = ConnectionString
End Function



Tip : Ga eens wat theorie bekijken anders wordt dat ding van je een zootje. ( En dat is al zo makkelijk in VB )

Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.


Verwijderd

Topicstarter
Heel erg bedankt. Ik begrijp dat dit een vraag is in de categorie AAP NOOT MIES, maar ja. Die mensen heb je ook niewaar?

Verder gaat het me best aardig af hoor..
Pagina: 1