Avatar billede perj Nybegynder
06. februar 2002 - 13:07 Der er 11 kommentarer og
3 løsninger

Har brug for et billedfeldt i Access database.

Jeg har en lille database med:
Navn, Adresse, By, Nr. Bem.
Nu har jeg så brug for et tilhørende billedfeldt. Altså et billede til hvert ID.
Alle billeder har jeg liggende i en mappe som jpg-filer. Hvordan klarer jeg det?. Evt. nogen der kan lave basen.
Jeg anvender:Access 2000/Win 98II.
Avatar billede terry Ekspert
06. februar 2002 - 13:14 #1
I would suggest that you only save the path+filename of each picture in your database. Access can stor teh actual picture butit does have a max size of 2Gb and picture can fill quite a lot.
Avatar billede perj Nybegynder
06. februar 2002 - 13:21 #2
OK, men hvordan gør jeg så helt præcist det.
Databaseb skal udelukkende køre intern på min PC.
Avatar billede terry Ekspert
06. februar 2002 - 13:55 #3
Private Sub DocumentName_DblClick(Cancel As Integer)
   
    GetDocument
   
    If IsNull(Me.AXComDlg.filename) Or Me.AXComDlg.filename = "" Then
    ' We don 't want to alter the previous data
        Exit Sub
       
    End If
   
    Me.DocumentName = Me.AXComDlg.FileTitle
    Me.DocumentLink = Left(Me.AXComDlg.filename, InStr(1,      Me.AXComDlg.filename, Me.AXComDlg.FileTitle, 1) - 2)
   
End Sub

Public Function GetDocument()
Dim InitDir As String

    ' Set CancelError is True
   
    Me.AXComDlg.CancelError = True
    Me.AXComDlg.DialogTitle = "Link Document"
   
    On Error GoTo Err_GetDocument
    ' Set flags
    Me.AXComDlg.Flags = cdlOFNHideReadOnly + cdlOFNFileMustExist
    ' Set filters
 
    Me.AXComDlg.Filter = "All Files (*.*)|*.*"
   
    If Not IsNull(Me.DocumentName) Then
        Me.AXComDlg.InitDir = Me.DocumentLink
    End If
       
    ' Specify default filter
    Me.AXComDlg.FilterIndex = 2
    ' Display the Open dialog box
    Me.AXComDlg.ShowOpen
    ' Display name of selected file

Exit_GetDocument:
    Exit Function
   
Err_GetDocument:
    'User pressed the Cancel button
    Exit Function

End Function

Private Sub cmdViewDocument_Click()
Dim result As Integer
   
   
    On Error GoTo Err_cmdViewDocument_Click
   
    If Not IsNull(Me.DocumentID) Then
   
        result = ShellExecute(0, "Open", Me.DocumentName, "", Me.DocumentLink, SW_SHOW)

        If result < 32 Then
            msgBox "Couldn't open file ...", vbInformation
       
        End If
   
    End If
   
Exit_cmdViewDocument_Click:
    Exit Sub

Err_cmdViewDocument_Click:
    msgBox Err.Description
    Resume Exit_cmdViewDocument_Click

End Sub
Avatar billede terry Ekspert
06. februar 2002 - 14:05 #4
Explanation:
You need a common dialog control on your form and name itAXComDlg.
You need a text field in your table named DocumentName and one named DocumentLink.
Then you add the DocumentName to the form.

Then in the double click property for DocumentName you set it to [Event Procedure]

Then you place a button on the form named cmdViewDocument and set its click event to [Event Procedure]

When you double click on the DocumentName field the dialog box will open so that you can find the .jpg file for the record. This will display the file name and also save the path to the file.

When you press the button the selected records picture will be displayed in th eprogram which is associated to this file type.

Think thats it.
Avatar billede johs_j Novice
06. februar 2002 - 20:36 #5
Tilføj et felt med typen OLE-Object.
Derefter tilføjer du billederne i Formularen samtidig med at du indskriver de andre data. Højreklik på billedfeltet og følg anvisningen.
Avatar billede terry Ekspert
06. februar 2002 - 20:51 #6
hi johs_j>see my answer 13:14! Yes its as easy as you say but it does give problems!
Avatar billede terry Ekspert
07. februar 2002 - 10:34 #7
perj>hows it going?
Avatar billede perj Nybegynder
07. februar 2002 - 11:06 #8
Hvorfor får jeg kun et IKON i billedfeltet ?
Jeg har valgt OLE-bundet Object - er det forkert?
Avatar billede johs_j Novice
07. februar 2002 - 11:34 #9
Det kan skyldes at Acces måske ikke kan vise jpg-filer på grund af kompressionen i disse typer. Prøv at konvertere billederne til BMP.
Avatar billede terry Ekspert
07. februar 2002 - 22:21 #10
perj>hows it going here?
Avatar billede martin_sj Nybegynder
11. februar 2002 - 20:08 #11
Hej Perj!

Gør som johs_j siger! tilføj et felt med typen ole-objekt.
og tilføj derefter hændelsen:

Private Sub billede_Enter()
billede.Class = "Photo Editor 3.0-billed"    ' Set class name.
    ' Specify type of object.
    billede.OLETypeAllowed = acOLELinked
    ' Specify source file.
    billede.SourceDoc = "C:\Mappenavn?\" & navn & ".jpg"
    ' Specify data to create link to.
      billede.Action = acOLECreateLink
    ' Adjust control size.
    billede.SizeMode = acOLESizeZoom
End Sub

Bemærk at nr bem i "C:\Mappenavn?\" & nr bem & ".jpg" er nr bem i din database!
Kald derfor billederne de numre der passer til databasen..

Husk du skal have photoed installeret den ligger evt. på din office cd! Det skulle også løse problemet med at du kun kan se ikoner...

hilsen martin
Avatar billede terry Ekspert
11. februar 2002 - 20:29 #12
perj! Hows it going?
Avatar billede perj Nybegynder
16. april 2002 - 12:38 #13
Tak for svarerne. Jeg løste problemet på en anden måde (Delphi), men kan bruge jeres svar i en anden forbindelse.
Avatar billede rosco Novice
13. august 2002 - 21:30 #14
Til peri:
Jeg har samme problem. Har du noget imod at fortælle om din løsning på problemet. På forhånd tak.
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