Avatar billede theofilos Nybegynder
08. juli 2003 - 15:09 Der er 30 kommentarer og
2 løsninger

Info og pop-up-mode

Jeg kunne godt tænke mig at lave en slags hjælpefil til min database med oplysninger om, hvordan man bruger programmet, råd og tips samt, at det er mig, der har lavet programmet. Hvordan gør jeg det - og kan sådan en fil integreres i databasefilen?

Yderligere kunne jeg godt tænke mig, at min formular popper op direkte på skærmen ALENE - så Access højst ligger i startlinjen... med andre ord nærmest som en post-it-besked..


Er dette muligt - og hvordan?

Mvh

Theofilos
Avatar billede henrik13 Nybegynder
08. juli 2003 - 15:14 #1
Du laver bare en formular med dine hjælpeinfo, og den kan fylde hele skærmen, så alt andet er væk, Demo sendes gerne.
Avatar billede theofilos Nybegynder
08. juli 2003 - 15:29 #2
Det, du foreslår, var min nødplan. Men det er ikke det, jeg vil.

Jeg prøver igen:

1. Findes der en form for hjælpefil, som man kan lave, der i sin opbygning minder om andre hjælpefiler? Pyt med, hvis ikke den kan integreres i databasen. Det var bare for at vide, hvordan man gør.

2. Kan man på nogen måde få en formular (en lille én, som IKKE skal fylde hele skærmen) til at poppe op på skærmen UDEN resten af Access-programmet bliver synligt? Altså lige som en "seddel" man kan få de der "post-it-programmer" til at sætte på skærmen? Så kunne man evt. lade "hjælp" fylde hele skærmen.

Mvh

Theofilos
08. juli 2003 - 15:43 #3
Theofilos-> Lad os starte med pkt. 2
Du kan lave din formular som popup/modal.
Dernæst kan du enten lave en genvej til databasen, som du bruger til at åbne den hver gang (denne skal så sættes til at åbne minimeret).
Alternativt kan du her: http://www.mvps.org/access/api/api0019.htm finde en funktion, som giver dig mulighed for at minimere og maksimere Access Main vindue.

Mht hjælpfiler, så findes der en del forskellige programmer, som kan lave hjælpfiler. De fleste hedder noget med Helpdesigner, helpwriter, helpcreator og lign. Disse kan lave hjæpefiler ligesom når du sidder og skriver i Word. Hvert dokument for så et Help context ID, som du kan angive på hver formular eller på hver kontrolelement (kig selv i egenskaberne).

Flere af programmerne er fuld funktionsdygtige i trialversionerne.

/Thomas
Avatar billede theofilos Nybegynder
08. juli 2003 - 16:05 #4
Ups... den var værre...

Det er sikkert rigtigt, Thomas, men det ser godt nok vanskeligt ud.

Min formular er sat til "popup". Men det fjerner jo ikke Access-vinduet. Jeg ønsker jo ikke manuelt at minimere Access-vinduet hver gang, jeg åbner min database...

Lidt mere hjælp ville være strålende... jeg ved ikke rigtig, hvor jeg skal begynde...

Mvh

Theofilos
Avatar billede henrik13 Nybegynder
08. juli 2003 - 16:09 #5
Du skal også regne med at afsætte ca 2000 til 3000 kr til det program. Har det selv.
Vh Henrik
08. juli 2003 - 16:12 #6
På din formular VedIndlæsning (Form_Load) kan du skrive:
Const SW_HIDE = 0   
fSetAccessWindow SW_HIDE


Herefter laver du et nyt modul, hvor du indsætter:

Global Const SW_HIDE = 0
Global Const SW_SHOWNORMAL = 1
Global Const SW_SHOWMINIMIZED = 2
Global Const SW_SHOWMAXIMIZED = 3


Private Declare Function apiShowWindow Lib "user32" _
    Alias "ShowWindow" (ByVal hwnd As Long, _
          ByVal nCmdShow As Long) As Long

Function fSetAccessWindow(nCmdShow As Long)
Dim loX  As Long
Dim loForm As Form
    On Error Resume Next
    Set loForm = Screen.ActiveForm
    If Err <> 0 Then 'no Activeform
      If nCmdShow = SW_HIDE Then
        MsgBox "Cannot hide Access unless " _
                    & "a form is on screen"
      Else
        loX = apiShowWindow(hWndAccessApp, nCmdShow)
        Err.Clear
      End If
    Else
        If nCmdShow = SW_SHOWMINIMIZED And loForm.Modal = True Then
            MsgBox "Cannot minimize Access with " _
                    & (loForm.Caption + " ") _
                    & "form on screen"
        ElseIf nCmdShow = SW_HIDE And loForm.PopUp <> True Then
            MsgBox "Cannot hide Access with " _
                    & (loForm.Caption + " ") _
                    & "form on screen"
        Else
            loX = apiShowWindow(hWndAccessApp, nCmdShow)
        End If
    End If
    fSetAccessWindow = (loX <> 0)
End Function
Avatar billede theofilos Nybegynder
08. juli 2003 - 16:48 #7
Tak Thomas. Jeg har gjort, som du skrev.

Men desværre virker det ikke. Ved åbning kommer beskeden "Cannot hide Access unless a form is on screen".

Skal SW_Hide-henvisningen sættes et andet sted end "ved indlæsning"?

Mvh

Theofilos
Avatar billede henrik13 Nybegynder
08. juli 2003 - 16:51 #8
>>theofilos
Thomas kode virker , har lige lavet den.
Avatar billede theofilos Nybegynder
08. juli 2003 - 17:24 #9
Nå da..

Thomas har da svaret fint på mit spørgsmål. Det er bare ærgeligt, at det ikke virker for mig (Access 2000). Kan det skyldes en eller anden hændelse i min formel? F.eks. autoexec'en?

Mvh

Theofilos
Avatar billede henrik13 Nybegynder
08. juli 2003 - 17:30 #10
>>theofilos
Jeg kan lige fjerne mine personlige ting, og sende dig en der virker.
Vh Henrik13
Avatar billede terry Ekspert
08. juli 2003 - 17:54 #11
Avatar billede theofilos Nybegynder
08. juli 2003 - 18:13 #12
Da jeg skulle åbne din demo, fik jeg beskeden:

"Handlingen lykkedes ikke... Macronavn: Autoexec... Betingelse: Sand.." etc..


Hvad er der galt. Jeg benytter Access2000 på Win XP..

Mvh

Theofilos
Avatar billede mugs Novice
08. juli 2003 - 18:33 #13
Afhængig af hvor maget du vil skrive i dine hjælpetekster, er der en lidt nemmere vej.

I formularens designvisning højreklikker du på et felt > egenskaber > fanen > andre.

Her har du en egenskab der hedder Statuslinietekst. Hvis du skriver en hjælpetekst her, vil den blive vist nederst til venstre på skærmen i formularens statuslinie.

En anden egenskab er kontrolElementTiptekst. Den tekst du skriver her vil poppe op som et lille vindue, når markøren glider henover feltet i formularvisning.

nok ikke så prof som de øvrige forslag, men jeg plejer at benytte tiptekst til at skrive f.eks. inputmasker, hvis f.eks et datofelt kræver en bestemt indtastning.
Avatar billede rosco Novice
08. juli 2003 - 18:39 #14
Jeg bruger selv denne ved hændelsen Åbning af formular

' Minimerer database Vinduet  og åbner formularen
On Error GoTo Form_Open_Err

    ' Minimerer database Vinduet.
    DoCmd.SelectObject acForm, "DinFormular", True
    DoCmd.Minimize
       
Form_Open_Exit:
    Exit Sub

Form_Open_Err:
    MsgBox Err.Description
    Resume Form_Open_Exit
Avatar billede mugs Novice
08. juli 2003 - 18:41 #15
rosco > Je gtror een af os har misforstået noget :o)
Avatar billede rosco Novice
08. juli 2003 - 18:52 #16
mugs> det er nok ikke umuligt:0)! jeg venter og kigger med.
Avatar billede mugs Novice
08. juli 2003 - 18:57 #17
rosco > Det er nok mig der blander tingene lidt sammen. Har lige givet et indlæg her:

http://www.eksperten.dk/spm/373433

som netop handler om at maksimere en formular.
Avatar billede rosco Novice
08. juli 2003 - 19:15 #18
mugs > ja! der er hvad der kan ske, skadernes omfang er vist til at overskue :o)
Avatar billede terry Ekspert
08. juli 2003 - 19:15 #19
Theofilos>No idea what the problem is, I am also using Access 2000 in XP!
08. juli 2003 - 19:27 #20
Theofilos-> Du er velkommen til at sende den til mig, så jeg kan kigge på den. Det er garanteret bare en banal fejl.

tj@milla.dk
Avatar billede fynbohans Nybegynder
08. juli 2003 - 19:34 #21
På www.helpmaster.com er der en masse gode råd og downloads.
Og Microsofts Help Compiler, som producerer .chm-filer, kan hentes
gratis hos Microsoft. Søg efter: HTML Help Workshop.
Avatar billede rosco Novice
08. juli 2003 - 19:44 #22
Jeg prøvet med Help Workshop, det varer noget før jeg bliver fortrolig med det program. Så jeg gjorde det at jeg lavede hjælpeoplysningerne i Word, derefter med Word kunne jeg lave det om til en HTML-fil, som så kunne åbnes via et hyperlink i en formular,(jeg kunne ikke få en knap til det).
Avatar billede fynbohans Nybegynder
08. juli 2003 - 20:34 #23
Knappen skal starte en makro: KørProgram og i kørselslinjen f.eks.
c:\windows\hh.exe c\windows\help\calc.chm
som starter hjælp til lommeregner.
Prøv først om kommandolinjen er rigtig i "Kør" og kopier linjen herfra.
Avatar billede rosco Novice
08. juli 2003 - 20:37 #24
fynbohans > kigger på det !
Avatar billede theofilos Nybegynder
08. juli 2003 - 20:48 #25
Tak allesammen. Jeg tror nu på en løsning.

Thomas - jeg sender dig lige min database. Tak fordi du vil kigge på den.

Jeg vender tilbage med points etc. i morgen. Det er ved at blive sent.

Mvh

Theofilos
Avatar billede rosco Novice
08. juli 2003 - 20:57 #26
fynbohans > det driller , opretter det som spørgsmål.
08. juli 2003 - 22:59 #27
hmmm det driller sgu lidt :o(

Access kan ikke rigtig finde ud af om den skal skjule både formularen og Access-vinduet eller den skal komme med en fejl!!

Koden er skrevet til Access 97, hvor den muligvis virker. Men den virker i hvert fald ikke på min Access XP.

Jeg har prøvet alt muligt: Sat en forsinkelse på vha timeren, aktiveret koden efter at formularen var åben, lavet et loop, som skulle få den til at blive ved at forsøge indtil formularen var færdigindlæst. Alle 3 uden held.

Jeg beklager!

Så hvis andre har lyst....?
Avatar billede fynbohans Nybegynder
08. juli 2003 - 23:13 #28
Hvilken kode er det ? Mit exempel var Acces2000.Kender ikke
Acces XP, men prøv i Visual Basic Help at slå op på AppActivate.
Hvilket OS bruger du?
Avatar billede fynbohans Nybegynder
08. juli 2003 - 23:14 #29
Undskyld OS står længere oppe.
Avatar billede rosco Novice
09. juli 2003 - 08:27 #30
Har du prøvet den kode jeg foreslog ?
Avatar billede fynbohans Nybegynder
09. juli 2003 - 11:40 #31
Nej for problemet er at det ikke kan laves i Access, men i Windows
med en funktion, som kan kaldes fra Access. Og den har Thomas lavet
til dig.
Du går altså hen i Moduler og kopier teksten ind i et nyt modul og
kalder den med konstanten 2, dvs. fSetAccessWindow(2).
Avatar billede theofilos Nybegynder
09. juli 2003 - 12:29 #32
Kære alle

Tak for hjælpen.

De afgørende svar kom fra Thomas (får 40 points) og Fynbohans (får 20 points).

Nu virker skidtet - skal dog lige rettes lidt til.

Mvh

Theofilos
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