foto invoegen/ veranderen in formulier

Ik zit momenteel nogal druk met omstandigheden, anders was het probleem (door mij, hoop,ik) al binnen 4 berichtjes opgelost :).
 
Weer een vraagje.
Als ik door de records navigeer veranderen de foto's aan de hand van een link in een tekstbox wat ook de bedoeling is.
Als ik nu het mapje met het bestandje en de foto's overzet naar mijn laptop kloppen de links niet meer, is er een mogelijkheid om dat machine onafhankelijk te maken.
Alvast dank voor het meedenken.
 
Als die links in de database zijn opgeslagen en die foto's op de laptop ergens anders staan dan klopt het natuurlijk dat die links niet meer werken.
Het is dus afhankelijk van de locatie en kan me niet voorstellen dat de machine daarop van invloed is.
 
IK hoopte dat zoiets kon net zoals in excel.
Code:
pic = ThisWorkbook.Path & "\foto's\" & detailfrm.T_06.Value & ".jpg"
 
Probeer dan eens dit:
Code:
pic = CurrentProject.Path & "\foto's\" & detailfrm.T_06.Value & ".jpg"
 
Ga ik straks testen.
Moet nu eventjes weg.
Net gekeken, het is van 2023 geleden dat ik nog eens iets gedaan heb met excel. Pff.
 
Wat je in #25 plaatste is in voor Excel in ieder geval goed :)
 
CurrentProject.Path is de juiste aanpak als de foto's in dezelfde (sub)map staan als de database. Dus je hebt de database in een map staan, en de afbeeldingen in een map onder die map. Dan kun je CurrentProject.Path gebruiken. Je database is dan niet meer afhankelijk van een hard geprogrammeerd pad. Gebruik je de standaard Windows fotomap(pen). Dan kan het ook gestandaardiseerd worden, maar dan uiteraard met een Windows Defaultfolder. Maar het kan dus op meerdere manieren.
 
Krijg het niet echt voor elkaar om dit in de code van #9 te implementeren. Graag advies. De structuur is idd zoals beschreven in #29.
Graag advies.
 
Wat is dan precies het probleem? Hoezo krijg je het niet voor elkaar? Foutmelding?
 
Ik kan het niet helemaal volgen. Je meldde eerder dat #9 werkt en ook je eigen code uit #1 kreeg je op gang.
Hoe dan ook. De codes uit #1 en #9 zijn gekoppeld aan de gebeurtenis 'bij klikken' van "cmb_00". Dat zal wel een keuzelijst-met-invoervak op je formulier zijn.
Heb je de naam van de keuzelijst-met-invoervak misschien gewijzigd?
 
In de code # 9 heb ik een lijntje extra
Code:
Me.textbox1.Value = img_var
daarmee wordt de link naar de foto in deze textbox geplaatst.
De bedoeling is dat via bovenstaande lijn het resultaat niet meer afhankelijk is van een hard geprogrammeerd pad. maar wijst naar het pad van de fotomap (submap) die in dezelfde map staat als het access bestandje.
Ik heb geen keuzelijst met invoervak, ik gebruik wel een listbox om door de records te navigeren, en de bijhorende textboxen in te vullen met de bijhorende gegevens bij verandering van record.
Met benamingen heb ik geen problemen.
 
Daar is in #26 al antwoord op gegeven.
 
Sorry door mijn hersenbloeding van een tijd terug ben ik er niet echt slimmer op geworden, ik weet niet hoe ik het moet aanpassen.
 
Ik weet niet veel van Access, maar er zitten hier een paar goeroes op dat gebied die je er vast verder mee kunnen helpen.
 
Daar twijfel ik niet aan @ Edmoor, ik heb al gezien dat helpers blijven zoeken totdat er een oplossing is gevonden.
 
Misschien kan je een voorbeelddatabase {zonder privacygevoelige gegevens) plaatsen. Dan kunnen we meekijken wat er echt aan de hand is.
 
En zo gaan we naar de 40 :). Op basis van de andere functie (die best beter kon) krijg je zoiets:

Code:
Function PickJpgFromFotoFolder() As String
Dim fd As FileDialog
Dim fotoPath As String, selectedFile As String    

    ' Define the Foto folder path
    fotoPath = CurrentProject.Path & "\Foto\"
    ' Create FileDialog as File Picker
    Set fd = Application.FileDialog(msoFileDialogFilePicker)    

    With fd
        .Title = "Select a JPG file"
        .InitialFileName = fotoPath 
        .Filters.Clear
        .Filters.Add "JPEG Images", "*.jpg;*.jpeg"
        .AllowMultiSelect = False
        ' Show the dialog and check if user selected a file
        If .Show = -1 Then  ' -1 means OK clicked
            selectedFile = .SelectedItems(1)
            PickJpgFromFotoFolder = selectedFile
        Else
            PickJpgFromFotoFolder = "User cancelled"
        End If
    End With

End Function
Deze functie roep je aan als je een foto wilt inlezen. Dus van de knop waarop je klikt.
 
Terug
Bovenaan Onderaan