afbeelding tonen?

Status
Niet open voor verdere reacties.

Theo65

Gebruiker
Lid geworden
20 mrt 2023
Berichten
55
Ongetwijfeld kan de code beter en zal het wel rommelig programmeren zijn, maar het werkt..... behalve....de afbeelding wordt niet getoond.
Als code beter kan hoor ik het graag, maar vooral , hoe krijg ik de afbeelding zichtbaar?

Code:
Private Sub GetKwartierstaat()
 Dim Db As DAO.Database
 Dim rs As DAO.Recordset
 Dim KWvar As Double
 
 '-------------------- kwartierstaat bestaat uit gegevens van 31 personen.---------------------
 '--------------------  gen 1  - basis person  (1 persoon) ----------------------------------------
 '--------------------  gen 2  - ouders (2 persoon)------------------------------------------------
 '--------------------  gen 3  - grootouders (4 persoon)------------------------------------------
 '--------------------  gen 4  - overgrootouders (8 persoon)-------------------------------------
 '--------------------  gen 5  - betovergrootouders (16 persoon)--------------------------------


 For KWvar = 1 To 31
 stFormName = "frm_kwartierstaat"
 stkw = "kwpn" & KWvar
 Gid = Forms(stFormName).Controls(stkw)
 If Gid > 0 Then
 Call GetDataKw(KWvar)
 End If
 Next
 MsgBox "klaar"


End Sub

Code:
Private Sub GetDataKw(KWvar As Double)
Dim Gid As Double
Dim KWVarHeit As Double
Dim KWVarMem As Double


 Set Db = CurrentDb
 
  '-------------------- als record niet aanwezig is dan proberen te voorkomen dat die gaat zoeken ---------------------
 If Forms!frm_kwartierstaat!kwpn1 = "" Or Forms!frm_kwartierstaat!kwpn1 = 0 Then
 Exit Sub
 Else
 
 stFormName = "frm_kwartierstaat"
 stkw = "kwpn" & KWvar
 stkwName = "Txtkw" & KWvar & "_naam"
 stkwGeb = "Txtkw" & KWvar & "_geb"
 stkwOvl = "Txtkw" & KWvar & "_ovl"
 KWVarHeit = KWvar * 2
 stkwVader = "kwpn" & KWVarHeit
 KWVarMem = KWvar * 2 + 1
    If KWvar < 16 Then
    stkwMoeder = "kwpn" & KWVarMem
    stkwPasfoto = "pasfotokw" & KWvar
    End If
 
 Gid = Forms(stFormName).Controls(stkw)
 End If


'-------------------- GId (genealogisch ID is het nummer van de persoon in de tabel welke ik wil opzoeken ---------------------
 StrSQL = "SELECT * FROM tbl_ADRKF_bidprentjes WHERE PERSOONSNR = " & Gid
 Set rs = Db.OpenRecordset(StrSQL)


    With rs
        .MoveLast
        .MoveFirst
'        Do While Not .EOF
            K_PN = rs![PERSOONSNR]
            K_Achternaam = rs![ACHTERNAAM]
            K_Tussenvoegsels = rs![TUSSENVOEGSELS]
            K_Voornamen = rs![VOORNAMEN]
                If K_Tussenvoegsels <> "" Then
                Forms(stFormName).Controls(stkwName) = K_Achternaam & ", " & K_Voornamen & " " & K_Tussenvoegsels
                Else
                Forms(stFormName).Controls(stkwName) = K_Achternaam & ", " & K_Voornamen
                End If


            K_GebDatum = rs![GEBOORTEDATUM]
            K_GebPlaats = rs![GEBOORTEPLAATS]
                Forms(stFormName).Controls(stkwGeb) = K_GebDatum & " - " & K_GebPlaats
            K_OvlDatum = rs![OVERLIJDENSDATUM]
            K_OvlPlaats = rs![OVERLIJDENSPLAATS]
                Forms(stFormName).Controls(stkwOvl) = K_OvlDatum & " - " & K_OvlPlaats
            
                If KWvar < 16 Then
                Forms(stFormName).Controls(stkwVader) = rs![PN_VADER]
                Forms(stFormName).Controls(stkwMoeder) = rs![PN_MOEDER]
                End If
                
            Img_besand_loc = ImgPath & "\Pasfoto\" & Gid & ".jpg"
            MsgBox Img_besand_loc
            
'------------[COLOR=#0000ff]afbeelding werkt niet, wordt niet getoond in image veld kwpn1 t.m. kwpn31[/COLOR] --------------


           Forms(stFormName).Controls(stkwPasfoto).Properties("ControlSource") = Img_besand_loc
'        Loop
        .Close
    End With
    Set rs = Nothing
    
End Sub
 
Je hebt al een paar databases gepost bij een vraag, dus je weet dat het helpt als de db erbij zit. Code ‘uit het hoofd’ repareren is nu eenmaal een stuk lastiger.
En dit:
Ongetwijfeld kan de code beter en zal het wel rommelig programmeren zijn, maar het werkt..... behalve....de afbeelding wordt niet getoond.
roept meer vragen op dan ik kan beantwoorden. Ofwel het werkt, en dan hoef je de vraag niet te stellen, ofwel het werkt niet. Maar waarom zeg je dan dat het werkt? Over de code zal ik me maar niet uitlaten, maar je hebt zeker gelijk: het is geen code waar je prijzen mee wint :).
 
Laat je maar niet uit over de code, ik doe niet met een wedstrijd mee. Tenzij het opbouwend is en ik er iets van leer.
Zoals gezegd het werkt voor de tekst alleen niet voor de afbeelding.
maar ik begrijp dat het lastig is, dan snap ik, dan zou ik er met dit weer maar geen tijd aan besteden, zo belangrijk is die afbeelding ook weer niet.
Ik sluit het topic wel.
 
maar ik begrijp dat het lastig is, dan snap ik, dan zou ik er met dit weer maar geen tijd aan besteden, zo belangrijk is die afbeelding ook weer niet. Ik sluit het topic wel.
Ah, daar gaan we weer. Je sluit het topic wel voor het goed en wel is opgelost :). Terwijl het vermoedelijk heel simpel is op te lossen. Op basis van jouw code snap ik niet dat de code (op het plaatje na) werkt, want deze code zou in mijn simpele ogen dus niets mogen /kunnen doen. En áls het werkt, dan dus op een veel te omslachtige manier. En dat betekent dus dat het veel simpeler en logischer kan. Maar ja, hoe kan ik dat zien zonder de db erbij te hebben? Ik zit nu dus alleen maar naar zeer onlogische code te kijken...

Leer jezelf aan om simpel en correct te programmeren, i.p.v. deze werkwijze te blijven gebruiken. Daar kunnen we je prima bij helpen. Maar eerlijk gezegd zie ik daar nog niet zoveel van terug.
 
ja heb topic gesloten, Het is warm weer om van jullie veel werk te vragen en op basis van deze vraagstelling verwachtte ik geen oplossing meer.
De code haalt in een loop 31x gegevens uit een tabel en vult deze in op het formulier. Alleen afbeelding niet. Zal niet zijn zoals het hoort, maar het werkt.
Kan op dit moment de gegevens wel naar excel halen en daar doen wat ik wilde, als tijdelijke oplossing.
Het is mooier met afbeelding, maar als het wat minder warm weer is, probeer ik het wel met code die een tabel vult. Via een query kan ik er dan een afbeelding aan toevoegen. En dan formulier baseren op de query.
Sorry dat ik jullie hiermee lastig viel.
 
Je hoeft je uiteraard nooit te verontschuldigen voor het stellen van een vraag. Maar omdat deze constructie zó onlogisch is, dat ik niet eens waar ik moet beginnen om hem na te bouwen, begin ik daar dus niet aan. Hittegolf of niet :). Zo snap ik totaal niet waarom je de code niet op het formulier zelf hebt gezet, maar met zo'n behoorlijk ingewikkelde recordset constructie werkt. Nergens voor nodig. Sowieso is de vraag waarom het niet gewoon met een doorlopend formulier met een query kan. Maar jij bent de man hier, dus ik hoef mij daar dus niet meer druk over te maken :).
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan