Avatar billede kkc Nybegynder
02. november 2005 - 03:02 Der er 3 kommentarer og
1 løsning

Knap til at linke billeder i databasen

Jeg har fulgt stry's udmærkede artikel omkring oprettelse af et fotoalbum i Access. (http://www.eksperten.dk/artikler/197)
Er det en mulighed for at man ved hjælp af en knap kan finde frem til det ønskede billede så at stien til billedet man markerer 'automatisk'  bliver lagt ind i databasen.
Avatar billede mugs Novice
02. november 2005 - 05:47 #1
Ja det er der. Læg denne kode ind i et modul:

Private Declare Function GetOpenFileName Lib "comdlg32.dll" Alias _
"GetOpenFileNameA" (pOpenfilename As OPENFILENAME) As Long
Private Type OPENFILENAME
lStructSize As Long
hwndOwner As Long
hInstance As Long
lpstrFilter As String
lpstrCustomFilter As String
nMaxCustFilter As Long
nFilterIndex As Long
lpstrFile As String
nMaxFile As Long
lpstrFileTitle As String
nMaxFileTitle As Long
lpstrInitialDir As String
lpstrTitle As String
flags As Long
nFileOffset As Integer
nFileExtension As Integer
lpstrDefExt As String
lCustData As Long
lpfnHook As Long
lpTemplateName As String
End Type

Function LaunchCD(strform As Form) As String
Dim OpenFile As OPENFILENAME
Dim lReturn As Long
Dim sFilter As String
OpenFile.lStructSize = Len(OpenFile)
OpenFile.hwndOwner = strform.Hwnd
sFilter = "All Files (*.*)" & Chr(0) & "*.*" & Chr(0) & _
"JPG Files (*.JPG)" & Chr(0) & "*.JPG" & Chr(0)
OpenFile.lpstrFilter = sFilter
OpenFile.nFilterIndex = 1
OpenFile.lpstrFile = String(257, 0)
OpenFile.nMaxFile = Len(OpenFile.lpstrFile) - 1
OpenFile.lpstrFileTitle = OpenFile.lpstrFile
OpenFile.nMaxFileTitle = OpenFile.nMaxFile
OpenFile.lpstrInitialDir = "C:\Billede"
OpenFile.lpstrTitle = "Vælg en fil og tryk på Åbn."
OpenFile.flags = 0
lReturn = GetOpenFileName(OpenFile)
If lReturn = 0 Then
MsgBox "Manglende fil!", vbInformation, _
"Du har ikke valgt en fil fra Stifinderen."
Else
LaunchCD = Trim(OpenFile.lpstrFile)
End If
End Function

Og denne i en knap i formularen:

Me.Kommandoknap23.HyperlinkAddress = LaunchCD(Me)
Me!FigurPath = Me.Kommandoknap23.HyperlinkAddress
'Hvis der er et billede, så vis det ellers et tomt felt
If Not IsNull(Me!FigurPath) Then
Me!Billede.Picture = Me!FigurPath
Else
Me!Billede.Picture = ""
End If

Hvor Figurpath er det felt der indeholder strengen til billedet. Jeg kan sende dig et eksempel, når jeg er hjemme fra arbejde. Blæot læg din e-mail.
Avatar billede kkc Nybegynder
02. november 2005 - 12:14 #2
> mugs - kanon - takker mange gange

min mail er:  kaj @ it.dk
Avatar billede mugs Novice
02. november 2005 - 17:17 #3
Eksempel sendt. Tak for point.
Avatar billede kkc Nybegynder
02. november 2005 - 18:18 #4
Er modtaget - det er mig der takker
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester