Bekijk de onderstaande video om te zien hoe je onze site als een web app op je startscherm installeert.
Opmerking: Deze functie is mogelijk niet beschikbaar in sommige browsers.
Private Sub PDF_DblClick(Cancel As Integer)
On Error GoTo Hell
If Me.PDF & "" = "" Then
PDF_Click
Else
Application.FollowHyperlink TempVars("varFactuurPad").Value & Me.PDF
End If
Exit Sub
Hell:
If MsgBox("Het bestand '" & LCase(Me.PDF) & "' ontbreekt in de dossiermap; wil je het verwijderen uit de lijst?", vbYesNo) = vbYes Then
Me.PDF = Null
End If
End Sub
Private Sub PDF_Click()
Dim sFile As String, sDoc As Variant
If IsNull(Me.Factuurnummer) Then
Me.Factuurnummer = Factuurnummer
TempVars.Add "varFactuurPad", fPadMaken(CurrentProject.Path & "\Klanten\" & Me.Factuurnummer.Value & "\")
Else
TempVars("varFactuurPad").Value = fPadMaken(CurrentProject.Path & "\Klanten\" & Me.Factuurnummer.Value & "\")
End If
sFile = BestandOpzoeken
If sFile = "Annuleren" Then Exit Sub
If Not Dir(sFile) = "" Then
If InStr(1, sFile, "\") = 0 Then Exit Sub
sDoc = Split(sFile, "\")
Me.PDF = sDoc(UBound(sDoc))
On Error Resume Next
FileCopy sFile, TempVars("varFactuurPad").Value & "\" & sDoc(UBound(sDoc))
Me.Repaint
End If
End Sub
Public Function fPadMaken(sFolder As String) As String
On Error GoTo ErrorHandler
Dim sF As String
sF = GetPathOnly(sFolder)
If Dir(sF, vbDirectory) = "" Then
sF = fPadMaken(sF)
MkDir sF
End If
fPadMaken = sFolder
Exit Function
ErrorHandler:
Exit Function
End Function
Public Function GetPathOnly(sPath As String) As String
GetPathOnly = Left(sPath, InStrRev(sPath, "\", Len(sPath)) - 1)
End Function
Function BestandOpzoeken(Optional Pad As String) As String
Dim dlgPicker As Object
Dim sType() As String, sFile As String
Dim tmp As String, sPad As String
Dim bCheck As Boolean
Dim vrtSelectedItem As Variant
On Error GoTo Hell
If Pad = "" Then sPad = CreateObject("WScript.Shell").SpecialFolders("MyDocuments") Else: sPad = Pad
If Right(sPad, 1) <> "\" Then sPad = sPad & "\"
Set dlgPicker = Application.FileDialog(3)
With dlgPicker
.Title = "Selecteer een bestand." 'De titel voor het venster
.InitialFileName = sPad 'Waar moet het venster beginnen?
With .Filters
.Clear
.Add "Alles", "*.*", 1 'Geen Beperkingen op bestandstype"
.Add "Microsoft Word", "*.doc; *.docx; *.docm", 2 'Beperk de bestandstypes tot .doc
.Add "Microsoft Excel", "*.xls; *.xlsx; *.xlsm", 3 'Beperk de bestandstypes tot .xls
.Add "Adobe Reader", "*.pdf", 4 'Beperk de bestandstypes tot .pdf"
.Add "Afbeeldingen", "*.jpg; *.jpeg; *.png", 5 'Beperk de bestandstypes tot afbeeldingen
End With
.FilterIndex = 1
.AllowMultiSelect = False 'Slechts één bestand kiezen toegestaan
.InitialView = 1 'Bepaal weergave
If .Show = -1 Then 'Bepaal of gebruiker op OK-knop heeft geklikt.
sFile = .SelectedItems(1) 'String wordt gevuld met geselecteerde bestand
Else
MsgBox "Er is op <Annuleren> gedrukt..."
BestandOpzoeken = "Annuleren"
GoTo Hell
End If
End With
BestandOpzoeken = sFile
Hell:
Set dlgPicker = Nothing
End Function
Als je nog meer eisen hebt kun je altijd nog naar Access.
Hier hoor ik een Excel gebruiker, en geen database ontwerper... 't Is dat ik ze al heb, maar ik zou er kromme tenen van krijgen . Dat kan en mag natuurlijk nooit, wat je hier voorstelt, en gelukkig doen we dat ook niet in databases. Daar hebben we namelijk, in tegenstelling tot Excel (en daarom moet je nooit een echte db in Excel willen bouwen) data-integriteit.De naam van de pdf verschijnt iid netjes in het daar toe bedoelde veld, behlave als je een 2e pdf toevoegt wordt dat niet vermeld.
Eigenlijk zou je dan een auto-grow oplossing willen heben zodat je de opslag van meerdere pdf's direct zichbaar hebt.
Heb je de oplossing wel goed bekeken? Ik wérk alleen maar met pad- en document verwijzingen. Er komt dus geen enkel bestand in de db te staan, en groeien doet-ie daardoor ook nauwelijks. Ik heb, voor TS, het bijlageveld laten staan, maar dat moet uiteraard weg. Dat is namelijk de boosdoener, niet mijn simpele tekstveldjes. Die overigens wel iets kleiner kunnen, maar dit terzijde.En je geeft een bijlagepad aan... dat is dus eigenlijk om hem te uploaden in de database.. want als ik een paar kleine pdf's toevoeg is ie al weer 500 kB gegroeid..... Met veel en eventueel grote pdf's kan de database al heel snel aardig groot worden. Je zou ook voor een root pad kunnen kiezen en daar onder met submappen werken en alleen een klikbare link naar het bewuste pdfje...
Ik heb niet gezegd dat je databases bouwt in Excel; ik zei dat ik een Excel gebruiker hoor. Je gebruikt de terminologie en logica van Excel gebruikers, meer niet. Jouw programma om 'snel en duidelijk' een overzicht te maken, is absoluut niet sneller en duidelijker dan ik in een database kan maken, en vermoedelijk maak ik het ook nog eens sneller en veiliger. Dus waar hebben we het eigenlijk over? Ik zou zeggen: TS wil graag een database, laten we daar dus een oplossing voor aandragen en stoppen met Excel voorbeeldjes .Ik heb overigens nog nooit een datbase in Excel gemaakt.. dus wat dat betreft .. de plank mis...
We gebruiken essentiële cookies om deze site te laten werken, en optionele cookies om de ervaring te verbeteren.