vba - Keeping multiple file names while importing via transfertext -


private sub command38_click()     dim f object     dim db dao.database     dim qdf dao.querydef     dim strupdate string     dim strfile string     dim strfolder string     dim varitem variant     dim p string     dim deleteeverything string          docmd.setwarnings false         deleteeverything = "delete * [ucppltr]"         docmd.runsql deleteeverything     set f = application.filedialog(3)     f.allowmultiselect = true     f.initialfilename = "s:\formware\outfile\ucppt12\storage"     f.filters.clear     f.filters.add " armored txt files", "*.asc"         if f.show         each varitem in f.selecteditems             strfile = dir(varitem)             strfolder = left(varitem, len(varitem) - len(strfile))             p = strfolder & strfile             docmd.transfertext acimportdelim, "ucpp import specification", "ucppltr", p, false         next         end if     strupdate = "parameters filename text;" & vbcrlf & _     "update ucppltr" & vbcrlf & _     "set [file name] = filename"     debug.print strupdate     set db = currentdb     set qdf = db.createquerydef("", strupdate)     qdf.parameters("filename") = strfile     qdf.execute dbfailonerror     set qdf = nothing     set db = nothing     set f = nothing      msgbox dcount("*", "ucppltr") & " records imported" end sub 

as can see code on import want store file name , while work doesn't work how need to. when work client 5 files ate time once week save 5 file names saves last 1 imports. question, there way save each file name each 1 ( doubt that) or can save 5 file names records import instead of last file name?

i have option of allowing single import , making them import , append table 5 times wanted check see if there more efficent way before doing so.

thanks in advance in matter!

there problem in logic. inside loop, strfile holds current file name. after loop finished, current (=last) file name passed on query.

i made changes, filenames stored in new variable strfilelist, delimited ";". please check, if feasible solution.

private sub command38_click() dim f object dim db dao.database dim qdf dao.querydef dim strupdate string dim strfile string dim strfolder string dim varitem variant dim p string dim deleteeverything string  ' variable hold file list dim strfilelist string      docmd.setwarnings false     deleteeverything = "delete * [ucppltr]"     docmd.runsql deleteeverything set f = application.filedialog(3) f.allowmultiselect = true f.initialfilename = "s:\formware\outfile\ucppt12\storage" f.filters.clear f.filters.add " armored txt files", "*.asc"     if f.show     each varitem in f.selecteditems         strfile = dir(varitem)         strfolder = left(varitem, len(varitem) - len(strfile))         p = strfolder & strfile         docmd.transfertext acimportdelim, "ucpp import specification", "ucppltr", p, false          'add file name file list         strfilelist = strfilelist & strfile & ";"     next     end if strupdate = "parameters filename text;" & vbcrlf & _ "update ucppltr" & vbcrlf & _ "set [file name] = filename" debug.print strupdate set db = currentdb set qdf = db.createquerydef("", strupdate)  'pass file list query qdf.parameters("filename") = strfilelist  qdf.execute dbfailonerror set qdf = nothing set db = nothing set f = nothing  msgbox dcount("*", "ucppltr") & " records imported" end sub 

Comments