Problemet er at TimeCardReportByWork.xls filen bliver genereret lokalt i Excel\'s sidst gemt og benyttet Dir. Men jeg vil gerne gemme den i samme Dir som min Db (CurrentDb) set fra brugeren af.
Og desuden gemmer den filen som en Excel-5 fil og ikke som en Excel-9/2000 fil.
Undskyld jeg blander mig, men CurDir angiver jo kun den aktuelle mappe. Den har ikke (nødvendigvis) noget med den mappe, som currentdb ligger i. Blot den mappe brugeren sidst har været i.
Currentdb.Name giver sti + filnavn på databasen. Herved kan man udtrække stien. F.eks. ved denne funktion:
Function GetPath() As String Dim Pos As Integer, Path As String Path = currentdb.Name Pos = Len(Path) Do Until Mid(Path, Pos, 1) = \"\\\" Pos = Pos - 1 Loop GetPath = Left(Path, Pos) End Function
Herefter kan du Transfer eller Output\'e som du vil :o)
Tja- Thomas det er nu ikke for dit nuværende svar at du får point, da jeg læser dit svar som om at man rammer midt i pathen og finder \"\\\" ??? Men der er jo ikke nogen garanti for at pathen ikke r lang - så ???
Men du får point for et andet svar som du har givet hvor du bruger CurrentProject.Path i en anden sammenhæng og det virker :-) Nu ville jeg godt have henvist til dette spørgsmål men jeg kan ikke finde det idag (jeg kunne igår) :-(
Takker selvfølgelig for pointene, selvom jeg ikke helt føler, at jeg har fortjent dem ;)
Men du tager fejl i din antagelse af at min funktion rammer midt i path\'en og finder \"\\\". Det er forkert. Jeg finder ALTID den sidste \"\\\" i stien, hvorved funktionen virker uanset længde på stien. (Du tænker nok på udtrykket \"Mid\", som bruges i min funktion!? Selvom navnet antyder at man benytter Midten af stien, så er dette navn blot valgt for at kunne skelne mellem 2 lignende udtryk, nemlig \"Left\" og \"Right\".)
Jeg beklager dog at jeg ikke med det samme gav dig det \'rigtige\' svar, da det er det mest indlysende når man bruger Access 2000. Jeg lod mig simpelthen vildlede af nogle af de andres svar - Her blev CurrentDB benyttede (som er en typisk Access 97-måde at gøre det på). CurrentProject.Path blev først indført i fbm ADO i Access 2000, og derfor ville jeg ikke foreslå denne løsning.
Det viser blot hvor vigtigt det er, at man altid angiver hvilken version af Access, man benytter. Simpelthen fordi der er så mange forskelle (jeg ved godt at man kan lave referender til både ADO og DAO osv).
Men det var godt, at du selv sporede dig frem til det rigtige svar.
/Thomas
Synes godt om
Ny brugerNybegynder
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.