Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[Access 2007] Omvang database beperken

Pagina: 1
Acties:

  • Freddy_Fish
  • Registratie: April 2002
  • Laatst online: 27-11 08:37

Freddy_Fish

de Verdwenen Zeewierzaadjes

Topicstarter
Bij ons op kantoor werd veel met artikellijsten in Excel gewerkt en omdat deze niet altijd up to date waren of maar half waren ingevuld kwam ik met het idee om alles om te zetten naar Access. Zo gezegd zo gedaan, dus ik wat tabbellen, formulieren en queries aangemaakt en voor de beeldvorming een pdf'je ingevoegd van elk artikel als ole object.

Nu werkt alles eigenlijk naar behoren alleen stijgt de database behoorlijk snel in grootte. Ik zit nu op 500 records en de database is al over de 1GB. Naar mijn idee komt dit door de ole objecten, als ik een pdf invoeg is de optie kopppelen grijs maar wel aangevinkt. Het lijkt erop dat de pdf bestanden toch worden ingesloten in de db en hierdoor enorm toeneemt in omvang.

De vraag is dus of iemand weet om de database binnen de perken te houden, maar toch een voorbeeld pdf van het artikel op een formulier weer te geven (ik ga er eigenlijk vanuit dat de ole objecten het probleem vormen mocht iemand hier een ander idee over hebben hoor ik dit graag).

  • WhizzCat
  • Registratie: November 2001
  • Laatst online: 03-10 00:20

WhizzCat

www.lichtsignaal.nl

Waarom niet een hyperlink naar een webservertje waar de pdf's op staan? Lijkt mij de meest simpele oplossing, niet de mooiste denk ik, maar goed.

Gezocht: netwerkbeheerder
Als je het niet aan een 6-jarige kan uitleggen, snap je er zelf ook niks van! - A. Einstein


  • Freddy_Fish
  • Registratie: April 2002
  • Laatst online: 27-11 08:37

Freddy_Fish

de Verdwenen Zeewierzaadjes

Topicstarter
Tja is wel een optie, maar ik vind juist het mooie dat je in een oogopslag kan zien met welk artikel je te maken hebt.

  • himlims_
  • Registratie: Juni 2000
  • Niet online

himlims_

🐧 Linux HOoligan

komt omdat je die pdf in je acces hebt zitten; veel beter om deze extern aan te spreken
live vanuit BVO (access training :X)

[ Voor 21% gewijzigd door himlims_ op 10-07-2009 13:05 ]

⭐Game Profiles: 🕹️Steam - 🎮PSN - 🇪🇦 GoT_Hollandhards


  • Freddy_Fish
  • Registratie: April 2002
  • Laatst online: 27-11 08:37

Freddy_Fish

de Verdwenen Zeewierzaadjes

Topicstarter
himlims_ schreef op vrijdag 10 juli 2009 @ 13:04:
komt omdat je die pdf in je acces hebt zitten; veel beter om deze extern aan te spreken
live vanuit BVO (access training :X)
En wat is de beste manier om dit te doen met behoud van de miniatuur voorvertoning? Ik ging er eigenlijk vanuit dat het vinkje koppelen zoals het doet vermoeden de pdf koppelt en niet insluit zoals dit nu wel gebeurd.

  • The Eagle
  • Registratie: Januari 2002
  • Laatst online: 21:19

The Eagle

I wear my sunglasses at night

Waarom wil je in 's hemelsnaam een miniatuur van een PDF? Da's niet te lezen en zo te horen maakt het je je werk alleen maar lastig.

De juiste oplossing is al genoemd: share aanmaken en daar naartoe linken :)

En idd, Access is niet gemaakt voor DB's die zo groot zijn. Ik blijf het zeggen, voor huis- tuin- en keukenwerk is het prima, maar voor professioneel gebruik wil je ook een professioneel DBMS :)

Al is het nieuws nog zo slecht, het wordt leuker als je het op zijn Brabants zegt :)


  • Freddy_Fish
  • Registratie: April 2002
  • Laatst online: 27-11 08:37

Freddy_Fish

de Verdwenen Zeewierzaadjes

Topicstarter
Een minatuur van een artikel weergeven is toch niet zo gek of wel? Alle webwinkels hebben ook miniaturen welke groter worden als je erop klikt en dat heb ik ook.

Voorheen werd er gewerkt met excellijsten nu word alle data centraal opgeslagen en per order uit access gehaald. Access is hier best een geschikte kandidaat voor en 500 records lijkt me niet echt groot voor een database en het zullen er ook niet meer dan 1000 worden. En mocht het in de toekomst toch wel een explosieve groei nemen kan ik altijd nog besluiten over te stappen. Voor nu is het snel in elkaar te zetten, makkelijk te onderhouden en gemakkelijk om functies bij te maken.

En een miniatuur in de vorm van een jpg met daaraan gelinkt een pdf zou dit makkelijk te realiseren zijn?

  • PolarBear
  • Registratie: Februari 2001
  • Niet online
The Eagle schreef op vrijdag 10 juli 2009 @ 13:28:
Waarom wil je in 's hemelsnaam een miniatuur van een PDF? Da's niet te lezen en zo te horen maakt het je je werk alleen maar lastig.

De juiste oplossing is al genoemd: share aanmaken en daar naartoe linken :)

En idd, Access is niet gemaakt voor DB's die zo groot zijn. Ik blijf het zeggen, voor huis- tuin- en keukenwerk is het prima, maar voor professioneel gebruik wil je ook een professioneel DBMS :)
Ik weet niet waar die eeuwige onderschatting van Access vandaan komt. Zoals je niet veel concurrent users hebt kan je met Access simpel een heleboel bereiken. Zeker in de 2007 versie.

  • pedorus
  • Registratie: Januari 2008
  • Niet online
Tsja, een OLE control gebruiken om een thumbnail van een PDF te hebben is wat overkill... Bij mij zou dat geeneens werken trouwens. Sowieso heeft 2007 ook een attachment control, wat de data niet verminkt.

Het kan ook bijvoorbeeld via het clipboard of met de shell.

Vitamine D tekorten in Nederland | Dodelijk coronaforum gesloten


  • Freddy_Fish
  • Registratie: April 2002
  • Laatst online: 27-11 08:37

Freddy_Fish

de Verdwenen Zeewierzaadjes

Topicstarter
Dank voor de reacties zover ik ben weer een beetje verder aan het klooien.

Wat kan ik nou precies de bovenstaande links van pedorus zijn het programma's om Thumbnails te maken?

Het maken van miniatuur jpg bestanden van de pdf files is namelijk geen probleem. Ik ben zelf ook even andere mogelijkheden gaan bekijken en heb nu voor elkaar dat ik voor elke record op het formulier de juiste jpg miniatuur krijg. Heb de volgende tutorial gebruikt:
How to display images from a folder in a form, a report, or a data access page

Ik zit nu alleen met de volgende stap en dat is het linken van de pdf files aan de jpg miniatuur, zodat als je op de jpg klikt de pdf word geopend. Als je eigenschappen op de afbeelding doet kan je hier een hyperlinkadres aan hangen, maar hier kan ik 1 hyperlink selecteren die dan voor alle records gelijk is. Graag zou ik bij hyperlinkadres een tabel toewijzen waar per record de juiste pdf uit word gehaald.

Nu heb ik even zitten googlen en kan je ook een functie aan de afbeelding hangen als je erop klikt. Het zou dan moeten gaan om Application.FollowHyperlink, maar dit wil niet echt lukken. Ik krijg het niet voor elkaar om de locatie van de pdf uit de tabel te halen en dan met de FollowHyperlink te openen.

Graag zou ik willen weten of ik in de goede richting zit of dat ik het helemaal verkeerd zoek.

  • pedorus
  • Registratie: Januari 2008
  • Niet online
Je zoekt in de goede richting lijkt mij. Als hack kun je het volgende even testen:
Visual Basic:
1
2
    .Picture = strImagePath
    .HyperLink = Left(strImagePath,Len(strImagePath)-3)+"pdf"

werkt alleen als je de jpg-jes naast de pdf-jes hebt gezet...

Vitamine D tekorten in Nederland | Dodelijk coronaforum gesloten


  • Freddy_Fish
  • Registratie: April 2002
  • Laatst online: 27-11 08:37

Freddy_Fish

de Verdwenen Zeewierzaadjes

Topicstarter
Hmm werkt niet en eigenlijk werkt geen een van de opties die ik probeer en allemaal komen ze met de zelfde melding:

melding

Heb nu bij de eigenschappen van de afbeelding onder de tab gebeurtenis>bij klikken de code erin gezet:

Visual Basic:
1
2
3
4
Private Sub Afbeelding105_Click()
    .Picture = strImagePath
    .Hyperlink = Left(strImagePath, Len(strImagePath) - 3) + "pdf"
End Sub


Waarbij de jpg en de pdf exact dezelfde naam en locatie hebben.

[ Voor 48% gewijzigd door Verwijderd op 15-07-2009 21:25 . Reden: codetags ]


Verwijderd

ongetest.
Visual Basic:
1
2
3
Private Sub Afbeelding105_Click()
  CreateObject("Shell.Application").ShellExecute (Left(Image1.Picture, Len(Image1.Picture) - 3) & "pdf"), "", "", "open", 1
End Sub


met deze shellopdracht start de defaultapplicatie op voor pdf-bestanden. zie Diverse files printen met access macro? om dit verder uit te werken.

[ Voor 3% gewijzigd door Verwijderd op 15-07-2009 21:49 . Reden: niet langer ongetest ]


  • Freddy_Fish
  • Registratie: April 2002
  • Laatst online: 27-11 08:37

Freddy_Fish

de Verdwenen Zeewierzaadjes

Topicstarter
Ja had zelf al wat gevonden over shellopdrachten, maar bleef bovenstaande melding krijgen met eigenlijk alles wat ik deed. Had onderstaande ingevoerd waarbij ik dacht dat access acrobat wel moest vinden maar helaas.

Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
 Dim strAdobeReaderPathRegKey As String
  Dim PathReader As String
  Dim strAcrobatPathRegKey As String
  Dim PathAcrobat As String
  
  strAdobeReaderPathRegKey = "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\AcroRd32.exe\Path"
  PathReader = RegKeyRead(strAdobeReaderPathRegKey)
  strAcrobatPathRegKey = "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\Acrobat.exe\Path"
  PathAcrobat = RegKeyRead(strAcrobatPathRegKey)
  
  If IsNull(PathReader) Then
    PathReader = "None"
  End If
  If IsNull(PathAcrobat) Then
    PathAcrobat = "None"
  End If
  If PathReader <> "None" Then
    strAcrobatLocation = PathReader & "\AcroRd32.exe"
  ElseIf PathAcrobat <> "None" Then
    strAcrobatLocation = PathAcrobat & "\Adobe.exe"
  End If
End Function
 
__________________
 
This is what is in the subroutine.
Private Sub Label903_Click()
  Dim stAppName
  stAppName = strAcrobatLocation & " /A ""C:/WetForm/AGC-Regions.pdf"""
Call Shell(stAppName, 1)
End Sub

Verwijderd

^^ kijk eens naar m'n aangepaste post
uiteraard dien je Image1.Picture te vervangen door het pad naar de actuele jpgafbeelding.

  • pedorus
  • Registratie: Januari 2008
  • Niet online
Freddy_Fish schreef op woensdag 15 juli 2009 @ 21:35:
Ja had zelf al wat gevonden over shellopdrachten, maar bleef bovenstaande melding krijgen met eigenlijk alles wat ik deed. Had onderstaande ingevoerd waarbij ik dacht dat access acrobat wel moest vinden maar helaas.
Die foutmelding komt omdat de gebeurtenis-properties van je image niet goed staan volgens mij. Bij de code die ik poste heb je trouwens geen gebeurtenisprocedure nodig (sterker nog die moet leeg zijn in de properties!). De regels code horen in die functie DisplayImage waar je naar linkte. De eerste regel code staat daar al, je hoeft dus maar 1 regel code toe te voegen... :)

De code van _heretic_ heeft als voordeel dat je dan geen waarschuwing krijgt bij het uitvoeren over hyperlinks. Het kan natuurlijk ook zijn dat je die waarschuwing wel wil hebben, want van een pdf-viewer starten wordt je niet altijd blij. :)

Vitamine D tekorten in Nederland | Dodelijk coronaforum gesloten


  • Freddy_Fish
  • Registratie: April 2002
  • Laatst online: 27-11 08:37

Freddy_Fish

de Verdwenen Zeewierzaadjes

Topicstarter
Ok er zit duidelijk iets niet goed in mijn huidige db, want blijf die melding krijgen. Heb even snel een test db aangemaakt en daar werkt de functie gewoon, dus ga hem van de week maar ff opnieuw opbouwen. In ieder geval bedankt voor de hulp zover.

//edit
Sorry zit toch nog een beetje te vogelen, maar het lukt nog niet helemaal. Hoewel er nu een pdf word geopend van de jpg naam alleen dan met pdf extensie is dit telkens dezelfde. De plaatjes worden gehaald uit de kolom tblImage waar het pad naar de jpg als platte tekst staat. (C:\Users\Freddy_Fish\Desktop\Artikellijst\PDF\6000493.jpg)

Ik heb het pad Image1.Picture veranderd naar de objectnaam van het afbeeldingskader Afbeelding105.Picture, maar is er ook een manier dat er word gekeken naar de kolom tblImage en daar het pad vandaan word gehaald?

[ Voor 53% gewijzigd door Freddy_Fish op 15-07-2009 23:00 ]

Pagina: 1