SteveL13
asked on
Export to csv not working
I'm using this on click code to export query results to a csv file. It works fine on a computer running Windows 7 but doesn't work on a computer running Windows 8 or at least I think that is the problem.
Can someone help?
The error I get is Run-time error 3011. The Microsoft Access database engine could not find the object..... Make sure the object exists ....
Here's the code:
DoCmd.TransferText acExportDelim, , "qryExportRecordsEmailList ", "C:\Email List.csv", False
Can someone help?
The error I get is Run-time error 3011. The Microsoft Access database engine could not find the object..... Make sure the object exists ....
Here's the code:
DoCmd.TransferText acExportDelim, , "qryExportRecordsEmailList
Make *sure* that "qryExportRecordsEmailList ", ...is spelled *exactly* as it is in the navigation pane...
Misspelling the query will result in the error you are getting...
...also make sure that this query even exists.
JeffCoachman
Misspelling the query will result in the error you are getting...
...also make sure that this query even exists.
JeffCoachman
I assume that your file with the macro is exactly the same on both windos 7 and 8. Correct?
Nothing was changed but Windows 8 gets an Run time error?
If this is the case, go to my first answer and give it a try: ID: 40554708
Nothing was changed but Windows 8 gets an Run time error?
If this is the case, go to my first answer and give it a try: ID: 40554708
ASKER
Jeffrey: Yes, spelling is perfect and the query definitely exists. Remember, it does work on my computer but not the computer running Windows 8. But I'm not sure the Windows version has anything to do with it.
Wilder1626: Suggestion 1 does not work. Probably because there is no "Standard Output". Suggestion #2 does work on my computer but not the Windows 8 computer.
Wilder1626: Suggestion 1 does not work. Probably because there is no "Standard Output". Suggestion #2 does work on my computer but not the Windows 8 computer.
Do you already have a file List.csv in this path: C:\Email List.csv
If not, can you create it and then, try again your command?
If it works, then you can try to add this code before you create the file, to prevent the Run time error:
If not, can you create it and then, try again your command?
If it works, then you can try to add this code before you create the file, to prevent the Run time error:
Dim strFileName As String
Dim SomeStringToOutput
strFileName = "C:\Email List.csv"
Open strFileName For Output As #1
ASKER
Wilder1626: I created a file named Email List.csv and put it in C:\Email List.csv
Then tried again on the computer that it doesn't work on and it still failed.
Actually I had tried this yesterday when the situation first came up.
Then tried again on the computer that it doesn't work on and it still failed.
Actually I had tried this yesterday when the situation first came up.
what are the Microsoft office version on both PCs?
ASKER
2013
Have you validated your MS access export specification setting on your new PC?
Compare both settings from the 2 PC MS Access file.
It may be a date format issue or a delimiter.
Compare both settings from the 2 PC MS Access file.
It may be a date format issue or a delimiter.
ASKER
There is no saved export spec. The code is just:
DoCmd.TransferText acExportDelim, , "qryExportRecordsEmailList ", "C:\Email List.csv", False
DoCmd.TransferText acExportDelim, , "qryExportRecordsEmailList
At this point, i'm out of ideas. sorry.
Normally, it should work at this point, after validating all comment from Jeffrey Coachman and I.
Normally, it should work at this point, after validating all comment from Jeffrey Coachman and I.
Steve,
FWIW, I never export to CSV without an export spec.
Just for fun, create an export spec to do this, (Settingthe comma as the delimiter explicitly) ...then insert it in the ExportSpec argument of TransferText command.
Give it a try
Jeff
FWIW, I never export to CSV without an export spec.
Just for fun, create an export spec to do this, (Settingthe comma as the delimiter explicitly) ...then insert it in the ExportSpec argument of TransferText command.
Give it a try
Jeff
ASKER
Ok. So I created a spec and have this line of code. But now I get an error:
Run time error 3625. The text file specification..... does not exist.....
Code:
DoCmd.TransferText acExportDelim, "Email List", "C:\Email List.csv", False
Run time error 3625. The text file specification..... does not exist.....
Code:
DoCmd.TransferText acExportDelim, "Email List", "C:\Email List.csv", False
Can you please validate one last time and confirm below?
1.Open your Microsoft Access database.
2.Under the External Data tab, click Text File in the Export section.
3.Enter a destination for your file or use the Browse tool, then click OK.
4.In the Export Text Wizard, choose Delimited and click Next to continue.
5.Choose Comma as the delimiter.
6.Select Include Field Names On First Row.
7.Set Text Qualifier to double quotation marks.
8.Click Next, then click Finish.
1.Open your Microsoft Access database.
2.Under the External Data tab, click Text File in the Export section.
3.Enter a destination for your file or use the Browse tool, then click OK.
4.In the Export Text Wizard, choose Delimited and click Next to continue.
5.Choose Comma as the delimiter.
6.Select Include Field Names On First Row.
7.Set Text Qualifier to double quotation marks.
8.Click Next, then click Finish.
ASKER
This is validated. I did it again but now won't have access to the Windows 8 computer until early next week.
I would double/triple check...
1. Jeff's suggestion. That qryExportRecordsEmailList does indeed exist on your Windows 8 computer, at the time the code executes. (Just as an example, a query created on the fly by code will be missing if the code fails to execute).
Just for Yuks, try the same command with a different query or table, using the problematic Windows 8 machine:
DoCmd.TransferText acExportDelim, , "SomeOtherTableName", "C:\Email List.csv", False
2. Is the code, beyond a shadow of a doubt stopping at that exact line?
3. When the error appears, and you click debug, is there any part of the statement that appears 'selected'?
1. Jeff's suggestion. That qryExportRecordsEmailList does indeed exist on your Windows 8 computer, at the time the code executes. (Just as an example, a query created on the fly by code will be missing if the code fails to execute).
Just for Yuks, try the same command with a different query or table, using the problematic Windows 8 machine:
DoCmd.TransferText acExportDelim, , "SomeOtherTableName", "C:\Email List.csv", False
2. Is the code, beyond a shadow of a doubt stopping at that exact line?
3. When the error appears, and you click debug, is there any part of the statement that appears 'selected'?
This should work, with your names, provided that the query exists (and does not have criteria or parameters), and all the arguments are set correctly:
If the query does have criteria or parameters, change it to a make-table query, run it, and then try to export the table created by running the make-table query.
If the problem is that the export spec doesn't exist on the Windows 8 computer, you may have to recreate it.
DoCmd.TransferText transfertype:=acExportDelim, _
specificationname:="CustomerExportSpecs", _
tablename:="qryCustomers", _
FileName:="D:\Documents\Examples\Export Delimited.csv", _
hasfieldnames:=True
If the query does have criteria or parameters, change it to a make-table query, run it, and then try to export the table created by running the make-table query.
If the problem is that the export spec doesn't exist on the Windows 8 computer, you may have to recreate it.
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
Yes, I ended up sending it to C:\Special Folder\xxxxxx.csv
Could not go to the C drive even though it DID work on another Windows 8 computer.
Could not go to the C drive even though it DID work on another Windows 8 computer.
Open in new window
orOpen in new window