Toon posts:

[Access]Insert links naar foto's

Pagina: 1
Acties:
  • 154 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Voor een aankomend project moet ik veel foto's in verschillende fotoboeken steken en dit alles moet heel snel gaan. Ik ben al aan het zoeken om de foto's automatisch te resizen. Daarna steek ik ze zelf in verschillende mappen. (hoofdmap en dan allerlei ondermappen, telkens voor een andere groep) Ik wil nu graag dat alle foto's in de database komen (accesfile). Dit dan in de vorm van 'groepnaam/DSCNxxx.jpg'. Met de hand lukt dat makkelijk als het om twee, drie foto's gaat, maar als het over 500 foto's gaat en die een uur later online moeten staan is dit onbegonnen werk.
Ik heb al geprobeerd door in dos dir > files.txt te maken en die daarna te importeren in access maar dit loopt niet zo vlot als ik wil, je krijgt dan namelijk heel wat overbodige extra kolommen (zoals datum en uur etc.) en bovendien worden de kolommen automatisch genummerd waardoor ik er weinig mee kan aanvangen in php en asp...
Is er dus een handige snelle manier om een hele reeks links naar foto's te importeren in access...

  • ATS
  • Registratie: September 2001
  • Laatst online: 12-02 13:46

ATS

Je kan vanuit Access ook direct het filesystem benaderen. Kijk bijvoorbeeld eens naar de funtie 'Dir' in VBA in Access.

My opinions may have changed, but not the fact that I am right. -- Ashleigh Brilliant


  • robjanssen
  • Registratie: September 2001
  • Laatst online: 02-08 16:10

robjanssen

Software Developer

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
Public Function ImportFoto()
Dim strPath As String

strPath = "C:\Documents and Settings\Henzz\Mijn documenten\Mijn afbeeldingen\"
CheckDir strPath
MsgBox "ready"

End Function

Public Sub CheckDir(sPath As String)
Dim fso As FileSystemObject
Dim objFolder As Folder
Dim objFolder2 As Folder
Dim objFile As file

Set fso = New FileSystemObject
Set objFolder = fso.GetFolder(sPath)

For Each objFolder2 In objFolder.SubFolders
  CheckDir sPath & objFolder2.Name
Next
For Each objFile In objFolder.Files
  MsgBox sPath & "\" & objFile.Name
Next

Set objFolder = Nothing
Set fso = Nothing

End Sub

[ Voor 5% gewijzigd door robjanssen op 10-07-2003 10:53 ]


  • OZ-Gump
  • Registratie: November 2002
  • Laatst online: 26-06 10:37

OZ-Gump

terug van weggeweest

offtopic:
Eej Jenssen, jij ook hier!


De code van robjanssen loopt door alle bestanden in de opgegeven map heen. Als de naam van het bestand een koppeling heeft met hetgeen waar de pic bijhoort, ben je klaar lijkt me ;)

My personal website


Verwijderd

En met VBScript zou je door een beetje customizen vrij snel die dir output om kunnen zetten. Haal van de dir listing de header en footer weg: je hebt nu een file waarbij de bestanden steeds op een vaste plaats in de regel beginnen.
Zet in je loop iets als:

code:
1
str = str & "<A HREF=""" & CurrentRegeltje & """>" & CurrentRegeltje & "</A>"

en je bent al een eind op weg

offtopic:
hmm, zo reageert niemand in 1 uur tijd en staan er opeens een paar mails boven je :'(

[ Voor 24% gewijzigd door Verwijderd op 10-07-2003 11:10 ]


  • OZ-Gump
  • Registratie: November 2002
  • Laatst online: 26-06 10:37

OZ-Gump

terug van weggeweest

Sikko: volgens mij is het zelfs alleen maar de bedoeling de bestandslocatie op te slaan, zodat het binnen Access mogelijk wordt om het bestand te laden als er naar een bepaald artikel gebrowsed wordt. Tenminste, zo zou ik het in ieder geval maken :p Je kunt dan op je form dynamisch je plaatje laden. Hoeven mensen niet te klikken, maar ze zien wel het plaatje. En toch blijft de database relatief gezien klein.

My personal website


Verwijderd

OZ-gump: bij nog eens goed lezen lijkt het erop dat je gelijk hebt. Volgende keer maar niet in de [TEBehulpzaamMode] rondlopen :)

  • Boss
  • Registratie: September 1999
  • Laatst online: 20:41

Boss

+1 Overgewaardeerd

Een HELE goede gratis image resizer is http://www.mihov.com/eng/ir.html.

Heb ik al vaak gebruikt voor dit soort dingen en werkt erg prettig.

The process of preparing programs for a digital computer is especially attractive, not only because it can be economically and scientifically rewarding, but also because it is an aesthetic experience much like composing poetry or music.


Verwijderd

Topicstarter
OK ik heb geprobeerd dit te begrijpen maar ken niet veel van visual basic. In wat voor een vorm gaat de file-list geoutput worden als ik dit probeer? Ik versta namelijk niet al te veel van de code zelf :|

  • OZ-Gump
  • Registratie: November 2002
  • Laatst online: 26-06 10:37

OZ-Gump

terug van weggeweest

Met deze code kun je IN ACCESS alle bestanden doorlopen. Je kunt dan dus controleren of de picture-naam gelijk is aan die van een artikel (bijvoorbeeld) en vervolgens het bestandspad & naam opslaan in je tabel, bij het juiste artikel.

My personal website


Verwijderd

Topicstarter
OZ-Gump schreef op 10 July 2003 @ 17:02:
Met deze code kun je IN ACCESS alle bestanden doorlopen. Je kunt dan dus controleren of de picture-naam gelijk is aan die van een artikel (bijvoorbeeld) en vervolgens het bestandspad & naam opslaan in je tabel, bij het juiste artikel.
Uit wat ik hier uit versta moet die code dus ingevoegd worden in Access zelf. Kan je misschien beschrijven wat ik moet doen zodat het werkt. Ik heb ff geprobeerd via macro's maar dat geeft een error.

  • OZ-Gump
  • Registratie: November 2002
  • Laatst online: 26-06 10:37

OZ-Gump

terug van weggeweest

NOFI, maar het wordt moeilijk om je uit te leggen hoe je dit moet aanpakken zonder dat dit een "ik neem je bij de hand en vertel stap voor stap wat je moet doen" topic wordt, en dat is niet echt de bedoeling (en daar heb ik ook niet echt zin in ;)). Neem een Access-boek bij de hand, of bekijk de help van Access. Op internet is ook _veel_ te vinden over hoe je di soort dingen aanpakt in Access.

Een paar tips/zoektermen: Module, VBA, Sub

My personal website


  • nescafe
  • Registratie: Januari 2001
  • Laatst online: 23:10
Of iets makkelijker (zoals je zelf ook probeerde, een dir-listing)
dir /b /s

Hoezo worden je kolommen automatisch genummerd? Je kunt ze zelf een naam geven bij het importeren.

[ Voor 40% gewijzigd door nescafe op 10-07-2003 19:33 ]

* Barca zweert ook bij fixedsys... althans bij mIRC de rest is comic sans


Verwijderd

Topicstarter
Dit laatste (dir /b) bleek de makkelijkste en snelste manier om te doen wat ik wou.
Nu zit ik in het finale proces van alles zo geautomatiseerd mogelijk te krijgen.
Momenteel moet ik nog met de hand in DOS volgende codes uitvoeren:
code:
1
2
3
4
5
6
7
8
ren *.* "     *.*"
for %v in (*.jpg) do ren "%v" %v
for %v in (???.jpg) do ren %v GROEPNAAM%v
cd..
dir resize /b > fotos.txt
copy resize finished
del resize
del fotostest

Nu zou ik graag zien gebeuren dat dit hele proces vanzelf draait, dus een soort bat-bestand. Het probleem bij het eerste deel van de code is dat "GROEPNAAM" een naam is die het bat-bestand mij eerst zou moeten vragen (iets in de vorm van "Van welke groep zijn de foto's?" en dat ik dan de groepsnaam een keer moet ingeven) en dat hij die dan automatisch gebruikt bij het renamen.
Bij het tweede deel code is mijn probleem dat je het DEL-commando moet bevestigen en ik niet weet hoe je dit in een bat-bestand doet.

Als bijvraag heb ik ook een Photoshop Droplet gemaakt. Tot nu toe moet ik steeds dezelfde folder "Untouched Fotos" verslepen over de exe-file zodat Photoshop de droplet op die map toepast. Ik zou graag zien dat ik ook dit in een bat-bestand krijg zodat dat ook steeds vanzelf gaat. Ik heb al gezocht met gewoon het exe-bestand aan te roepen in DOS, met daar achter de map die ik wil gebruiken, maar dat lukt helemaal niet.

Verwijderd

Topicstarter
Never mind mijn vorige post, ik heb besloten van het anders aan te pakken, een systeem dat iets meer tussenkomst vraagt maar uiteindelijk toch beter blijkt te werken.
Nu wil ik nog een klein ding en ik en mijn opdrachtgever zijn super tevreden. De voorlaatste stap in het proces van fotoboek maken is access laden en dan via Get external Data -> import steeds dezelfde settings doorlopen.
(file fotos.txt, delimited, tab, Existing Table Fotos, Finish)
Hoewel dit niet moeilijk is zou het een pak handiger zijn als access dat allemaal vanzelf doet zodat daar ook geen tussenkomst meer nodig is.
Nu ken ik niets van programmeren. Ik wist dat in excel het mogelijk is om macro's op te nemen en gewoon de handeling een keer te doorlopen. Nu bestaat deze optie niet in Access dus zit ik met een probleem. Is er een eenvoudige manier om zo'n macro te proggen of een andere manier om dit te doen?
Allesinds aan iedereen heel hard bedankt zonder jullie had ik nooit gestaan waar ik nu sta. :)

  • Boss
  • Registratie: September 1999
  • Laatst online: 20:41

Boss

+1 Overgewaardeerd

Dus je krijgt er nog geld voor ook :/

Je kan in ieder gevla een koppeling aanleggen met het bestand. Zolang het bestand altijd op dezelfde plaats staat onder dezelfde naam kan je hem dan gewoon als tabel blijven benaderen.

Probeer anders eens het commando DoCmd.TransferText. Moet je toch een beetje proggen in VBA maar zo moeilijk is dat niet.

Als je mij een deel van je winst geeft doe ik het voor je :)

The process of preparing programs for a digital computer is especially attractive, not only because it can be economically and scientifically rewarding, but also because it is an aesthetic experience much like composing poetry or music.


Verwijderd

Topicstarter
Boss schreef op 12 July 2003 @ 02:15:
Dus je krijgt er nog geld voor ook :/

Je kan in ieder gevla een koppeling aanleggen met het bestand. Zolang het bestand altijd op dezelfde plaats staat onder dezelfde naam kan je hem dan gewoon als tabel blijven benaderen.

Probeer anders eens het commando DoCmd.TransferText. Moet je toch een beetje proggen in VBA maar zo moeilijk is dat niet.

Als je mij een deel van je winst geeft doe ik het voor je :)
Het gaat om vrijwilligerswerk. Ik word dus helemaal niet betaald. Het commando ga ik eens proberen uitzoeken hoe ik dat kan gebruiken en of me dat lukt. Alvast bedankt voor je inbreng.
Pagina: 1