Hej Finns möjlighet attt istället spara PictureData från bilden i fältet. Tack för ditt snabba svar 1. Det är inte fel på koden. Det är fel på dig... eller hos dig menar jag. Infoga bild i Access formulär
Jag har CD Databas i Access 2003. Den innehåller både tabeller och formulär. I ett formulär har jag ARTISTER med namn ,biografi samt en bild av artisten. Om jag lägger till en ny artist och vill ha en bild av denna så måste jag gå via "Infoga objekt, Photoshop image" öppna bilden i photoshop och sedan klistra in den. Detta tycker jag är omständligt.
Finns det någon kod som gör att jag inifrån formuläret kan klicka på en knapp, (lägg till bild) som öppnar ett utforskar-fönster och jag kan bläddra bland mina filer på hårddisken för att lägga till önskad bild.
Har sett att i Access exempeldatabas "Northwind.mdb och formuläret Anställda" finns en liknade funktion.
Hur jag än gör med denna funktion får jag den ej att fungera i min CD Databas.
Tacksa m för alla svar
P-G Sv: Infoga bild i Access formulär
Så här laddar du en bild:
<code>
Private Sub LoadPictureButton_Click()
Dim fd As FileDialog
On Error GoTo LoadPictureButton_Click_Err
Set fd = Application.FileDialog(msoFileDialogFilePicker)
If fd.Show Then
Image.Picture = fd.SelectedItems(1)
ImageOLE.Value = Image.PictureData
End If
LoadPictureButton_Click_Exit:
Exit Sub
LoadPictureButton_Click_Err:
MsgBox Err.Description, vbCritical
Resume LoadPictureButton_Click_Exit
End Sub
</code>
* Image - en image kontroll
* ImageOLE - En dold bunden OLE kontroll
För att bilden skall visas när du bläddrar måste du skriva:
Private Sub Form_Current()
Dim data As Variant
On Error GoTo Form_Current_Err
Image.Picture = ""
data = ImageOLE.Value
If Not IsNull(data) Then
Image.PictureData = data
End If
Form_Current_Exit:
Exit Sub
Form_Current_Err:
MsgBox Err.Description, vbCritical
Resume Form_Current_Exit
End Sub
Om du vill tabort/radera en bild:
Private Sub ClearPictureButton_Click()
Dim fd As FileDialog
On Error GoTo ClearPictureButton_Click_Err
Set fd = Application.FileDialog(msoFileDialogFilePicker)
If fd.Show Then
Image.Picture = fd.SelectedItems(1)
ImageOLE.Value = Image.PictureData
End If
ClearPictureButton_Click_Exit:
Exit Sub
ClearPictureButton_Click_Err:
MsgBox Err.Description, vbCritical
Resume ClearPictureButton_Click_Exit
End Sub
Sv:Infoga bild i Access formulär
Tyvärr så hjälpte inte detta.
1. När jag från databasfönstret öppnar formuläret så dyker ett felmeddelande upp...
- Kompileringsfel:
Odefinerad variabel
Under Sub Form_Current () stannar markören på raden
- image.picture
Efter att fönstrets har stängst så visas formuläret på skärmen
2. Om jag klickar på Knappen LoadPicureButton så visas följande felmeddelande...
- Kompileringsfel:
Egendefinerad typ har inte defineratsSv: Infoga bild i Access formulär
<b>
* Image - en image kontroll
* ImageOLE - En dold bunden OLE kontroll
</b>
Jag ber dig umärksamma at jag angivit att för att koden skall fungera bör det existera två kontroller på dit formulär med följande namn och kontrolltyp.
2. FileDialog klassen finns i office bilbioteket. För at den skal fungera få du lägga till en referens till Microsoft Office 11.0 Object Library.
Jag frågar mig om vilka kunskaper du har i VBA programmering, hur mycket du själv har sökt lösning på problemet?
Det är bekvämt att låta andra lösa ens problem.