Avatar billede Slettet bruger
11. november 2005 - 10:10 Der er 5 kommentarer og
1 løsning

Skifte default value i en mde-fil

Se http://www.eksperten.dk/spm/662751

Tillæg:
Hvad så hvis det er en mde-fil?~)
Avatar billede jesperfjoelner Nybegynder
11. november 2005 - 13:09 #1
Så tror jeg ikke det kan lade sig gøre.
Ideen med MDE-filer er netop at det ikke kan lade sig gøre.
Der er ingen "design-visning" i en MDE-fil.
Avatar billede jesperfjoelner Nybegynder
11. november 2005 - 13:09 #2
Er det noget med noget kode eller registrering du er i gang med?
Access kan du også få til at skrive til almindelige tekstfiler, og det kan nogle gange bruges når man skal lave noget a la en registrering.
Avatar billede Slettet bruger
11. november 2005 - 13:49 #3
Jeg har lavet et program, som skal bruges til noget registrering på produktionsniveau. Ledelsen vil så også gerne pille og den almindelige interesseret fra koncernen vil også gerne se og så er der selvfølgelig systemadministratoren.

Jeg sætter deres niveau i et skjult felt i hovedformularen, den står nemlig altid åben. Jeg har så lavet nogle genveje som gør at jeg kan ændre niveau enten midlertidig eller permanent og det er selvfølgelig den sidste, som vil drille når jeg laver mde-filen. Jeg havde ikke tænkt over det for det virker jo nu, hvor jeg programmerer og tester!~)
Avatar billede hekla Nybegynder
12. november 2005 - 02:00 #4
Lav en tabel "T_BrugerNiveau" med ét felt "Brugerniveau" med plads til en definition på dit brugerniveau (a,b,c eller 1,2,3 eller hvad du nu kalder dem) og lav én post med det aktuelle niveau.

Lav et modul med en public variable og hent værdien fra tabellen:

Public BrugerNiv as string

Public Function GetBrugerNiv()
If BrugerNiv = "" or isnull(BrugerNiv) then
BrugerNiv = DLookup("BrugerNiveau", "[T_BrugerNiveau]")
Else
GetBrugerNiv = BrugerNiv
Endif
End Function


Når du åbner databasen sætter du Brugerniv ved at køre funktionen GetBrugerNiv() fra din autoexec-makro.


Sæt knappens standardværdi til =GetBrugerNiv()



Hvis du så vil gemme en ny standardværdi, kan du bruge en opdateringsforespørgsel til at gemme den i tabellen:
Function GemStandardBrugerNiveau()
Dim DB As DAO.Database
Set DB = CurrentDb
DB.Execute "Update [T_BrugerNiveau] Set BrugerNiveau = '" & BrugerNiv & "'"
End Function


Når du vil lave en forløbig ændring kan du gøre det fra formularen med:
Sub RetStandard()
Brugerniv = "din_default_værdi"
Me.Requery
End Sub
Avatar billede hekla Nybegynder
12. november 2005 - 02:00 #5
.
Avatar billede Slettet bruger
14. november 2005 - 09:23 #6
Ja, det er vel den eneste måde at gøre det på eller rettere princip at gøre det efter, egentlig ville jeg gerne have udgået at have niveau i en tabel, for så kan folk med lidt know-how selv definere deres niveau. Det er ikke så vigtigt i dette tilfælde, så jeg skal lige have fundet ud af hvilken fremgangsmåde jeg vælger!~)

Noget jeg syntes er et spændende område er muligheden for at lagre "globale" variable i vba, dette vil jeg kunne bruge på mange områder, bl.a. ovenstående, men kan det lade sig gøre?~) Jeg må hellere få lavet et nyt spørgsmål.

Tak for hjælpen!~)
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