strFormValg ændres i Formen "xxxxx". Hvordan får jeg den ændrede strFormValg ud uden at skulle skrive ind i et tekstfelt. Jeg ønsker den ud som en streng variabel. Altså ny strFormValg=
Fra en Form lad os kalde den StartForm kalder jeg form xxxxx og overfører variablen strFormValg = "yyyyy"
Det gør jeg således: DoCmd.OpenForm "xxxxx", , , , , acDialog, strFormValg
I Form xxxxx ændres strFormValg. Den ændrede værdi skal tilbageføres til StartForm.
Det kan gøres ved at skrive værdien ind i et tekstfelt, men jeg ønsker værdien tilbageført via VBA med en variabel f.eks strFormValg nu med den ændrede værdi
Det du gør er at bruge formens OpenArgs til at overføre nogle data til den. Formens OpenArgs er ReadOnly så du har ikke mulighed for at ændre værdien i den form du åbner
Det du er ude efter er det samme som at kalde en procedure med en ByRef parameter som er en parameter proceduren kan ændre og man kan aflæse den nye værdi i den kaldende kode. Det modsattte er ByVal som er 'skrivebeskyttet' i proceduren Det kan du ikke gøre ved bruge af OpenArgs - du er nødt til at have en eller anden global variabel til det brug.
Det var hvad jeg forventede Jeg er ikke glad for globale variabler men bruger dem nødtvungne Det er som om Microsoft ikke tænker i praktisk brug Input, ja - ok med OpenArgs, men output ?
Hvis du ikke kan bruge min løsning, afstår jeg fra point.
Synes godt om
Ny brugerNybegynder
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.