ole object in access

het nummer van de doos waar 2 puzzels inzitten geeft hij goed aan de namen verschillen de omschrijving van de foto's is ook verschillend maar de foto is gelijk van de bovenste omschrijving
 

Bijlagen

  • Schermafbeelding 2025-04-22 211023.png
    Schermafbeelding 2025-04-22 211023.png
    115 KB · Weergaven: 5
Ik zet de spullen morgen wel in de database :).
 
oke, zou mooi zijn ik krijg het niet zo dat ik twee verschillende foto's krijg bij 1 doos nummer
 
Even geduld nog, heb ook nog andere bezigheden in het leven :).
 
de foto is gelijk van de bovenste omschrijving
Dat 'probleem' had ik al beschreven #37, maar daar is dus wel een mouw aan te passen. Om te beginnen: klik in het record wat je wilt zien; dat wordt dan actief. Je ziet dan ook het juiste plaatje, Als je dan op de afbeelding klikt, wordt de juiste foto vergroot.

In de bijlage die ik nu meestuur is e.e.a. op een iets andere manier opgelost, met VBA onder de navigatieknoppen. En er is een extra veld gemaakt in de onder het formulier liggend query waarin het ontbreken van een foto wordt afgevangen met een dummyfoto. Alle gebruikte foto's stuur ik weer mee, zodat je nu voldoende plaatjes hebt om mee te stoeien :).

Daarnaast heb ik in het subformulier de optie <Toevoegingen toestaan> uitgezet, zodat je in beginsel geen leeg record meer ziet. Daarmee heb je dus ook geen 'kopie' in beeld van het geselecteerde record als er nog geen record is. Als je op de knop <Nieuw record> klikt, wordt de status weer hersteld en krijg je gewoon een nieuw record dat je kan invoeren en bewerken. Dan kun je dus ook een nieuw plaatje toevoegen.
Daarnaast heb ik een knop <Foto vervangen> toegevoegd waarmee je het fotoveld leegmaakt, en gelijk een andere foto kan opzoeken.

Als je de rar bestanden "Afbeeldingen" weer uitpakt in de map waar de db staat, is alles in beginsel weer te gebruiken.
 

Bijlagen

En ik kan maar 10 bestanden toevoegen, dus hier de database :).
 

Bijlagen

dankjewel, en ik snap er is meer in het leven ook ik heb de nodige bezigheden die tijd in beslag nemen, mede doordat we vervelende weken hadden door ziekte van mijn vrouw. gelukkig gaat het de goed kant weer op
 
Maar 't is een leuke onderbreking om de hersenen even aan het werk te zetten :)
 
helemaal waar, ik ben met pensioen en dan is dat goed voor de brein.................:)
 
dit lijkt nu goed, ik heb nu 2 foto's van de puzzels die verschillend zijn, maar als ik op de foto's klik voor een grotere in een popup formulier dan geeft hij de bovenste weer ook als ik op de onderste klik. hen even gekeken naar de procedure code maar daar kan ik niet uit wijs worden hoe dat anders moet. Als je de ontwerpweergave doet in fpuzzels zie je ook maar 1 record waar je iets aan kan wijzigen. Dit zal zo horen anders was dit niet zo gedaan.
 

Bijlagen

  • Schermafbeelding 2025-04-24 093350.png
    Schermafbeelding 2025-04-24 093350.png
    97 KB · Weergaven: 0
Als je de ontwerpweergave doet in fpuzzels zie je ook maar 1 record waar je iets aan kan wijzigen. Dit zal zo horen anders was dit niet zo gedaan.
Dát heb ik je dus uitgelegd in #47 :). Een doorlopend formulier is in feite hetzelfde als een enkelvoudig formulier (je kunt ook probleemloos switchen in de Eigenschappen van Enkelvoudig naar Meervoudig). Er staat dus maar één object van alles op het formulier. Het enige verschil is, dat een doorlopend formulier die objecten herhaalt.

Maar het probleem dat je beschrijft snap ik niet, want bij mij werkt het perfect! Er is wel een trucje aan te pas gekomen, want je ziet in een doorlopend formulier met minimaal twee records dus meerdere records, en je wilt per record de juiste afbeelding zien, en in de popup vertonen.

En dáár gaat het dus wat anders, want een niet-afhankelijk object, zoals het Imageframe dat voor de thumbnails wordt gebruikt, is niet aan een record gekoppeld, dus om het juiste record te zien, moet je in het doorlopend formulier eerst dat record geselecteerd hebben. Anders kan de popup niet de juiste foto laten zien.
Daar is dus een trucje voor gemaakt: een onzichtbare (transparante) opdrachtknop die net zo groot is als de Imageframe, en daar dus volledig overheen valt. In beginsel gebeuren er dus twee acties als je op een foto klikt: je start de VBA code die achter de knop hangt, én je klikt op de popup die de foto opent.
Die onzichtbare knop selecteert eerst het juiste record, zodat de juiste foto naar de popup gaat.

Code:
Private Sub Knop47_Click()
    DoCmd.FindRecord Me.Puzzel_ID, , True, , True
    If Not Me.FotoNaam & "" = "" Or Me.FotoNaam = "No-Image.jpg" Then
        DoCmd.OpenForm "Popup_Puzzels", acNormal, , , acFormReadOnly, acDialog, _
          CurrentProject.Path & "\Afbeeldingen\" & Me.FotoNaam
    End If
End Sub

En dit is die code. Het gaat dan om de eerste regel; de andere regels openen de popup. En ik snap niet hoe die code bij jou omzeild wordt :).

Wat je eens kunt doen: zet in het VBA venster de cursor in de procedure van Knop47 op de regel "If Not Me.Fotonaam" en druk op <F9>. Er staat nu een onderbrekingspunt in de macro.
Als je het formulier vervolgens in de normale weergave opent, kun je de knop gewoon starten door 'op de foto te klikken'(wat je dus feitelijk niet meer doet). De macro start dan, en stopt op de tweede regel. Nu kun je met <F8> de regels verder uitvoeren. Als je de code náást het formulier zet (bij makkelijk, ik heb twee schermen dus de code staat op het ene scherm en het formulier op de ander. Heb jij dat niet: verklein dan de vensters zodat je beide schermen kan zien) dan zie je dat na de eerste regel het PuzzelID van het geselecteerde record geselecteerd is (zwart-wit bij mij). Dan weet je dus dat de code werkt, en dat je het juiste record en foto te pakken hebt. De rest van de code moet dan de juiste foto openen.

Gebeurt dat allemaal niet bij jou, dan is er wat aan de hand! Dan weet ik zo gauw niet wat, maar daar komen we dan wel achter (hooop ik).
 
Terug
Bovenaan Onderaan