actief formulier

  • Onderwerp starter Onderwerp starter btl
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

btl

Gebruiker
Lid geworden
9 dec 2004
Berichten
32
Hallo,

enige tijd geleden heb ik een en ander online gevonden waarbij ik
- voor elk record een formulierpagina krijg
- elk record de van toepassing zijnde foto automatisch
krijg, zonder dat de dbase megagroot wordt, mbv
programmacode.
- deze programmacode is gericht op het klikken/doorbladeren van je formulier, waarna deze geüpdate wordt.

probleem: bij afdrukken wordt er niet geklikt tussen formulieren en wordt dus de foto niet aangepast. Dus 400 verschillende formulieren met 1 en dezelfde foto. Iemand een oplossing hiervoor??

groetjes

btl
 
Deze vraag is met de door jou aangegeven informatie niet te beantwoorden.
Dit kan door zoveel dingen veroorzaakt worden.
Op welke gegevens is je rapport PRECIES gebaseerd?
Welke sectie kent je rapport en wat staat er in die secties.
Hoe is de grouping van je rapport geregeld en waar staan de breaks precies?
etc.

Post het gedeelte van je mdb waar het probleem zit, dan is een oplossing waarschijnlijk snel gevonden.
 
Het FORMULIER is gebaseerd op een query, die uiteraard is gebaseerd op een tabel.

In de tabel zijn een groot aantal basisgegevens ingevoerd, waarmee in de query gerekend kan worden. Tevens is de fotonaam (xxx.jpg) toegevoegd in een tekstveld.

In de query worden enkele kleine, eenvoudige doorrekeningen gemaakt.

Het formulier is als standaard opgezet, waarin alleen de in de query vermenigvuldigde waarden worden getotaliseerd (recordafhankelijk).

Daarnaast is op basis van de fotonaam een koppeling gemaakt naar een foto. Dit is gedaan middels onderstaande programmacode. Dit is zo gedaan om te voorkomen dat de dbase enkele GB's groot wordt.

"
Dim strImagePath As String
Dim strMDBPath As String
Dim intSlashLoc As String

On Error GoTo PictureNotAvailable
'Obtain the full path of the current database or Access Project
strMDBPath = CurrentProject.FullName

'Find the location of the last backslash
intSlashLoc = InStrRev(strMDBPath, "\", Len(strMDBPath))

'Trim off the database name, leaving the path
'and append the name of the image file
strImagePath = Left(strMDBPath, intSlashLoc) & _
Me.txtImageName

'Set ImageFrame to the path of the image file
Me.ImageFrame.Picture = strImagePath
Exit Function
PictureNotAvailable:
strImagePath = "NoPicture.jpg"
Me.ImageFrame.Picture = strImagePath
"

Ik kan zelf niet/nauwelijks programmataal, deze heb ik van internet geplukt en met trial and error goed gekregen.

Deze code zorgt ervoor dat als ik onder in mn scherm klik naar het volgende formulier (record) dat ook de foto wordt geüpdate. Dit werkt mijns inziens perfect.

Het probleem ontstaat bij het printen. Bij printen update het formulier wel de berekeningen (inclusief de totaaloptelling), alleen niet de foto.

Is deze omschrijving duidelijker, anders hoor ik het wel. Om de dbase te posten is lastig, is ondertussen erg groot.

btl
 
Het image object op je formulier is dus een unbound object.
Middels de code zet je daar het juiste image in.
Dat is me nu duidelijk.

Het is ook erg logisch dat je dan voor alle objecten hetzelfde image krijgt.
Het image is namelijk niet, zoals de andere velden, gekoppeld aan je query. Daardoor is het voor alle records in je formulier gelijk. Met als gevolg dat je overal hetzelfde image krijgt, namelijk het laatste image dat bij een recordwisseling opgehaald is.

Je zult je toch veel meer moeten gaan verdiepen in het programmeren in access.
Wat je moet doen is een functie schrijven die de locatie van het juiste image IN JE QUERY samensteld en daaraan je image object op je formulier koppelen.
Die functie lijkt veel op de functie die je nu gebruikt.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan