Dubbel laden van picture bij bladeren

Status
Niet open voor verdere reacties.

JelleKoen

Gebruiker
Lid geworden
30 okt 2012
Berichten
58
Ik heb gekeken naar de vraag en de antwoorden op 'png per record opslaan en weergeven in een rapport'

Nu lijkt bij het bladeren de foto steeds 2 x geladen te worden, waardoor het scherm een flikkerend effect krijgt.
Is daar een oplossing voor?

Mijn code ziet er iets anders uit, maar dat mag geen verschil maken, denk ik.

Code:
'er is een veld strFoto in de tabel die is gevuld met de locatie en de naam van de afbeelding

Private Sub Form_Current()
    Dim strAfbeelding  As String

    If Not IsNull(strFoto) Then
        strAfbeelding = Currentdb().Path & strFoto
        Me.imgOverzicht.Picture = strAfbeelding
    Else
        Me.imgOverzicht.Picture = ""
    End If

End sub
 
De code kan korter (je hebt strAfbeelding niet nodig) maar dat maakt inderdaad niet uit.
Waarschijnlijk heb je ook andere code bij het bladeren die er voor zorgt dat de Current procedure nog een keer wordt uitgevoerd. Ik heb wel eens formulieren gemaakt die dat 6 keer deden. Dan kan het lastig zijn om uit te zoeken waar dat door komt, maar het scheelt uiteraard tijd als je dat kunt voorkomen.
 
Binnen gekomen bij beheer als antwoord op de watchdog mail of de vraag was opgelost:

Nee, helaas niet.
Ook de opdracht Application.Echo False hielp niet :-(
Ik heb het maar zo gelaten. Eerdaags ga ik nog eens kijken.
 
Weet je zeker dat er geen andere code wordt getriggerd? Als je een onderbrekingspunt op de eerste regel zet (If Not IsNull(strFoto) Then) Dan loopt de procedure alles na waarin VBA zit verwerkt. Als de code 2 keer (of meer) wordt uitgevoerd, dan kom je die sprong dus automatisch tegen, want dan gaat de cursor een keer naar de code die ervoor zorgt dat de data op het formulier wordt ververst, en dus de procedure Current weer moet worden uitgevoerd.
 
Dank voor de reactie.
Ik zal deze week de gehele code nog even plaatsen. Het is overigens op dit moment niet meer zo relevant. Ik heb me er meer aan gestoord dan de gebruiker.
Desalniettemin wil ik eigenlijk wel een oplossing voor een volgend keer.
 
Ik weet niet of het plaatsen van code het probleem vindt; daar hebben we de db voor nodig. Dus als je wat wilt posten, dan de db (met dummydata uiteraaraard) :).
 
Omdat ik niet eerder iets geupload heb, kun je me wellicht helpen met hoe ik dat moet doen. Het wordt overigens pas over een dag of 14, omdat ik nu niet kan beschikken over de bijpassende foto's.
Overigens wil ik niet graag dan ook anderen over de database kunnen beschikken. Is dat te voorkomen?
 
Dat laatste is lastig; dan zul je de db naar iemand moeten mailen. Doorgaans hebben we genoeg aan een db met dummygegevens; zolang de tabellenstructuur, de formulieren en de rapporten etc. die je nodig hebt voor de vraag er maar in zitten is het prima. Meestal maak ik dus een kopie van de db, gooi alle data er uit, en zet er een paar dummy records in. Idem dito voor de plaatjes, het maakt niet zoveel uit wat er in zit, als er maar een paar bij zitten die je kunt gebruiken.
Om een db te kunnen posten, zou ik hem eerst dus opschonen/vullen, dan comprimeren en herstellen zodat de db zelf al wat kleiner wordt. En vervolgens maak je er een zip bestand van. Tegenwoordig mag je 2Mb posten, en dat is doorgaans meer dan genoeg voor een db met tabellen en formulieren, en een paar plaatjes. In het ergste geval laat je de plaatjes weg en vullen we de map zelf met een paar afbeeldingen. Kwestie van de namen hernoemen, en het werkt allemaal weer.
 
De melding kan worden gesloten. Ik ben er nog niet achter hoe ik het kan voorkomen, maar de gebruiker heeft er geen moeite mee.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan