document linken in DB door middel van knop

Status
Niet open voor verdere reacties.

jvrooij

Gebruiker
Lid geworden
25 mrt 2009
Berichten
44
Ik wil graag in Acces 2007 als er nieuwe notulen of dergelijke document op het netwerk zijn gezet een link plaatsen in de database. Graag zou ik dat willen doen door een beheerder op een knop te laten klikken waardoor deze naar een willekeurige map kan gaan op het netwerk om een document selecteren b.v. .pdf of .doc en dat dan deze link naar het document in een veld wordt gezet waardoor een gebruiker op deze link kan klikken en het document openen.

Nu heb ik een formullier gemaakt waardoor de beheerder deze linken kan toevoegen, maar dat moet handmatig en zoals gezegd zou ik dit graag door een knop willen laten gebeuren.

Hellaas kom ik er niet aan uit hoe dit moet doen.

Nu heb ik onderstaande code gevonden in de help van Acces maar weet niet goed wat ik er mee aan moet. Ik wil dit graag verwerken in een formulier maar wat ik ook doe er gebeurt niks. Ik zal de code waarschijnlijk moeten aanpassen maar weet niet wat ik moet doen

Private Sub cmdFileDialog_Click()

'Requires reference to Microsoft Office 12.0 Object Library.

Dim fDialog As Office.FileDialog
Dim varFile As Variant

'Clear listbox contents.
Me.FileList.RowSource = ""

'Set up the File Dialog.
Set fDialog = Application.FileDialog(msoFileDialogFilePicker)
With fDialog
'Allow user to make multiple selections in dialog box.
.AllowMultiSelect = True

'Set the title of the dialog box.
.Title = "Please select one or more files"

'Clear out the current filters, and add our own.
.Filters.Clear
.Filters.Add "Access Databases", "*.MDB; *.ACCDB"
.Filters.Add "Access Projects", "*.ADP"
.Filters.Add "All Files", "*.*"

'Show the dialog box. If the .Show method returns True, the
'user picked at least one file. If the .Show method returns
'False, the user clicked Cancel.
If .Show = True Then
'Loop through each file selected and add it to the list box.
For Each varFile In .SelectedItems
Me.FileList.AddItem varFile
Next
Else
MsgBox "You clicked Cancel in the file dialog box."
End If
End With
End Sub
 
Laatst bewerkt:
Ik ben er nog steeds mee bezig :( weet niet goed hoe ik de tabel en het formulier moet opzetten om deze code te gebruiken.

Ik krijg wel een fout melding van Dim fDialog As Office.FileDialog als ik wat probeer :( wist niet dat dit zo'n moeilijk item was
 
Heb je een verwijzing gemaakt naar de Office 12.0 Object Library? Check dat eerst, in je VBA editor. <Extra>, <Verwijzingen>.

Michel
 
Dan wordt-ie wat lastiger; ik heb de voorbeeldcode zelf ook uitgeprobeerd, en krijg hetzelfde probleem. Het FileDialog commando bestaat bij mij niet, ik kom niet verder dan FileSearch. En daar heb je in jouw geval niet zo veel aan.

Niet getreurd, ik gebruik zelf een hele andere techniek, en die zit in bijgevoegde DB. Kijk maar eens, of je er wat aan hebt!

Michel
 

Bijlagen

Dan wordt-ie wat lastiger; ik heb de voorbeeldcode zelf ook uitgeprobeerd, en krijg hetzelfde probleem. Het FileDialog commando bestaat bij mij niet, ik kom niet verder dan FileSearch. En daar heb je in jouw geval niet zo veel aan.

Niet getreurd, ik gebruik zelf een hele andere techniek, en die zit in bijgevoegde DB. Kijk maar eens, of je er wat aan hebt!

Michel


ziet er goed uit, ik heb het zoeken naar DB verandert in word documenten maar ik krijg een fout melding;

Code:
        Set db = DBEngine.Workspaces(0).Opendatabase(strPath)

weet niet goed wat er mee bedoelt wordt maar het lijkt er op dat in dit stukje code je een BD opent

Code:
If Not IsNull(strPath) Then
        Set db = DBEngine.Workspaces(0).Opendatabase(strPath)

        For i = 0 To db.TableDefs.Count - 1

            strName = db.TableDefs(i).Name
            If Left(strName, 2) <> "MS" Then
                strList = strList & ";'" & strName & "'"
            End If
        Next i
        strList = Mid(strList, 2, Len(strList))
        liTabellen.SetFocus
        liTabellen.RowSourceType = "Value list"
        liTabellen.RowSource = strList
        liTabelBedrijven.SetFocus
        liTabelBedrijven.RowSourceType = "Value list"
        liTabelBedrijven.RowSource = strList
    End If

ik weet dus niet of het probleem daar in zit en als het daar in zit weet ik dus ook niet hoe ik het moet veranderen, zoals je al merkt ben ik niet zo'n held in dit. Ik lees veel boeken en bezoek veel site's maar dit krijg ik maar niet opgelost
 
Laatst bewerkt:
ziet er goed uit, ik heb het zoeken naar DB verandert in word documenten maar ik krijg een fout melding;

Code:
        Set db = DBEngine.Workspaces(0).Opendatabase(strPath)

weet niet goed wat er mee bedoelt wordt maar het lijkt er op dat in dit stukje code je een BD opent

Code:
If Not IsNull(strPath) Then
        Set db = DBEngine.Workspaces(0).Opendatabase(strPath)

        For i = 0 To db.TableDefs.Count - 1

            strName = db.TableDefs(i).Name
            If Left(strName, 2) <> "MS" Then
                strList = strList & ";'" & strName & "'"
            End If
        Next i
        strList = Mid(strList, 2, Len(strList))
        liTabellen.SetFocus
        liTabellen.RowSourceType = "Value list"
        liTabellen.RowSource = strList
        liTabelBedrijven.SetFocus
        liTabelBedrijven.RowSourceType = "Value list"
        liTabelBedrijven.RowSource = strList
    End If

ik weet dus niet of het probleem daar in zit en als het daar in zit weet ik dus ook niet hoe ik het moet veranderen, zoals je al merkt ben ik niet zo'n held in dit. Ik lees veel boeken en bezoek veel site's maar dit krijg ik maar niet opgelost

Door dit stuk code te verwijderen kan ik browsen naar een word document :) ben dus iets verder.

Nu zou ik alleen graag die data naar een tabel hebben zodat deze te gebruiken is in een formulier waar gebruikers op de link kunnen klikken om het bestand te openen
 
Ik kan nu al documenten toevoegen en het pad geeft hij dan ook weer als een link maar als ik er klik gebeurt er niks terwijl ik toch graag zou hebben dat dan het document opent.

Weet iemand hoe dit op te lossen?
 
De code die je er uit hebt gehaald vulde een keuzelijst die ik er per abuis af had gegooid; handig als je uit een db de tabellen wilt selecteren. Maar de code kon er inderdaad uit.

Ik heb het formuliertje aangepast, zodat je nu een willekeurig bestandje kunt selecteren.

Heb je hier wat aan zo?

Als je een document wilt openen, zul je dat via bijvoorbeeld een Word object moeten doen. Zoals dit bijvoorbeeld:

Code:
Set aWord = CreateObject("Word.Application")
Set oWord = aWord.Documents.Open(sPadMerge & sMergeDoc)
Michel
 

Bijlagen

Laatst bewerkt:
Heel erg bedankt voor de moeite :) ik heb er zeker wat aan ik heb de code verwerkt in de database waar ik mee werk en het werkt als een droom.

Heel erg bedankt
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan