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
Post a Comment