DWUTKA at marlow.com
DWUTKA at marlow.com
Fri Aug 4 16:55:42 CDT 2006
________________________________________ From: Drew Wutka Sent: Friday, August 04, 2006 4:28 PM To: 'Access Developers discussion and problem solving' Subject: FW: [AccessD] Edit Large text file via VBA You can use the same code, but 'chunk' the read... The get statement retrieves the amount of data available in the strTemp variable, ie: strTemp=Space(lof(f)) get f,,strTemp in the first line, it is setting strtemp as a string (of spaces) the length of the file (lof statement, f being the file pointer). The get statement can be used to read portions of the file. By default, it keeps reading through, for example: Dim f as Long Dim intBufferSize As Long Dim strTemp as string Dim intSpaceRemaining as Long intBufferSize=512 F=freefile Open "C:\YourTextFile.txt" for binary access read as f intSpaceRemaining=lof(f) do until intspaceremaining=0 if intBuffersize>intSpaceRemaining then intBuffersize=intSpaceRemaining strTemp=Space(intBuffersize) get f,,strTemp strTemp=Replace(strTemp,"YourCharacters","") intspaceremaining=intspaceremaining-intbuffersize loop close f In this example, it just keeps reading chunks (512 bytes (or characters) at a time). You can be writing to a new file at the same time, just need a different variable to represent the NewFile pointer. Drew -----Original Message----- From: Mark A Matte [mailto:markamatte at hotmail.com] Sent: Friday, August 04, 2006 3:25 PM To: accessd at databaseadvisors.com Subject: Re: [AccessD] Edit Large text file via VBA Thanks again Drew. I might have forgotten to mention that these are farely LARGE text files. The one it is crashing on is 138 mb ...error= "Out of String Space" Any other ideas? Thanks again, Mark A. Matte P.S... The largest is just over 150 mb