Avatar billede kasseper Nybegynder
04. oktober 2000 - 21:47 Der er 8 kommentarer og
2 løsninger

Globale variable - hvor skal de erklæres

Hvis jeg i en form gerne vil overføre en oplysning til en anden form kan jeg vel gøre det i form 1\'s onClose event, altså laver jeg en hændelsesprocedure hvor jeg lægger min oplysning i en global variabel. Dernæst henter jeg den i form 2\'s onLoad procedure....
Men hvor skal jeg erklære min variabel og hvordan. Jeg troede at jeg kunne gøre det i (General) delen i en af formene med flg. kode
public CurID as string, men når form2 åbnes er der ikke noget i curID....
Hjælp,
P.S. Kan det overhoved gøres sådan eller er der en smartere metode....?????
Avatar billede poulh Nybegynder
04. oktober 2000 - 22:03 #1
der er en lidt smartere metode efter min mening
prøv at kikke i hjælp under openargs
det er lidt nemmer end at forklare det
hvis det ikke er nok så skriv igen så skal jeg forsøge.
Avatar billede jalle Nybegynder
04. oktober 2000 - 22:04 #2
Hvis dine funktioner skal være tilgændelige for andre formularer så skal du starte med:

Public funcion CurID()

CurID As String

ovs....
Avatar billede lkp Nybegynder
04. oktober 2000 - 22:14 #3
Hej Kasseper

Koden bag en formular er ikke umiddelbart offentlig.

Den letteste måde, at lave det ønskede på, er at deklare dine Globale variable (på den måde du selv skriver), men i et nyt modul.

Altså et selvstændigt modul. I dette modul laver du en offentlig funktion du kan kalde fra koden bag din form, og som sætter den globale variabel.

Håber at det løser dit problem.

Med venlig hilsen

LKP
Avatar billede kasseper Nybegynder
04. oktober 2000 - 22:54 #4
LKP >> hvordan tilgår man den variabel...... er det noget med modulnavn.variabelnav !!????
Avatar billede lkp Nybegynder
04. oktober 2000 - 23:17 #5
Hej Kasseper

Det letteste er at gøre det med en funktion i modulet.

Lave en funktion, der ikke gør andet end, at tage en variabel som parameter, og derefter sætter den globale variabel til parametren.

Håber at du kan følge mig, ellers skriv igen.

Med venlig hilsen

LKP
Avatar billede cktarget Nybegynder
05. oktober 2000 - 10:42 #6
Som LKP skriver, saa laver du et helt nyt modul og laegger din variabel derind. Saa tilgaar du den igen blot ved at skrive variabel navnet (husk paa at den er global). Saa her kan du gemme/hente global data.

Jeg vil dog meget staerk raade dig til at taenke dig godt om inden du begynder at bruge globale variable, det er ikke just noget der letter overskueligheden af programmet.

Mvh Kedde
Avatar billede kasseper Nybegynder
05. oktober 2000 - 11:04 #7
Jamen cktarget naar jeg bare skriver variabel navnet saa returnere den ikke noget....
Jeg har f.eks. oprettet flg. linie i mit modul :


Public CurID as string

Saa skriver jeg i min forms onclose event

curID = Me![ID]

og i min form2s onload event

msgbox(curID)
Me![ID] = curID


Og i msgboxen staar der ikke noget....og id i form2 er tom...
Avatar billede lkp Nybegynder
05. oktober 2000 - 12:24 #8
Hej Kasseper

Har du prøvet at oprette den funktion jeg beskrev?

Med venlig hilsen

LKP?
Avatar billede kasseper Nybegynder
05. oktober 2000 - 12:56 #9
nej det må være mit næste forsøg, kan først prøve det iaften,MEN
er det ikke  lidt overkill at lave en funktion til at tildele en variabel en værdi, man burde jo kunne gøre det
ved normal tildeling, men virker det er jeg glad....
Avatar billede kasseper Nybegynder
07. oktober 2000 - 13:12 #10
Så virker det bare, KANON tak til alle, løsningen var fra cktarget og lkp, lidt blandet men det virker nu....KANON
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester