hallo mensen,
ik ben momenteel bezig met een access database. In één van de tabellen wordt een adres opgeslagen van een afbeelding. Via VBA plaats ik deze afbeelding dan in een 'Picture' op m'n formulier.
In mijn script kan ik nu het zogeheten "browser" venster omhoog halen. Het bestand dat hier aangevinkt wordt schrijf ik vervolgens naar:
1. Tabel (voor opslag)
2. Picture op formulier (ter voorbeeld)
Op deze manier zorg ik ervoor dat de database maximaal 5 foto's bevat (dit komt ten goede van de grote van de database).
Nu wil ik dat als ik mijn formulier open de volgende zaken doorlopen worden:
- Formulier openen
- controlleren of er al een link in de tabel staat
- zo ja: Wordt het plaatje ingevuld met deze link
- zo nee: Wordt het plaatje ingevuld met een standaard foto
Dit gaat dus mis. Ik krijg het bericht "ongeldig gebruik van Null" als er één of meer afbeeldingen niet in de tabel staan (anders gezegd; als hij de standaard foto moet weergeven). Mijn code is als volgd:
[voor het vullen van de picture & tabel]
-------------------------------------------------------------------------------
Private Sub Knop19_Click()
Dim dlgOpen As FileDialog
Set fd = Application.FileDialog(msoFileDialogFilePicker)
Dim vrtselecteditem As Variant
With fd
If .Show = -1 Then
For Each vrtselecteditem In .SelectedItems
If FileLen(vrtselecteditem) / 1024 > 100 Then
MsgBox "Foto is te groot en wordt niet geupload!! " & FileLen(vrtselecteditem) / 1024 & " kB"
Else
Afbeelding_1 = vrtselecteditem
Afbeelding21.Picture = vrtselecteditem
Dim destinationfile As String
destinationfile = "c:/mobile/NEW-" & Auto_ID & "_1.jpg"
FileCopy vrtselecteditem, destinationfile ' Copy source to target.
MsgBox "Foto toegevoegd!!"
End If
Next vrtselecteditem
End If
End With
Set fd = Nothing
End Sub
[Bij het opstarten van het formulier]
-------------------------------------------------------------------------------
If Afbeelding_1 = Null Then
Afbeelding21.Picture = "C:\Documents and Settings\Monnikhof\Mijn documenten\Mijn afbeeldingen\details_de.bmp"
Else
Afbeelding21.Picture = Afbeelding_1
End If
-------------------------------------------------------------------------------
hierbij gaat het dus mis bij het laatste stuk code. De foutopsporing geeft "afbeelding 21.picture = afbeelding_1" als fout.
(veel tekst
maar ik zie zelf geen probleem)
ik ben momenteel bezig met een access database. In één van de tabellen wordt een adres opgeslagen van een afbeelding. Via VBA plaats ik deze afbeelding dan in een 'Picture' op m'n formulier.
In mijn script kan ik nu het zogeheten "browser" venster omhoog halen. Het bestand dat hier aangevinkt wordt schrijf ik vervolgens naar:
1. Tabel (voor opslag)
2. Picture op formulier (ter voorbeeld)
Op deze manier zorg ik ervoor dat de database maximaal 5 foto's bevat (dit komt ten goede van de grote van de database).
Nu wil ik dat als ik mijn formulier open de volgende zaken doorlopen worden:
- Formulier openen
- controlleren of er al een link in de tabel staat
- zo ja: Wordt het plaatje ingevuld met deze link
- zo nee: Wordt het plaatje ingevuld met een standaard foto
Dit gaat dus mis. Ik krijg het bericht "ongeldig gebruik van Null" als er één of meer afbeeldingen niet in de tabel staan (anders gezegd; als hij de standaard foto moet weergeven). Mijn code is als volgd:
[voor het vullen van de picture & tabel]
-------------------------------------------------------------------------------
Private Sub Knop19_Click()
Dim dlgOpen As FileDialog
Set fd = Application.FileDialog(msoFileDialogFilePicker)
Dim vrtselecteditem As Variant
With fd
If .Show = -1 Then
For Each vrtselecteditem In .SelectedItems
If FileLen(vrtselecteditem) / 1024 > 100 Then
MsgBox "Foto is te groot en wordt niet geupload!! " & FileLen(vrtselecteditem) / 1024 & " kB"
Else
Afbeelding_1 = vrtselecteditem
Afbeelding21.Picture = vrtselecteditem
Dim destinationfile As String
destinationfile = "c:/mobile/NEW-" & Auto_ID & "_1.jpg"
FileCopy vrtselecteditem, destinationfile ' Copy source to target.
MsgBox "Foto toegevoegd!!"
End If
Next vrtselecteditem
End If
End With
Set fd = Nothing
End Sub
[Bij het opstarten van het formulier]
-------------------------------------------------------------------------------
If Afbeelding_1 = Null Then
Afbeelding21.Picture = "C:\Documents and Settings\Monnikhof\Mijn documenten\Mijn afbeeldingen\details_de.bmp"
Else
Afbeelding21.Picture = Afbeelding_1
End If
-------------------------------------------------------------------------------
hierbij gaat het dus mis bij het laatste stuk code. De foutopsporing geeft "afbeelding 21.picture = afbeelding_1" als fout.
(veel tekst