Een image met VBA in een MSaccess 2003 report

Status
Niet open voor verdere reacties.

bugsbunny22

Gebruiker
Lid geworden
2 jan 2015
Berichten
21
Hoi allen, allereerst de beste wensen voor 2015!

Ik zit met een probleempje, we willen voor een bepaald blok in een msaccess2003 report een image met vba inlassen maar het wil ons niet lukken. Het gaat om een OLE-object.56

Anyone?

bvd

Groet
 
Allereerst natuurlijk welkom bij HelpMij! Waarschijnlijk de beste stap die je dit jaar gaat zetten :D.
Geen idee wat je bedoelt met 'een image met vba inlassen'. Dat je een afbeelding bedoelt snap ik nog wel, en wellicht heb je een imagecontrol op je rapport gezet waar die afbeelding in moet. Maar verder gaat het niet. En een OLE object? Sowieso een slecht idee, want je kunt beter met losse afbeeldingen werken die dus buiten de db worden opgeslagen, en die je (inderdaad, met VBA) vanuit een tekstvak toewijst in je rapport aan de ImageControl.
 
Allereerst natuurlijk welkom bij HelpMij! Waarschijnlijk de beste stap die je dit jaar gaat zetten :D.
Geen idee wat je bedoelt met 'een image met vba inlassen'. Dat je een afbeelding bedoelt snap ik nog wel, en wellicht heb je een imagecontrol op je rapport gezet waar die afbeelding in moet. Maar verder gaat het niet. En een OLE object? Sowieso een slecht idee, want je kunt beter met losse afbeeldingen werken die dus buiten de db worden opgeslagen, en die je (inderdaad, met VBA) vanuit een tekstvak toewijst in je rapport aan de ImageControl.

Hoi Michel, dank je wel voor de snelle reactie. Uiteraard was het de bedoeling om de images buiten de database te houden, sorry dat ik dat niet duidelijker had vermeld. Ik ben er niet al te ervaren in dus vandaar dat ik de eerste de beste mogelijkheid had genomen. Maar nu heb ik nog steeds geen oplossing. ImageControl is dus die andere oplossing? Heb je een voorbeeld vba instructie hoe ik die met vba in het rapport kan toveren?

bvd, mvg, BB
 
Eerst een opmerking: de Quote knop is geen Reply knop. Een compleet bericht quooten is nergens voor nodig, en maakt draadjes alleen maar nodeloos lang. Je kunt een volgend bericht gewoon in het tekstvak <Snel reageren> typen. Om de een of andere reden is dat erg lastig voor nieuwe gebruikers van het forum, want bijna iedereen denkt dat je op QUOTE moet klikken. Niet dus :).

Er zijn, back on topic, verschillende vragen hier gesteld over hoe je afbeeldingen laat zien in een rapport. Als je zoekt op 'afbeelding rapport' dan vind je al de code die je nodig hebt. Die moet je dan waarschijnlijk nog wel aanpassen. Kom je er niet uit, post dan de db mee, dat kijkt een stuk makkelijker.
 
hoi, vraag is weliswaar opgelost na het zoeken naar een voorbeeld maar nu het werkt, is m'n access (mdb) bestand ineens gigantisch groot geworden terwijl ik alleen maar een paar regeltjes VBA code heb toegevoegd. Hoe ken dat nu weer?!!! Eerst was het zo'n 1,5 MB groot, nu ineens 47MB!!!! Dat kan echt niet na die paar kilobytjes toegevoegde VBA. Ik vertrouw m'n peeceetje niet meer. De tabellen zijn gecontroleerd en die bevatten nog steeds dezelfde info als de copie voordat ik testte met de nieuwe VBA code. Zou hoogstens nog aan de grootte van het report kunnen liggen of elders binnen het bestand. Zelfs comprimeren en herstellen mocht het bestand niet terugdringen naar 1,5 MB.

Iemand?
 
Hoe heb je de afbeeldingen in het rapport gezet? Ik vermoed dat ze de eigenschap <Afbeeldingstype>= Ingesloten hebben, en dan gaat het hard met de db. Zonder de db kunnen we er uiteraard verder weinig van zeggen. Wellicht dat je hem tijdelijk op Wikisend of zo kan zetten, dan kunnen we hem daar ophalen. Liefst wel ingepakt, dan wordt hij meestal nog wel wat kleiner.
 
Ik heb de afbeeldingen totaal niet in de database gezet. Ik heb een soort masker gemaakt dat van het bureaublad 001.jpg, 002.jpg in een loop eroverheen rolt. De foto's zitten dan echt niet in de database want anders begrijp ik Microsoft totaal niet (deed ik allang niet meer trouwens). Als ik de foto's in een tabel zou hebben opgenomen had ik nog wel geloofd dat daardoor het bestand groter was geworden maar in dit geval vind ik dat behoorlijk vreemd. Wellicht zit er nog ergens cache in of zo?

het gaat om deze procedure:
Private Sub Paginakoptekstsectie_Format(Cancel As Integer, FormatCount As Integer)
On Error GoTo errHandler

imgMonthly = "C:\Documents and Settings\Joep\Bureaublad\" & Format(Month_ID, "000") & ".jpg"
Me.imgMontly.Picture = imgMonthly
Debug.Print imgMonthly
Exit Sub

errHandler:
Select Case Err.Number
Case 2220
Resume Next
End Select
End Sub

het gaat dus om een kalender die over de maandelijkse maand heen rolt en telkens de juiste maandfoto van het bureaublad ophaalt en weergeeft met daarnaast tabelinformatie voor wat betreft de kalender zelf. Het werkt nu echter schoot de bestandsgrootte me ineens in het verkeerde keelgat want ik heb een hekel aan rare onverklaarbare gevallen zoals dit. Bovenstaande code kan echt geen vergroting van zo'n 46MB inhouden. Niet dat ik haast geen geheugen meer heb, maar uit princiep omdat het onverklaarbaar is. Bovenstaande code zou hoogstens 1kB moeten kosten.

Ook wou het niet lukken met msoffice 2013 onder windows8 als ik me goed herinner. De voorbeeldcode van een ander op deze site reageerde op windows xp totaal anders. Ik vind Microsoft steeds minder interessant om te blijven gebruiken met hun vervelende veranderingen. Iedereen klaagt steen en been over Windows 8!!!
 
En tóch kan imgMontly de boosdoener zijn als de eigenschap PictureType niet goed is ingesteld. Kijk maar in de Help van Microsoft:
Code:
Instelling Beschrijving 
0 (Standaard) De afbeelding wordt ingesloten in het object en wordt onderdeel van het databasebestand. 
1 De afbeelding wordt aan het object gekoppeld. Er wordt een pointer opgeslagen naar de locatie van de afbeelding op de schijf.
De standaardinstelling van een Picture Object is dat de afbeelding wordt ingesloten. En dat betekent: vullen die zak :). En als je maar voldoende plaatjes inlaadt, gaat het echt wel hard. Ook al sla je niks op in je database.
 
Ik weet niet of het daaraan ligt. Ik heb een 'leeg' image gemaakt (paar kilobyte fotos), 12 keer gecopieerd, database opnieuw gedraaid en nog steeds even groot. Ik vind het raar en wil dat mdb bestand laten screenen / analiseren. Dit kan voor mijn gevoel niet kloppen. Ook na comprimeren/herstellen blijkt het nog steeds zo'n 47 maal te groot te zijn.
 
Zoals ik al zei: zonder db kan ik er weinig van zeggen. Zet om op een fileshare (wikisend.com o.i.d.) en dan werp ik er een blik op!
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan