Har ett rätt stort formulär som vid nedladdning hoppar till ett par gånger innan det bestämmer sig för att ligga. Finns det verkligen ingen som har något att säga om att bilden hoppar till (bildväxlingar) vid nedladdning (Load av formulär)? Det finns en variant du kan göra och det är att avbryta uppritningen av formuläret tills allt är klart. Tack för ditt svar Markus! Istället för att använda ett startupformulä skriver du ett Macro vilket: Tack för dit svar Andreas. Jag har engelsk version där finns eco instruktionen i macrot. Kan heta något annat i svensk. Typ skärmupddatering. Tack igen Andreas! Skapa en modul och skriv en funktion:Hoppande bild när formulär laddas.
Trodde jag skulle bli av med problemet genom att som första instruktion vid start använda
Me.Form.Visible = False för att dölja formuläret
och ta fram det på nytt när all initiering är klar.
Tyvärr var det inte så enkelt.
Finns det nån lösning på problemet?
Sommarhälsningar/HarrySv: Hoppande bild när formulär laddas.
Kanske ingen annan har råkat ut för det tidigare ? Vilket inte verkar troligt!Sv:Hoppande bild när formulär laddas.
Nu vet jag inte hur din laddning fungerar, om du har kod som körs eller om det bara tar tid för formuläret att öppnas.
Har du kod lägger du följande före respektive efter koden:
<code>
'Ser till så att formuläret inte ritas om.
Application.Echo False
'Din kod
'Rita om formuläret.
Application.Echo True</code>
Är det däremot som så att du inte har någon kod som körs så får du skapa en "vänte"-funktion som ritar formuläret igen när väntetiden har gått, ex:
<code>
'**********************************************************************************
'* En liten pause-funktion som väntar den tid i sekunder som anges i tid.
'* Markus Larsson 2004-02-17
'**********************************************************************************
Public Sub Pause(tid)
Dim PauseTime, Start
PauseTime = tid ' Set duration.
Start = Timer ' Set start time.
Do While Timer < Start + PauseTime
'Vänta
DoEvents
Loop
End Sub
Sub Form_open
'Ser till så att formuläret inte ritas om.
Application.Echo False
Pause 3
'Rita om formuläret.
Application.Echo True
End sub</code>
MarkusSv: Hoppande bild när formulär laddas.
Jag har kod i formuläret, både vid "Load" och vid "Ny Post". Har provat "Application.Echo False och Application.Echo True" varianten, men har inte lyckats hitta de rätta platserna att sätta in instruktionerna. Hittils har resultatet av variant 1 varit att bilden hickat till ytterligare en gång.
Vad gäller variant 2 (ändrade Sub Pause till Function Pause) så blev resultatet att programmet först väntar de 3 sekunderna i Pause funktionen och därefter hoppar bilden som förut.
Tack i alla fall för dina förslag. Mycket möjligt att jag ännu med hjälp av dina förslag hittar rätt medicin!
mvh/ Harry Sv: Hoppande bild när formulär laddas.
1. Echo False
2. Öppna ditt formulär
(3. Maximera)
4. Echo Sant
Borde lösa ditt problemSv:Hoppande bild när formulär laddas.
Har inte använt makron i Access tidigare, men skrivit enhel del macron i excel och enhel del VBA kod.
Ser att man när man skriver makron för Access väljer instruktioner ur en lista.
Jag använder Office 2003 och i min lista över instruktioner finns ingen Echo instruktion.
mvh / Harry
Glöm dethär svaret. Jag förstår nu att man väljer intruktionen kör Basic kod och därifrån jobbar vidare med Basic kod.
Jag återkommer!
mvh / HarrySv: Hoppande bild när formulär laddas.
Sv:Hoppande bild när formulär laddas.
Det heter "UppdateraSkärm" i den svenska versionen.
Ditt förslag fungerar helt perfekt i det fall att jag enbart skall öppna angivet formulär direkt. Vilket jag också skall kunna göra.
Mitt nästa steg blir att försöka få något av Markus förslag att fungera.
Det är nämligen så att jag måste kunna öppna det aktuella formuläret även från andra formulär där jag
via en listruta öppnar förmuläret. (I ett sånt fall kan jag väl inte anropa makrot ... eller kan Jag?)
(Ifall att det går att från listrutan köra makrot så har jag kvar problemet med att för över argumentet som talar om från vilken listruta anropet kommer).
Konstaterar att varje gång formuläret öppnas så körs "Load- rutinen" och därefter "Ny post-rutinen".
Dessutom har jag rutiner med vars hjälp jag döljer eller visar vissa kontroller och rutor beroende på vilken listruta i anropande formulär som anropat det aktuella formuläret.
Fortsätter mina försök (även om blåbärsskogen måste få komma emellan).
mvh/ HarrySv: Hoppande bild när formulär laddas.
<code>
Function OpenFormMain()
On Error GoTo Autoexec_Err
DoCmd.Echo False, ""
DoCmd.OpenForm "frmMain", acNormal, "", "", , acNormal
DoCmd.Maximize
DoCmd.Echo True, "Done"
Autoexec_Exit:
Exit Function
Autoexec_Err:
Debug.Print Err.Source, Err.Number, Err.Description
Resume Next
End Function
</code>
Du kan redigera autoexec. Ta bort alla instruktioner i den och iställe anropa funktionen.
Om du gör en funktion kan du anropa den genoma att sätta egenskapen för en knap till =OpenFormMain().Sv: Hoppande bild när formulär laddas.
Problemet med hoppande bild vid anrop från "listruta" blev enklare att lösa än jag trodde från början.
Det enda jag behövde göra var att sätta In Echo False och Echo true enligt nedan:
Application.Echo False
DoCmd.OpenForm "XXXX", , , ("xxxID = " & Me.lstValdxxx), , , "lstxxx"
Application.Echo True
Problemet med hoppande bild är m.a.o löst.
Stort TACK till Markus och Andreas som båda bidragit med bra förslag till lösningar.
mvh/ Harry