Avatar billede schoesler Nybegynder
05. september 2002 - 08:04 Der er 13 kommentarer og
1 løsning

Hente billeder ind i form, men lagre den i en folder

Hej Eksperter
Har en form som jeg gerne vil have vist et billede, men for ikke at få databasen til at fylde for meget vil jeg beholde billederne i en folder på PCén
Er der nogen som har et foreslag eller et eksempel.
Jan
Avatar billede terry Ekspert
05. september 2002 - 08:17 #1
place an image object on your form. You may have to place a picture in it, but that can be deleted afterwards.

then you can use the following to show the picture

Me.TheImgageObject.Picture = "D:\SomePicture.BMP"
Avatar billede schoesler Nybegynder
05. september 2002 - 08:40 #2
Hej Terry
Tænkte på lidt mere kompliceret. At jeg havde en knap "Select picture" så kunne man vælge en billede til at indsætte.
Jan (amatøren)
Avatar billede terry Ekspert
05. september 2002 - 08:41 #3
OK, du you have anything against using the common dialog control to find the picture?
Avatar billede schoesler Nybegynder
05. september 2002 - 08:44 #4
Nej det er ok, jeg har en del forms som allerede bruger common dialog control.
Avatar billede schoesler Nybegynder
05. september 2002 - 08:44 #5
hvor jeg indsætter links til forskellige dokumenter
Avatar billede schoesler Nybegynder
05. september 2002 - 08:47 #6
Har allerede en kode som åbner en specifik folder
Option Compare Database

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) & _
      "JPEG 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 = "\\server\server\company shared folders\relief"
    OpenFile.lpstrTitle = "Select a file from the RELIEF folder on the SERVER"
    OpenFile.flags = 0
    lReturn = GetOpenFileName(OpenFile)
        If lReturn = 0 Then
            MsgBox "A file was not selected!", vbInformation, _
              "Select a file from the RELIEF folder on the SERVER"
        Else
            LaunchCD = Trim(OpenFile.lpstrFile)
        End If
End Function
Avatar billede terry Ekspert
05. september 2002 - 08:58 #7
Yes I was just writing this

Jan, if you have already implemented routines for inserting links to ducuments then you ALREADY HAVE something you can use. You do it in just the same way but at the same time you put the path+filename in the dB you use the line of code I gave in my answer to show it on the form.

Then you obviously need to show the picture each time you go to this record.

You could use something like this for doing this in the forms on current event

Private Sub Form_Current()
    If Not IsNull(Me.LinkToPicture) Then
        Me.TheImage.Picture = Me.LinkToPicture
    Else
        Me.TheImage.Picture = ""
       
    End If

End Sub
Avatar billede schoesler Nybegynder
05. september 2002 - 12:08 #8
Hej Terry

Skal der oprettes noget felt i en db og skal der oprettes et object felt på formen?

Jan
Avatar billede terry Ekspert
05. september 2002 - 12:13 #9
yes you are going to need a field in the table for storing the path and file name. You dont need a field on the form unless you want to see the path.
Avatar billede schoesler Nybegynder
05. september 2002 - 13:20 #10
Hej Terry
Jeg sidder og "fjoger" så lige et par tillægsspørgsmål.
me.linkToPicture er det felt som jeg opretter i databasen, som hyperlink
me.TheImage.Picture, hvad er det, jeg får hele tiden debug error

Jan
Avatar billede terry Ekspert
05. september 2002 - 13:32 #11
me.TheImage is the image object you need on th eform to display the picture
me.TheImage.Picture is the picture property which will contain the path+filename (me.LinkToPicture)

me.LinkToPicture is the name of a field on the form IF you do NOT have a field on the form for displaying the path+filename then use
me!LinkToPicture where LinkToPicture is the name of the field in the table which contains the path+filename.
You need to re-name these fields/objects to reflect the names in your dB.

Hope that clears things up Jan

You need to ren
Avatar billede schoesler Nybegynder
05. september 2002 - 14:02 #12
Hej Terry. Jeg giver op.! Er klar over at det er ret nemt, men det er ikke min dag.
Jan
Avatar billede terry Ekspert
05. september 2002 - 14:04 #13
OK, you can try again tomorrow :o)
Avatar billede schoesler Nybegynder
05. september 2002 - 19:48 #14
Hej Terry
Så fik jeg mit billede ind på formen, så nu har jeg et andet problem, hvis nu nogen sletter billedet, så får jeg en debug error, hvad kan jeg gøre ved det? Pointene er til dig...

Private Sub Form_Current()

    If Not IsNull(Me!Ekstra4) Then
        Me!Billede.Picture = Me!Ekstra4
        Else
        Me!Billede.Picture = "(none)"
    End If


End Sub
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