Avatar billede jmarques Nybegynder
05. juni 2011 - 11:55 Der er 5 kommentarer og
1 løsning

Editor kode skal kunne åbne flere mapper med word dokumenter

Hej alle,

Jeg har brug for at denne kode skal kunne åbne flere mapper end den der hedder 2011. Den kan ses i stien i koden herunder. Koden optræder i forbindelse med at man kan dobbelt klikke i en tekstboks, hvor man selv har udfyldt et nummer (internt rapport nummer her i huset).

Mapperne har samme format men er navngivet efter årstal. De starter med 2004 og ja, vi er nu nået til 2011 men der kommer en ny mappe for hvert år. Kan man programmere den til at forstå det at der kommer en ny der hedder 2012, 2013 osv. osv.? 

Her er koden:

Private Sub Hrnr_DblClick(Cancel As Integer)
  Dim loebeNr, fileName
  Const path = "P:\Security\Security rapporter\2011\", ext = ".doc"
 
  DoCmd.RunCommand acCmdSaveRecord
  loebeNr = Val(Left(Hrnr, 3))
 
  fileName = path & Format(loebeNr, Left("000", 3 + (loebeNr < 100))) & "-" & Right(Hrnr, 2) & ext
  If Dir(fileName) <> "" Then
    Shell "cmd /c start """" """ & fileName & """"
  Else
    fileName = fileName & "x"
    If Dir(fileName) <> "" Then
      Shell "cmd /c start """" """ & fileName & """"
    Else
      MsgBox "Dokumentet findes ikke", , "OBS"
    End If
  End If
End Sub
Avatar billede Slettet bruger
05. juni 2011 - 20:16 #1
Man kan så meget - spørgsmålet er lige så meget hvad der er hensigtmæssigt. Følgende leder i samme rækkefølge som elementerne i arrayet og åbner word filen ved den først fundne:

Private Sub Hrnr_DblClick(Cancel As Integer)
    Dim loebeNr, fileName, year, hrnr
    Const path = "P:\Security\Security rapporter\", extPat = ".doc*"
   
    DoCmd.RunCommand acCmdSaveRecord
    loebeNr = val(Left(hrnr, 3))

    For Each year In Array("2010\", "2011\", "2012\")
        fileName = _
          Dir(path & year & _
          Format(loebeNr, Left("000", 3 + (loebeNr < 100))) & "-" & Right(hrnr, 2) & extPat)
        If Len(fileName) Then
            shell "cmd /c start """" """ & path & year & fileName & """"
            Exit For: End If: Next
End Sub
Avatar billede jmarques Nybegynder
09. juni 2011 - 19:14 #2
Hej brugerexpert,

Jeg har ikke været på min "pind".Beklager at jeg ikke har givet lyd fra mig. Jeg har haft et par fridage.

Jeg har forsøgt med din kode men der sker ingenting når jeg dobbelt klikker.

Heller ingen fejlmeldinger?

Mvh
Joachim
Avatar billede Slettet bruger
09. juni 2011 - 20:16 #3
Der er sikkert også et par ting som skal tilrettes. Du har et kontrolelement der hedder hrnr - det setup har jeg ikke brugt tid på at efterligne så den lokale variabel skal fjernes fra Dim sætningen.

Gad vide om ikke det bare kunne laves i word, nu da der ingen database er i anvendelse - word har også formular stof.
Avatar billede jmarques Nybegynder
27. juni 2011 - 21:31 #4
Sorry jeg har ikke haft tid til at kigge mere på det. Det gør jeg nu og må nok vende tilbage. Mit niveau er ikke højere end meget nybegynder...

Mvh
Joachim
Avatar billede jmarques Nybegynder
06. juli 2011 - 15:35 #5
Hej igen igen brugerekspert,

Det lykkedes simpelthen.

Tusind tak for hjælpen !!

Beklager jeg først har fået set på det nu.

Mvh
Joachim
Avatar billede Slettet bruger
08. juli 2011 - 20:12 #6
Det lykkedes fordi dit niveau er højere end mange nybegynders - godt gået.
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