Avatar billede cc2000 Nybegynder
18. juni 2002 - 14:56 Der er 5 kommentarer og
1 løsning

Select spørgsmål

Jeg har en access database som indeholder en række filnavne samt et nr.
Nu skal jeg ud fra det nr udhente filnavnet hvor jeg så ud fra filnavnet sletter filen.
Nogen der kan give mig det jeg skal skrive for at få det til at virke? :)
Det er vba jeg bruger, hvis du er i tvivl.
Avatar billede cc2000 Nybegynder
18. juni 2002 - 14:57 #1
Altså der er et filnavn og et nr i hver record bare så i ikke er i tvivl
Avatar billede martin_moth Mester
18. juni 2002 - 19:22 #2
Følgende burde virke fra VB. Om der er smartere måder fra VBA (som køres fra Access, går jeg ud fra), ved jeg ikke:

  Dim recFiler As Recordset 'Recordset med filer og navne
  Dim FilNavn as string    'Aktuel fil der skal slettes
  Dim Nummer                'Nr på fil der skal slettes 

  Nummer = val(inputbox("Filnummer på fil der skal slettes"))

  'Recordset med alle numre og filer dannes
  'nr : tabel med numre
  'fil: tabel med filer
  'Filer: Tabelnavn

  Set recFiler = m_DB.OpenRecordset _
    ("SELECT nr, fil FROM Filer ORDER BY nr", dbOpenSnapshot)
   
  'Der loopes gennem Recordsettet og filer slettes

  Do While Not recFiler.EOF
    if Nummer = recFiler!nr then
      FilNavn = recFiler!fil
      if vbyes = Msgbox("Slet filen : " & FilNavn, VbYesNo) then
        kill Filnavn 
      end if
    end if
    recFiler.MoveNext
  Loop
Avatar billede martin_moth Mester
18. juni 2002 - 19:24 #3
Det er forudsat, at HELE stien gemmes i FilNavn. Ellers virker 'Kill FilNavn' ikke... Så står der kun selve filnavnet i din tabel, skal der altså stå f.eks.

Kill "c:\MappeMedFiler\" & FilNavn

/Martin
Avatar billede martin_moth Mester
18. juni 2002 - 19:26 #4
PS. Jeg har valgt at loope gennem hele recordsættet - hvis databasen er meget stor, kan det tage lidt tid. Alternativt kan du bare direkte nappe den post fra databasen hvor nr=Nummer. Men min løsning har åbnet muligheden for at slette flere filer på een gang :o)
Avatar billede cc2000 Nybegynder
19. juni 2002 - 08:57 #5
Den finder ingen records af en eller anden grund.
Avatar billede cc2000 Nybegynder
19. juni 2002 - 10:24 #6
fandt fejlen.
If Nummer = Val(recFiler!deletenr) Then
Der manglede Val() kommandoen.
Men tak for hjælpen :)
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
Kurser inden for grundlæggende programmering

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

IT-JOB