Modules & VBA :: Allow A User To Navigate To A Text File And Import It To A Database
Aug 19, 2013
We have a function that will allow a user to navigate to a text file and import it to a database. I've been asked to make it import ALL the text files from all sub-directories in the directory IF they've never been imported before (based on FileName and LastModifiedDate). I've set up a table to track what's getting imported (tbl_ImportHistory). I'm thinking what I need to do is use the previous coder's GetFileName function in a recursive loop removing the navigation request and adding the comparison and then, if it imports the file, the name and date need to be added to the tbl_ImportHistory table. But I'm completely unsure of how to do it.
I'm posting the GetFileName function below. I believe once I've got it modified the rest of the code can be left intact as it just parse's and loads whatever file is selected in the GetFileName function.
<code>
Function GetFileName() As String
Dim fd As FileDialog
Set fd = Application.FileDialog(msoFileDialogFilePicker)
fd.AllowMultiSelect = False
Dim vrtSelectedItem As Variant
They are receiving e-mail with some data that they want to transfer to access database to track. The one think they can do is copy past, copy paste. That is a lot of data to copy and paste. The date looks like this format
Field1 Text1
Field2 Text2 (text2 can be more than 255 char)
Field3 Text3 (text3 can be more than 255 char)
Field4 Text4
Field1 Text1
Field2 Text2 (text2 can be more than 255 char)
Field3 Text3 (text3 can be more than 255 char)
Field4 Text4
and so on.. It can be 50 records
I am thinking they can copy this to the text file. Then the code form Access grabs the text file and imports to access table with format below.
I'm trying to import a pipe delimited text file into a table. I can import the entire table using the following code, but I only get one column of data (the entire data set in one column). If possible I would like to import with the columns defined or if not possible use some code for a function similar to text to columns.
I'm trying to import a text file with 273 fields into two tables. I've been able to do this with the code I found on an old thread and I'm now trying to accomplish everything with one step. The file I'm importing is tab delimited text file. With this current code I'm only able to populate the first record in the table and then I get error message. (Run-time error '3265') (Item cannot be found in the collection corresponding to the reqested name or ordinal).
Code:
Public Sub ImportTextFile() ' to use the ADODB.Recordset, be sure you have a reference set to ADO Dim rst As ADODb.Recordset Dim rst2 As ADODb.Recordset Dim strFile As String Dim strInput As String Dim varSplit As Variant Dim intCount As Integer
I have a form which i use for a user to select an excel file they want to import and then click a cmd button to import the file into a table which works fine, however i want to append a date into a date field from an unbound txtbx before the file is imported so it will look something like;
I would like to automate something presently done on a one-by-one basis. Here: a number of text files(containing data) are to be exported into an MS Excel file, with each text file to occupy a different worksheet. Presently, the idea is to use the Data/import external data/import data feature of MS Excel for importing the text files one-by-one into newly created worksheets(within the same workbook).
I would appreciate some advice on how to go about creating a useful MS Access application to achieve the above. I have checked the available Macros in MS Access, but I could not find one to suit my purpose. can anyone pls assist, on how I can get started?
I am having a little difficulty with my importing in Access. Every time I import my text file, the lines will be jumbled. I have been reading up and I found this recordset code that seems to be what I need:
Code: Dim strLine As String Dim intLineNum As Integer Dim MyDB As DAO.Database Dim rst As DAO.Recordset Open "C:TestTest.txt" For Input As #1 Set MyDB = CurrentDb Set rst = MyDB.OpenRecordset("tblResults", dbOpenDynaset) CurrentDb.Execute "DELETE * FROM tblResults", dbFailOnError 'Clear tblResults
[code]....
Basically, this code will extract data from the text file as long as it fulfills the Mid$ criteria. Here's where my problem comes. Each line in my text file is of different lengths and I have to capture the entire line.
I think using the Left$ function would work, but I don't know how to determine the character count such that the entire line of text would be inserted into the table.
Another difference between what I need and the code above is that, I am required to store each line into each row of my table, meaning
Line 1 is placed in Row 1 Column 1 Line 2 is placed in Row 2 Column 1 Line 3 is placed in Row 3 Column 1 . . . Line X is placed in Row X Column 1.
hello everyone, i really need some detailed help as the deadline is approaching and I need to find a solution for this. Any help would be greatly appreciated
I currently have a batch file that ftps a text file from a Red Hat Linux Server to my W2k C:. I would like to make another command in the batch file that imports this text file into an existing access table. I would like the text file to repopulate the table everytime it is imported. I do not want the data added on to the existing data in the table.
Hi I have a log file that records an action in following format. 50144021 12-17-2004 21:00:44 Mail Sent Subject: Test file TO: bert@xxxxxx.com
I want my database to look into this file and return the date/time of the last send in the log to match up with a record in one of my tables that has following fields: "email","last sent", "subject". ( The match will be done on the email address)
I can therefore look at each record and identify when each email address was last sent the file
Hi all. Another question that i hope ya'll can answer.
I'm trying to take a comma divided text file and import the raw data from there into one Access table to allow for various data manipulations with the end result being a very nice printable report. Unfortunately, I can only get the data in a plain text file, and not a CSV file.
What I'm looking for is a method to where I can import one or many of these text files into a database at one time via a fairly automatic process (pressing a button to load all the text files in a given directory would work), and have the data filtered according to the pre-defined variables in the text file itself (which could just be pre-entered into the database as a template). How would I go about doing this?
p.s. If anyone wants to see an Excel file of a manual data sort to see what i'm talking about, please e-mail me and I'll send it off.
p.p.s. Thanks for any help you can give me
raw text file data (there's more, but this will suffice as an example):
How to read data in file (attached) and import data by reading certain amount of characters in a line like A02 and read 30 to 40 characters which has the Name of a passenger and may 20th to 25 has the name of an Airline. Import these data into a table with pre-assigned columns.
I'm importing the contents of lots of text files using a combination of a loop and DoCmd.TransferText.
This works fine and I can get the contents of several hundred files in a few seconds. The files are called 1.dbb, 2.dbb... and each has an associated image file, 1.bmp, 2.bmp... etc. After the import I move the files to a new folder.
I need to create a link to the bmp file but this information is not included in the text file so I need to rely on a field which contains the file name.
How can I populate a field at import time to include the name of the imported file?
I am importing a text file into Access97 using fixed width with import specifications that specify NO to indexing. However, when I run the Macro, it automatically indexes the first field (which is a long integer).
Why? How do I import the text file without having the index automatically added?
I am trying to complete a macro that starts with importing of a text file. However, when I go to complete the steps in the macro, I do not see the specs for the import file that i created. There is a dropdown with a few specs for me to choose from in the box titled "Specification Name" when I am completing the action titled ImportExport Text. However, none of those specs are the right ones.
When I go to "Saved Imports" I can plainly see the import that I am interested in. So is a Saved Import different than a spec? If so, what steps do I need to do to create the spec?
Hi all, I'm trying to get the following done: I have code which import Excel files into my database with the "DoCmd.TransferSpreadsheet". which works great. But I'm now splitting the database and I want to have the Excel files which a user selects in his frontend database, imported in my backend database. I don't see the possibility in the TransferSpreadsheet as this is set to the CurrentDb. My temporary solution is to import in the frontend and CopyObject to the Backend, but does anyone have a direct solution?
I have a secure MS Access database, where users by default can only read data, but not write. How can I prevent them from importing or linking files, or inserting objects? I don't want to use any passwords in my database, since it's used inside the application. Thank you.
I have created a database with approximately 30 columns, 1st column being a primary key. At the end of the database there are 5 columns. We will call them VWXYZ.
One of my users wants to be able to update VWXYZ via importing an Excel document to the existing table. He does NOT want fields 1-25 updated. He is editing his Excel document to only include the primary key and then VWXYZ with the same exact column names. When he imports, it sets 2-25 to blank and updates VWXYZ to the updated information.
How can he import an Excel document that only updates VWXYZ?
I am new to Access and I am trying to make a Database. However, I have an attachment with each record and I would like to know if there is a way of making a button/link that will allow the user to navigate from each record to its respective attachment.
hello once again, I need to import a text file into an existing table in Access. The text file has been imported once and is working well and everything. However, since I had to change some of the datatypes to be able to query the table correctly, I now cannot import the text file anymore unless I change the datatype of the table itself. Since someone other than I will be doing the imports from here on out, changing the datatypes everytime is out of the question. I was looking at the TransferText event, but I didn't seem to see anything about converting data types. I can think of two options, and neither are probably possible: 1. import using the wizard. Since I didn't see anything related to the types of data, I don't think this will work... 2.import using TransferText. This doesn't seem to give me any opportunity to change the datatypes either. Is there anyway to programmatically change datatypes, or is there possibly an easier way that I'm overlooking?? thanks in advance, *j
the txt file is set up so that there is a header record, 4,999 lines of data, then the same header record, then 4,999 lines of data, then a header record etc etc. for as many lines as is in the download. This is a download TXT file from a Microsoft Axapta ERP system.
I have my table all set up and during the import I want the header records to be dropped. I tried in the validation section for startdate {Not "startdate"} but that did not work. Is there some simple way to ensure the header records are dropped?
I upgraded to Access-2010 and the Text File Import function will not recognize dates in the format YYYY-MM-DD. The import dialogue sees enough to recognize the field as a date, but then every date encountered is written to the Import-Errors table. This is true whether the file has a .txt or .csv extension. The actual file format is .csv.
I'd like to import an excel file but the data begin from cell "A10", above there is a "privacy text".Is it possibile import or link the excel data in an access table directly from the cell A10?