Avatar billede cardinale Nybegynder
04. september 2002 - 00:13 Der er 12 kommentarer og
1 løsning

Billeder i acces

Det skal først og fremmest lige slåes fast at jeg er MEGET grøn på dette område. Så alle de kloge hoveder der findes, som svarer på dette - plz skriv det udførligt! Start med Adam og Eva...

Jeg har søgt i alle spørgsmål uden at blive klogere.
Mit problem er følgende:
Jeg har nogle billeder liggende i et wwwroot/images. I wwwroot har jeg en acces-db hvori jeg gerne vil have billederne hentet ind automatisk. Dvs hvis jeg smider 200 billeder i jpg-format ind, så opdateres DB automatisk, så jeg ikke behøver at indtaste alle billederne manuelt et for et.
Altså i min DB bliver der kun linket til /images/xx.jpg.

Kan dette lade sig gøre eller er det under asp jeg skal stille spørgsmålet?
Avatar billede no_doubt Nybegynder
04. september 2002 - 00:16 #1
lytter meget med, det tror jeg sgu ikke lige er til, noget med FSO kunne jeg forstille mig.
Avatar billede jpj3 Nybegynder
04. september 2002 - 01:02 #2
Jeg er ikke sikker men måske denne lille ting kan gøre det.

<%
Dim fso

Set fso = CreateObject("Scripting.FileSystemObject")
call AddFiles(fso.GetFolder("c:\inetpub\wwwroot\blah"))

Function AddFiles(Folder)
  For Each File In Folder.Files
    'insert files into database here
  Next

  For Each Subfolder In Folder.SubFolders
    call AddFiles(Subfolder)
  Next

End Function
%>


Du kan evt. læse mere her.
http://www.wdvl.com/Authoring/ASP/SourceControl/considerations.html
Avatar billede nih Novice
04. september 2002 - 01:49 #3
cardinale ->
for det første: Hvad er pointen i at putte dem i en vilkårlig tabel, skal billederne ikke 'passe' med andre data i din database.

Skal du gemme billederne i et blob-felt, eller bare gemme sti\filnavn
Avatar billede nih Novice
04. september 2002 - 02:15 #4
I et VBA modul kan du bruge denne procedure

Sub indset_filer()
    Const sti As String = "C:\billeder\"
    Const tbl As String = "tabel1"
    Const felt As String = "felt1"
    Dim fil As String


    fil = Dir(sti & "*.jpg")
    Do While fil <> ""
        DoCmd.RunSQL "insert into " & tbl & " (" & felt & ") " & _
            "Values ('" & fil & "');"

        fil = Dir
    Loop
End Sub

Men du er nok nødt til at downloade db'en, opdatere tabellen vha. indset_filer(), og uploade igen.

Måske er en ASP løsning bedre, men den her virker i access

Niels
Avatar billede henrik13 Nybegynder
04. september 2002 - 05:52 #5
Avatar billede cardinale Nybegynder
04. september 2002 - 11:14 #6
nih: Som jeg skrev så er jeg meget grøn. Dit indlæg fatter jeg ikke en skid af. Hvad er et VBA modul? Og hvad er indset_filer() for en størrelse?

Og nej de skal ikke puttes i en vilkårlig tabel. De skal ind i en jeg har oprettet til formålet. Og db skal kun bruges til at vise billeder med. Ikke andre oplysninger.

jpj3: Jeg prøver lige om jeg kan få det til at virke.
Avatar billede nih Novice
04. september 2002 - 11:24 #7
cardinale ->
* opret vbaModul: I databasevinduet vælger du moduler og trykker på 'ny'
* copi/paste min kode ind i det nye modul
* tilret konstanterne så de passer med din database :
    Const sti As String = "C:\billeder\" (hvor billederne ligger
    Const tbl As String = "tabel1"        (tabelnavn)
    Const felt As String = "felt1"          (FeltNavn/kolloneNavn)

Så har du en procedure der hedder: indset_filer :o)
Hvis du har markøren midt i koden og trykker på F5, skulle den gerne putte alle .jpg filer ind i den tabel du angav under konstanter.

Eller du kan køre koden fra en knap på en form
Avatar billede cardinale Nybegynder
04. september 2002 - 11:41 #8
nih: Jeg har gjort lige som du har beskrevet - men jeg kan ikke få det til at køre.
Har oprettet en tabel ved navn tabel1 og et feltnavn der hedder felt1. I VBAmodulet har jeg indsat din kode - men det virker ikke. Der kommer ikke nogen fejlmeddelelser men der bliver ikke sat noget ind i tabellen.
Avatar billede nih Novice
04. september 2002 - 11:48 #9
har du opdateret tabellen (lukket og åbnet den)

er nogle .jpg filer i den mappe du har angivet (sti)??

prøv at trykke på F8 istedet for F5, så kører koden kun én linje af gangen og du kan vha musen se hvilke værdier variablen 'fil' har.

Niels
PS. den virken kun på et drev ikke en url
Avatar billede cardinale Nybegynder
04. september 2002 - 11:56 #10
Jeg har gjort lige som du har sagt. Og de ligger på mit drev. Jeg tester med IIS inden jeg uploader.
Avatar billede nih Novice
04. september 2002 - 11:59 #11
har lige testet den selv.
HUSK den sidste skråtreg i sti:
    Const sti As String = "C:\billeder\"

ellers fatter jeg ikke hvorfor den ikke spiller ved dig.
Avatar billede cardinale Nybegynder
04. september 2002 - 12:08 #12
AHHHHHHH kuuuuul! Det var den \ der gjorde det! LOL det virker. Hvor fedt. Jeg sad i går og indtastede over 100 billeder. Kan da nok være det her går hurtigere!
TARK
Avatar billede nih Novice
04. september 2002 - 12:09 #13
selvTARK

:o)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester