Stuart McLachlan
stuart at lexacorp.com.pg
Thu Aug 7 01:29:03 CDT 2008
Open an Immediate window in the any Access application (hit Ctrl+G)
Enter "? CurDir"
You will see that the default directory for an Access Application is "My Documents".
(unless you change "Default database folder:" under "Tools-Options-General"
You can do one of two things:
1. Initally use CHDIR to change the directory
2. Put the path in front of the relevant code.
I prefer to use the second method.
If you want to run in the directory that the Access application is in, make the following
changes:
Change: strMergeFile = "MergeFile00.txt"
To: strMergeFile = CurrentProject.Path & "\MergeFile00.txt"
Change: strFile = Dir$("*.xml")
To: strFile = "Dir$(Currentproject.Path & "\*.xml")
Change: strMergeFile = "MergeFile" & Format(lngFileCounter, "00" & ".txt")
To: strMergeFile = CurrentProject.Path & "\MergeFile" & Format(lngFileCounter, "00" & ".txt")
Cheers,
Stuart
On 7 Aug 2008 at 14:51, Darren D wrote:
> Hi Stuart
>
> You are a legend this is way cool
>
> Now, I have a strange issue with this. When I drop say 20 or 30 xml files in the
> My Documents folder and run the dB, from My Documents as well, it runs lovely
>
> Drop those same XML into another folder and the dB into that same folder it
> seems to get stuck in some monstrous loop that never ends and the new
> destination merge file just grows and grows and does not stop until I do a 3
> finger salute
>
> Any reason why it would work in the My Documents folder and not in another
> folder?
>
> Many thanks
>
> Darren
> -----Original Message-----
> From: accessd-bounces at databaseadvisors.com
> [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Stuart McLachlan
> Sent: Wednesday, 6 August 2008 8:06 AM
> To: Access Developers discussion and problem solving
> Subject: Re: [AccessD] A2003: Merging top 50 files then next 50 files andsoon
>
> Yep, another ommission on my part ( I did warn you <g>)
>
> You need to do a
> Close #1
> after
> Loop Until strFile = ""
> to close the last merge file.
>
> It's not using any objects, so there is no need to do anything else.
>
>
>
> On 5 Aug 2008 at 15:22, Darren D wrote:
>
> >
> > Stuart - Fantastic
> >
> > Works an absolute treat many many thanks - you are a legend
> >
> > What is the standard code bits to get it to release the file whilst the dB is
> > open? I also assume there are objects to be closed or set to nothing - yes?
> >
> > Code working nicely below
> >
> > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> > Private Sub ps_CopyBlocks()
> >
> > On Error Resume Next
> >
> > Dim lngCounter As Long
> > Dim lngFileCounter As Long
> > Dim strFile As String
> > Dim strMergeFile As String
> >
> > strMergeFile = "MergeFile00.txt"
> > Open strMergeFile For Output As #1
> > strFile = Dir$("*.xml")
> > Do
> > Open strFile For Input As #2
> > While Not EOF(2)
> > Line Input #2, strtemp
> > Print #1, strtemp
> > Wend
> > Close #2
> > lngCounter = lngCounter + 1
> > If lngCounter = 10 Then
> > lngFileCounter = lngFileCounter + 1
> > lngCounter = 0
> > Close #1
> > strMergeFile = "MergeFile" & Format(lngFileCounter, "00" & ".txt")
> > Open strMergeFile For Output As #1
> > End If
> > strFile = Dir$
> > Loop Until strFile = ""
> >
> > End Sub
>
> --
> AccessD mailing list
> AccessD at databaseadvisors.com
> http://databaseadvisors.com/mailman/listinfo/accessd
> Website: http://www.databaseadvisors.com
>
> --
> AccessD mailing list
> AccessD at databaseadvisors.com
> http://databaseadvisors.com/mailman/listinfo/accessd
> Website: http://www.databaseadvisors.com
--
Stuart Mclachlan