Jim Dettman
jimdettman at verizon.net
Fri Jun 6 12:40:23 CDT 2014
I stand corrected; never realized the CBF was pulled in when doing the form (I just tried it now and it was for sure). I don't remember it that way, but then I was probably using it when I had a corrupt VBA project file, so I may have only gotten the form attributes. But everything outside of that does need to be processed separately. Jim. -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Dan Waters Sent: Friday, June 06, 2014 09:29 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] LoadFromText giving error only for tables? Hi Jim, I have to speak up and say that the SaveToText and LoadFromText functions do indeed process code behind forms and reports, modules & classes, queries, and macros. Last year I made a utility database to Save/Load any access file and all of its contents (but not tables). I got this to be 99% automated - it won't recreate custom menubars in Access 2007/2010. Just to completely confirm to myself I just now ran my utility and looked at the text files and code is definitely included. Also, I believe that tables can be Saved/Loaded as text files but I never tried because my goal was to clear out minor code corruption. Thanks! Dan -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Dettman Sent: Friday, June 06, 2014 6:24 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] LoadFromText giving error only for tables? Bill, <<I am not even sure if the LoadFromText does a good job of populating the System tables with the queries that form the rowsource of the form objects...>> Then do not. Save/Load methods only apply to form and report objects themselves, nothing else. And it's just the object; no code. Code belongs to the VBA project. If you look at the resulting file, you will see that it only describes the form or report object itself. Tables, queries, macro's, code, etc all needs to be handled separately from one another. Jim. -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Bill Benson Sent: Thursday, June 05, 2014 09:56 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] LoadFromText giving error only for tables? I knew it was going to be an easy fix and additional headaches both... So I have to use this AC.DoCmd.TransferText acImportDelim, , Mid(Fil.Name, Len("Table_") + 1, Len(Fil.Name) - 4 - Len("Table_")), strPath & "\" & Fil.Name, True And having no import specification; Access is not going to recreate the table properly. So it would appear I will have to 1) create an import specification in the old database 2a) copy the old tables from the model database using Ac.DoCmd.TransferDatabase acTable... structure only Or 3b) Loop the tables in the old database and record their name, columns, column field types, column properties and attributes, table properties, ... aye aye aye I am not even sure if the LoadFromText does a good job of populating the System tables with the queries that form the rowsource of the form objects... Anyone been down this road of creating a database from material on disk, and know the gaps? Thanks. -----Original Message----- From: Bill Benson [mailto:bensonforums at gmail.com] Sent: Thursday, June 05, 2014 9:40 PM To: 'Access Developers discussion and problem solving' Subject: LoadFromText giving error only for tables? LoadFromText is failing only for tables? Is this expected? This is an undocumented method and so I am not able to check through Access what I may be doing wrong. The SaveAsText code which I found did not balk at tables. I can think of several reasons why I would question whether LoadFromText would actually work for tables... so the fact that the code bombs is not surprising except that I feel I have complied with all arguments. The error message is Error 2487 The Object Type argument for the action or method is blank or invalue" The path to the text files is Strpath = "D:\Docs\zzzProgramming and Consulting\2014 Programming Development\Lew\2014_06_05_19_58\" Fil.Name would be something like "Table_ReminderDays.txt" Thanks in advancio. .... AC.OpenCurrentDatabase (strPath & "\" & strCreateName) Set db = AC.CurrentDb For Each Fil In FSO.GetFolder(strPath).Files If Fil.Name Like "*.txt" And InStr(Fil.Name, "_") > 0 Then Select Case Left(Fil.Name, InStr(Fil.Name, "_")) Case Is = "Form_" AC.LoadFromText acForm, Mid(Fil.Name, Len("Form_") + 1, Len(Fil.Name) - 4 - Len("Form_")), strPath & "\" & Fil.Name Case Is = "Table_" 'example: Table_ReminderDays.txt AC.LoadFromText acTable, Mid(Fil.Name, Len("Table_") + 1, Len(Fil.Name) - 4 - Len("Table_")), strPath & "\" & Fil.Name Case Is = "Module_" AC.LoadFromText acModule, Mid(Fil.Name, Len("module_") + 1, Len(Fil.Name) - 4 - Len("module_")), strPath & "\" & Fil.Name Case Is = "Query_" AC.LoadFromText acQuery, Mid(Fil.Name, Len("Query_") + 1, Len(Fil.Name) - 4 - Len("Query_")), strPath & "\" & Fil.Name Case Is = "Macro_" AC.LoadFromText acMacro, Mid(Fil.Name, Len("Macro_") + 1, Len(Fil.Name) - 4 - Len("Macro_")), strPath & "\" & Fil.Name End Select End If Next AC.Quit .... -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com