Stuart McLachlan
stuart at lexacorp.com.pg
Thu Feb 19 05:37:59 CST 2004
On 19 Feb 2004 at 17:14, Tom Keatley wrote: > Hi all.... > > I have a CSV file that I need to get information from and build a table in > Access ....it contains 600 fields and of course I cant simply import it as > it hits the access limit of 255 fields and will not import the whole file > > It is simply an Order for goods with 150 or so records but from 500 > different locations. > > so ... > > Fields in the CSV file > [Item ] [itemcode][storeid1][storeid2][storeid3][storeid4][storeid5]etc to > 600 fields > > I need to bring those into access and populate a table so.... > [Item ] [itemcode][storeid1] > [Item ] [itemcode][storeid2] > [Item ] [itemcode][storeid3] > [Item ] [itemcode][storeid4] > [Item ] [itemcode][storeid5] > [Item ] [itemcode][storeid6] > etc > using the data contained in [Item ] [itemcode] fields and using the > fieldname from the 500 odd [storeid] fields as my store id. > > I have been playing with this for some hours so far and dont seem to be able > to acheive what I need > You need something like the following (air code, so will proably need some tweeking). Note this use DAO, ADO would be similar Dim strTemp as string Dim rs as DAO.Recordset Dim myArray() as String Dim Loopcount as long Set rs = Currentdb.OpenRecordset("tblMyTable") Open "MyFile.CSV" for input as #1 While Not EOF(1) 'Read the next line in Line Input #1, strTemp 'Split the fields into an Array myArray = Split(strTemp,",") 'Loop through the elements of the Array and create then the records For Loopcount = 2 to Ubound(myArray) rs.AddNew rs(0) = myArray(0) 'Item rs(1) = myArray(1) 'ItemCode rs(2) = Loopcount - 1 'StoreID rs(3) = myArray(Loopcount) 'Qty rs.Update Next Wend -- Lexacorp Ltd http://www.lexacorp.com.pg Information Technology Consultancy, Software Development,System Support.