---
title: "länka in filer till ett formulär"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/98709-länka-in-filer-till-ett-formulär"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "afk"
published: "2004-03-04T11:04:55.000Z"
updated: "2004-03-04T22:20:03.000Z"
replies: 2
views: 210
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/databaser-sql/98709-länka-in-filer-till-ett-formulär"
---

# länka in filer till ett formulär

## #1 — afk, 2004-03-04T11:04Z

Kan man göra detta i Access???
Jag vill kunna spara filnamn i en databas. 
Filer som skall sparas i databasen ska gå att hitta genom att "bläddra" fram och välja i en fillista.

Filen (eller rättare sagt länken till filen) som är sparade i databasen skall gå att öppna innefrån Access. 

Hjälp mottages varmt!

Permalänk: https://www.webforum.nu/p/98709

## #2 — Engine^, 2004-03-04T16:16Z

Att öppna en fil från Access med det associerade programmet kan göras med lite VBA.

```
[blue]'**************************
'***App Window Constants***
'**************************[/blue]
Public Const WIN_NORMAL = 1         'Open Normal
Public Const WIN_MAX = 3            'Open Maximized
Public Const WIN_MIN = 2            'Open Minimized

[blue]'**************************
'***FileOpen Error Codes***
'**************************[/blue]
Public Const ERROR_OUT_OF_MEM = 0&
Public Const ERROR_FILE_NOT_FOUND = 2&
Public Const ERROR_PATH_NOT_FOUND = 3&
Public Const ERROR_ACCESS_DENIED = 5&
Public Const ERROR_BAD_FORMAT = 11&
Public Const ERROR_SUCCESS = 32&
Public Const ERROR_NO_ASSOC = 31&

[blue]'*******************
'***Windows API's***
'*******************[/blue]
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

Public Function OpenFileByType(strFileName As String, lngWindowMode As Long) As Long
    Dim lngRet As Long
    Dim varTaskID As Variant
    
    'Testa om filtypen har ett registrerat program
    lngRet = apiShellExecute(hWndAccessApp, vbNullString, strFileName, vbNullString, vbNullString, lngWindowMode)
            
    If lngRet > ERROR_SUCCESS Then
        lngRet = -1
    Else
        If lngRet = ERROR_NO_ASSOC Then
            'Inget program associerat med filtypen. Testa via Öppna med...
            varTaskID = Shell("rundll32.exe shell32.dll,OpenAs_RunDLL " & strFileName, WIN_NORMAL)
            lngRet = (varTaskID <> 0)
        End If
    End If
    
    OpenFileByType = lngRet
End Function
```

Lägg ovanstående i en modul och sedan när du vill öppna filen med hjälp av en sökväg kallar du bara på funktionen *OpenFileByType*

```
If OpenFileByType(strFileName, WIN_NORMAL) = ERROR_FILE_NOT_FOUND Then
  MsgBox "Filen hittades inte." & vbCrLf & vbCrLf & strFileName, vbExclamation + vbOKOnly, "Fel"
End If
```

Så gör jag för att öppna Autocadritningar från Access och det fungerar väldigt smidigt måste jag säga :)

Permalänk: https://www.webforum.nu/p/1289537

## #3 — afk, 2004-03-04T22:20Z

tack...

...för hjälpen! skall testa det under morgondagen. hopas att det skall lösa sig. återkommer om det strular. :)

Permalänk: https://www.webforum.nu/p/1292723

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/98709-länka-in-filer-till-ett-formulär
