Ik ben een database aan het bouwen voor een non profit NGO die in de hoek van de natuurbescherming.
Ik wil graag plaatjes van de zijkanten van wilde honden in de database laten zien. Nou wilde ik de plaatjes niet in de database zelf opslaan omdat er nogal wat plaatjes zijn (300+) en er komen er snel meer bij.
Nou had ik gevonden dat het met een VB script wel zou kunnen maar daar heb ik helemaal geen kaas van gegeten.
Heb wel een voorbeeld gevonden van hoe ik het ongeveer zou willen hebben.
Maar daarmee kom ik er dus niet uit
Dit voorbeeld renamed de plaatjes naar het personeelsnummer. Bij mij zou dat moeten worden de DogID en de tabel waar het form bij mij verwijst is ook DogID.
De OK-knop en de Annuleren-knop kunnen ook wel van het form af.
Ik heb het een en ander zitten vogelen (afgelopen dagen) maar ik kom er niet uit. Kan wel een beetje met access overweg maar verder ben ik vooral een bioloog.
In het voorbeeld wat ik gebruikt hebt is sprake van de tabellen 'tblGeslachen' en 'tblPersonen'.
De query 'qryfrmPersoonDetail' voor het form 'frmPersoonDetail'. Een simpele query welke details precies moeten worden vertoond, maar dat is bij mijn form niet nodig (denk ik).
Dit zou ik dus graag ombouwen voor mijn database waarbij het form alleen naar de tabel DogID verwijst en waarbij de knoppen 'OK' en 'Annuleren' niet meer op het form staan.
De code van 'mijn' voorbeeld:
Een screenshot van het 'voorbeeld' form:
En een screenshot van hoe ik mijn form graag zou zien (maar dan werkend, dat doet het nu dus niet
):
Geen idee of dit heel moeilijk is of niet, maar ik hoop dat jullie mij verder kunnen helpen.
Ik wil graag plaatjes van de zijkanten van wilde honden in de database laten zien. Nou wilde ik de plaatjes niet in de database zelf opslaan omdat er nogal wat plaatjes zijn (300+) en er komen er snel meer bij.
Nou had ik gevonden dat het met een VB script wel zou kunnen maar daar heb ik helemaal geen kaas van gegeten.
Heb wel een voorbeeld gevonden van hoe ik het ongeveer zou willen hebben.
Maar daarmee kom ik er dus niet uit

Dit voorbeeld renamed de plaatjes naar het personeelsnummer. Bij mij zou dat moeten worden de DogID en de tabel waar het form bij mij verwijst is ook DogID.
De OK-knop en de Annuleren-knop kunnen ook wel van het form af.
Ik heb het een en ander zitten vogelen (afgelopen dagen) maar ik kom er niet uit. Kan wel een beetje met access overweg maar verder ben ik vooral een bioloog.
In het voorbeeld wat ik gebruikt hebt is sprake van de tabellen 'tblGeslachen' en 'tblPersonen'.
De query 'qryfrmPersoonDetail' voor het form 'frmPersoonDetail'. Een simpele query welke details precies moeten worden vertoond, maar dat is bij mijn form niet nodig (denk ik).
Dit zou ik dus graag ombouwen voor mijn database waarbij het form alleen naar de tabel DogID verwijst en waarbij de knoppen 'OK' en 'Annuleren' niet meer op het form staan.
De code van 'mijn' voorbeeld:
Code:
Option Compare Database
Option Explicit
Private Sub cmdCancel_Click()
If Me.Dirty = True Then
Me.Undo
End If
DoCmd.Close acForm, Me.Name, acSaveNo
End Sub
Private Sub cmdInsertImage_Click()
On Error GoTo err_cmdInsertImage_Click
'Code om foto toe te voegen
Dim dlgPicker As FileDialog
Dim strFileName As String
Dim strPath As String
Dim strFile As String
If IsNull(Me.txbPersoon_Personeelsnummer) Then
MsgBox "Vul eerst een personeelsnummer in.", vbCritical + vbOKOnly, "Fout"
Exit Sub
End If
'Open de Windows bestandenlijst, met als argument het type
Set dlgPicker = Application.FileDialog(msoFileDialogFilePicker)
With dlgPicker
.Title = "Select a picture" 'De titel voor het venster
'*************************************
'Pas dit aan voor map met afbeeldingen
'*************************************
.InitialFileName = CurrentProject.Path 'Waar moet het venster beginnen?
.Filters.Add "JPG", "*.jpg", 1 'Beperk de bestandstypes tot .jpg, en maak dat het eerste item in de lijst
.AllowMultiSelect = False 'Slechts één bestand kiezen toegestaan
.InitialView = msoFileDialogViewPreview 'Bepaal weergave
If .Show = -1 Then 'Bepaal of gebruiker op OK-knop heeft geklikt.
strFileName = .SelectedItems.Item(1) 'String wordt gevuld met geselecteerde bestand
End If
End With
'*************************************
'Pas dit aan voor map met afbeeldingen
'*************************************
strPath = CurrentProject.Path & "\"
Name strFileName As strPath & Me.txbPersoon_Personeelsnummer & ".jpg"
Me.chkPersoon_FotoBeschikbaar = True
Me.imgFoto.Visible = True
Me.imgFoto.Picture = strPath & Me.txbPersoon_Personeelsnummer & ".jpg"
Me.txbFoutmelding.Visible = False
Exit Sub
err_cmdInsertImage_Click:
Select Case Err.Number
Case 58 'Het bestand bestaat al.
MsgBox "A picture of this person already exists. (" & Me.txbPersoon_Personeelsnummer & ".jpg). Choose this file or rename it.", vbCritical + vbOKOnly, "Fout"
Case 75 'De gebruiker klikt op de knop Annuleren.
MsgBox "You didn't select a picture.", vbOKOnly + vbInformation, "Melding"
Case Else 'Overige gevallen
MsgBox "Error in: " & "cmdInsertImage_Click, foutnummer:" & Err.Number & ", " & Err.Description
End Select
Exit Sub
End Sub
Private Sub cmdOK_Click()
DoCmd.Close acForm, Me.Name, acSaveYes
End Sub
Private Sub Form_Open(Cancel As Integer)
On Error GoTo err_Form_Open
If Me.chkPersoon_FotoBeschikbaar = True Then
'*************************************
'Pas dit aan met map voor afbeeldingen
'*************************************
Me.imgFoto.Picture = CurrentProject.Path & "\" & Me.txbPersoon_Personeelsnummer & ".jpg"
Me.imgFoto.Visible = True
Else
Me.imgFoto.Visible = False
Me.txbFoutmelding.Visible = False
End If
Exit Sub
err_Form_Open:
Select Case Err.Number
Case 2220 'De verwachte afbeeldingen is niet te vinden.
Me.txbFoutmelding = "Picture is erased or has a different name."
Me.imgFoto.Visible = False
Case Else
MsgBox Err.Number
End Select
End Sub
Een screenshot van het 'voorbeeld' form:

En een screenshot van hoe ik mijn form graag zou zien (maar dan werkend, dat doet het nu dus niet


Geen idee of dit heel moeilijk is of niet, maar ik hoop dat jullie mij verder kunnen helpen.