This is Access 2003. From an access database code module, I am opening two outside access databases and then saving the text of two forms that exist in both of the databases. I am executing the statements:
Call app1.SaveAsText(acForm, "MyForm", "c:\MyForm_app1.txt")
Call app2.SaveAsText(acForm, "MyForm", "c:\MyForm_app2.txt")
Both app1 and app2 are of type Access.Application.
I receive the error:
Method 'SaveAsText' of object ' Application' failed
This error only happens on this specific app2 form. Other forms in app2 are saving just fine. I am using Access 2003. There was a trial of Access 2007 installed but now that is removed. I am still getting the same error.
Thanks for your help. I am really puzzled over this one.
Gotta love undocumented options. For kicks and giggles, I'd try renaming one of the two forms. Or, swap the two statements and see if app1 starts erroring. It looks like the forms has identical names, perhaps Access is leaving the first one open and getting confused.
Maybe something is slightly corrupt in app2. You could always try running the /decompile option on app2 (take a backup first of course)
That form is possibly corrupt. See if you can open that form in Access and then save it under a different name. Or import the entire database into a new file.
The problem was that there is a bug in Access 2003 where it cannot handle databases converted from Access 2007 to Access 2003. The fix is to install the latest Service Pack for Office 2003.
Related
I know there is similar question, but it didn`t helped me.
When I execute a package data flow task fails with the error:
"Unable to retrieve column information from the data source. Make sure your target table in the database is available."
I refreshed the source component, the destination components also. The table do exist in database. I tried with setting some parameters like "Always Use Default Code Page" to true but didn`t helped.
Connections are also ok.
Any idea?
Sounds like a permissions issue. Try, running Visual Studio as administrator or if that doesn't work, make sure your Windows Account has access to the data you require in SQL Server.
I made Access Form which was working fine in Access 2013 and Access 2007 until I add some new features(I don't remember what) to it.
After adding them, it keeps giving me error "Unrecognize file format" when I try to run it in Access 2007. Meanwhile it runs fine in Access 2013.
I want to ask if there exists some software to convert Access 2013 file to Access 2007? Or is there any way make it compatible to 2003? When I Save As 2003 file it don't because of some added features.
Please help!
You could try using Access' Application.SaveAsText in 2013 and Application.LoadFromText in 2003.
Even if this doesn't work directly, if you have an older version that does work, you could compare the differences between the text files the two versions of Access produce, as SaveAsText produces (for the most part) human readable output; the only unreadable parts are typically images.
I've had this happen to me during development on A2010 and deployment on A2007. The possibilities are explained on this page. It is likely that you added an Empty Cell control to a form that had a VBA module (or added a module to a form with an Empty Cell control). I did this unknowingly by inserting a row into the AutoHeader that is created in forms by the Form Wizard.
Follow the steps at the bottom row of Table 2 to rectify this.
MS Access 2010, Win 7 on a regular formI didn't intentionally place any ActiveX or OLE things.. not even sure what they are. But anyways, whenever I put something in the code of a particular form, it says "The Expression XXXXX you entered as the event property setting produced the following error: A problem occured while MyDB was communicating with the OLE server or Active X Control
Huh? No matter what I put in the form's code, this happens. I had an empty Form_Current() ONLY which still tripped this. There's a lot of formatting and work into the form, I'd rather not scrap it.. If I leave the code window completely empty (only Option Compare Database), it does not trip the error; however then my form is useless.
I've seen things about this being a language issue, but my other forms (running the same code techniques and most of the same code) are fine and it's an english Access with an english language PC. Ideas?
Code setting off the error:
Private Sub Form_Current()
End Sub
Seriously.
I faced the same problem and I tried many things, the only (and fastest) solution that worked is to do the following:
1) Close the form that is causing the error.
2) Rename this form.
3) Duplicate it: Copy, then Paste, you will be prompted to set a name for the new form. Give it the original name.
4) Delete the original form that was causing the error.
5) Open the pasted form and it will work OK.
This solution worked fine with my database...
Regards...
Check for missing references. Make a back-up, decompile, compact & repair and if that does not work, copy everything to a new db ( http://www.granite.ab.ca/access/corruptmdbs.htm ) You may have to skip copying the problem form. Sometimes it is worth creating a new form, selecting all the controls from the old form and pasting into the new form.
you can change the language setting to have a try, the steps are as follow:
1、Open window command ,run "intl.cpl"
2、choose the Administrative item ,change the system locale settings.
Hope that can help you.
I have run into this problem many times. The error statement is horrible as it provides basically no useful information. I have found that Abu Hassan's solution typically works best (duplicate the form and delete the original) but that did not work for me on one occasion, where I had to delete an import statement that I had recently added:
imports system.collections
Once I deleted that import statement everything worked again. So if duplicating the form doesn't work then try undoing something you recently did. It could be this import statement or one similar to it.
Very strange error, that sometimes occurs in my databases too.
It seems to go wrong mostly on UNBOUND FORMS (unbound forms have no RECORDSOURCE).
What I have done recently is :
temporarily define "some" table (e.g. a config table with just one record) as the RecordSource,
compile the program (Note that this usually goes OK, even before the fix!)
Save the form.
Open the form. This should work fine now!
Delete the RecordSource, recompile and save again.
Most of the time, my forms work fine again after that.
as my experience some of errors because you use your local language in VBA statement
so you must adjust your local language as language of system from control banal >> language or region>>administrative>>change system local then select your local languages
or find the word was not English in vba and retype it by English
I'm trying to open a form from an url. This ms access database will be hosted on a shared folder in an network, and the costumer has asked me if it's possible to open an database form (i'll have to pass an ID).
If this were in web environment i would do this without any problem, but honestly in ms access i have no idea how to do this.
Can someone help me?
Have a look at Register protocol and Registering an Application to a URL Protocol. They have a example registry file on how to register a protocol:
REGEDIT4
[HKEY_CLASSES_ROOT\foo]
#="URL:foo Protocol"
"URL Protocol"=""
[HKEY_CLASSES_ROOT\foo\shell]
[HKEY_CLASSES_ROOT\foo\shell\open]
[HKEY_CLASSES_ROOT\foo\shell\open\command]
#="\"C:\\Program Files\\Application\\program.exe\" \"%1\""
You can change the last line to something like:
#="\"C:\\Program Files\\Office\\access.exe\" \"C:\\path\\to\\your\\db.mdb\" /cmd \"%1\""
If you URL is foo:241245, the following command is called:
"C:\Program Files\Office\access.exe" "C:\path\to\your\db.mdb" /cmd "241245"
In Access, the commandline arguments are returned by the Command function:
In the direct window:
?Command
241245
The database can be opened from a URL like any other file:
file://server/share/path/database.mdb
This won't work if the database has user-level security on it though. I've only ever done that by using a windows shortcut.
If you're not using user-level security and the URL works, you can set the desired form to open automatically on load by going to the Access Options screen and the Current Database tab, then selecting the desired form from the Display Form drop-down list.
Oops - I just noticed that you said you'd need to pass an ID. I don't know if that's possible using a URL.
Open your Access database from the network location (i.e., with a UNC path, not from a drive letter, or locally).
Navigate so you can see the form listed in your database.
Drag the form to your desktop. A shortcut directly to the form will be created there.
I don't think this is a good idea, though. It's a substitute for a user interface in your Access application. Additionally, your description of the problem sounds like you're intending to have multiple people opening the same database file. This is a really bad practice -- best practice is for the database to be split (back end with data tables only on the server, and individual copy of the front end with forms/reports/etc. on each user's workstation), and more than one user should never be opening the same front end at the same time.
I just switched from Access 2003 to Access 2007. In the very first "dev" copy (as I call it) pre-split, pre-front end, I need to import some data that are text files. I try to use the ribbon to do this, and after I walk through the steps I get this little pop up box that states
Microsoft Access has determined this to be a potential security risk. You shouldn't accept....
Then I Click OK to accept (open the file)... and nothing happens...no import, no file.
So I tried making a new table on import, creating a table in access then importing, coverting the data file to xls & web before importing, using a completely different data file. Nothing seems to change the outcome of Access not firing off some type of import event (which I think is supposed to be a wizard or something??)
So does anyone have any ideas what is going on with this?
I would just code the data import but I don't know how (without using the wizard to at least create the specification).
Is the folder where the database resides configured as a Trusted Location? I know VBA code won't run if it's not. I wasn't aware those types of restrictions extended to file import from the Ribbon. However, your error message sounds similar to a Trusted Location issue, so it may be worth checking.
See Create, remove, or change a trusted location for your files for detailed instructions on managing Trusted Locations.
Access was formerly very fussy about extensions and would stop working if, for example, a text file did not have an expected extension. It used to be necessary to modify the registry to get around this. It seems that the problem may still exist.