Avatar billede Slettet bruger
17. november 2005 - 09:58 Der er 11 kommentarer og
2 løsninger

Vedhæft fil til post

Nogle forslag!~)
Avatar billede mugs Novice
17. november 2005 - 10:01 #1
Uddybende kommentarer?
Avatar billede Slettet bruger
17. november 2005 - 10:11 #2
Hvis du nu har en formular, som viser nogle poster en af gangen, det er nogle opgaver i dette tilfælde. Så er en opgave løst og der ligger måske en pdf-fil på løsningen eller et indscannet billede eller noget lignende, et excelark osv. Hvordan kan man få en funktion a´la vedhæft fil i et mailprogram, der skal være mulighed for at vedhæfte flere til samme post.
Avatar billede jesperfjoelner Nybegynder
17. november 2005 - 10:27 #3
Lav et felt i din bagvedliggende tabel som hedder "filnavn" og en tekstbox på formularen , som er koblet til dette felt.

Når der så er en fil, som skal kobles til posten skal du have den fulde sti til filen placeret i feltet "filnavn".

Det kan du f.eks. gøre ved at have en "browse..."-knap, hvor du kan lede efter den fil, der skal tilkobles.
Du kan bruge windows API til at kalde en standard windows "find-fil"-boks:
http://www.mvps.org/access/api/api0001.htm

Pointen er altså at du laver et felt på formularen og gemmer stien til din tilkoblede fil i feltet (gem aldrig selve filen i databasen som et OLE-objekt, da databasen bliver kæmpestor af det).
Avatar billede Slettet bruger
17. november 2005 - 11:20 #4
Jeg arbejder på det!~)

Hvordan åbner man egentlig filen igen....
Avatar billede -anders- Juniormester
17. november 2005 - 11:41 #5
Hej spg
Hvis du besøger www.makeiteasy.dk, er under menuen download en database (fildialog)der kan downloades, her er der en fin og flot fildialog med tilhørende shellexcute der kan åbne en fil der er gemt som en streng i et felt feks. ved dobbeltklik, prøv evt. at kikke på det
Avatar billede -anders- Juniormester
17. november 2005 - 11:44 #6
Du skriver: "der skal være mulighed for at vedhæfte flere til samme post."

hvis dette skal være muligt er du nødt til at have en ekstra tabel evt. med relation til den aktuelle post, her kan man så gemme alle de filhenvisninger man vil til den aktuelle post (en til mange), altså en unik post med en eller flere filhenvisninger
Avatar billede jesperfjoelner Nybegynder
17. november 2005 - 11:47 #7
Hvis du bare skal åbne et program kan du bruge:
shell "C:\WINDOWS\notepad.exe"

Du kan åbne en fil således:
shell "C:\windows\notepad.exe c:\test.txt"

hvis du skal kunne åbne alle filer med deres tilhørende program skal jeg lige have kigget efter koden, men det kan vist også lade sig gøre, så man ikke er nødsaget til at kende stien først.
Avatar billede -anders- Juniormester
17. november 2005 - 11:55 #8
Prøv at paste denne kode ind i et modul:

Private Declare Function apiShellExecute Lib "Shell32.dll" _
    Alias "ShellExecuteA" _
    (ByVal hwnd As Long, _
    ByVal lpOperation As String, _
    ByVal lpFile As String, _
    ByVal lpParameters As String, _
    ByVal lpDirectory As String, _
    ByVal nShowCmd As Long) _
    As Long

'***App Window Constants***
Public Const WIN_NORMAL = 1        'Open Normal
Public Const WIN_MAX = 3            'Open Maximized
Public Const WIN_MIN = 2            'Open Minimized

'***Error Codes***
Private Const ERROR_SUCCESS = 32&
Private Const ERROR_NO_ASSOC = 31&
Private Const ERROR_OUT_OF_MEM = 0&
Private Const ERROR_FILE_NOT_FOUND = 2&
Private Const ERROR_PATH_NOT_FOUND = 3&
Private Const ERROR_BAD_FORMAT = 11&

'***************Usage Examples***********************
'Open a folder:    ?ShellExecute("C:\TEMP\",WIN_NORMAL)
'Call Email app:    ?ShellExecute("mailto:dash10@hotmail.com",WIN_NORMAL)
'Open URL:          ?ShellExecute("http://home.att.net/~dashish", WIN_NORMAL)
'Handle Unknown extensions (call Open With Dialog):
'                  ?ShellExecute("C:\TEMP\TestThis",Win_Normal)
'Start Access instance:
'                  ?ShellExecute("I:\mdbs\CodeNStuff.mdb", Win_NORMAL)
'****************************************************

Function ShellExecute(stFile As String, lShowHow As Long)
Dim lRet As Long, varTaskID As Variant
Dim stRet As String
    'First try ShellExecute
    lRet = apiShellExecute(hWndAccessApp, vbNullString, _
            stFile, vbNullString, vbNullString, lShowHow)
           
    If lRet > ERROR_SUCCESS Then
        stRet = vbNullString
        lRet = -1
    Else
        Select Case lRet
            Case ERROR_NO_ASSOC:
                'Try the OpenWith dialog
                varTaskID = Shell("rundll32.exe shell32.dll,OpenAs_RunDLL " _
                        & stFile, WIN_NORMAL)
                lRet = (varTaskID <> 0)
            Case ERROR_OUT_OF_MEM:
                stRet = "Error: Out of Memory/Resources. Couldn't Execute!"
            Case ERROR_FILE_NOT_FOUND:
                stRet = "Error: File not found.  Couldn't Execute!"
            Case ERROR_PATH_NOT_FOUND:
                stRet = "Error: Path not found. Couldn't Execute!"
            Case ERROR_BAD_FORMAT:
                stRet = "Error:  Bad File Format. Couldn't Execute!"
            Case Else:
        End Select
    End If
    ShellExecute = lRet & _
                IIf(stRet = "", vbNullString, ", " & stRet)
End Function

Derefter kaldes funktionen feks. ved klik på en knap på denne måde:

Call ShellExecute(Me!Sti, WIN_NORMAL)

Hvor feltet Sti så skal ændres til dit feltnavn
Avatar billede -anders- Juniormester
17. november 2005 - 11:56 #9
Ovenstående finder selv værtsprogrammet og åbner filen der er angivet i dit felt
Avatar billede Slettet bruger
17. november 2005 - 12:11 #10
Ok, nu fungerer det hele!~)

Ved hjælp af:
17/11-2005 10:27:39
17/11-2005 11:55:46

Så mange tak til jesperfjoelner og aandersen smid et svar....
Avatar billede -anders- Juniormester
17. november 2005 - 12:13 #11
Svar,som sagt hvis du vil have flere filreg. for den samme post kræver det en tabel mere forsat god arbejdslyst :o)
Avatar billede Slettet bruger
17. november 2005 - 12:24 #12
Ja, jeg lavede en tabel, som kører i en underformular. Denne formular styrer så udelukkende vedhæftede filer, som er linket til opg. id på hovedformularen!~)
Avatar billede -anders- Juniormester
17. november 2005 - 13:04 #13
Jammen så er der jo styr på det, tak for point :o)
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