Rocky Smolin at Beach Access Software
rockysmolin at bchacc.com
Fri Jul 18 13:03:00 CDT 2008
Bill: That worked! Thank you. Best, Rocky Smolin Beach Access Software 858-259-4334 www.e-z-mrp.com www.bchacc.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Bill Patten Sent: Friday, July 18, 2008 10:36 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Renaming a field through code Here is the ChangeFieldName function from that module: I think it would work. Bill Function ChangeFieldName(TblName As String, OldFldName As String, NewFldName As String) Dim Td As TableDef Dim db As Database Dim DbPath As Variant Dim FldPos As Integer Dim rs As Recordset Dim IdxName As String 'get back end path of linked table DbPath = DLookup("Database", "MSysObjects", "Name='" & TblName & "' And Type=6") If IsNull(DbPath) Then Set db = CurrentDb 'if local table Else Set db = OpenDatabase(DbPath) 'if linked table If Err <> 0 Then 'failed to open back end database Exit Function End If 'in case back end has different table name than front end TblName = DLookup("ForeignName", "MSysObjects", "Name='" & TblName & "' And Type=6") End If 'get table Set Td = db.TableDefs(TblName) If Err <> 0 Then 'failed to get table GoTo Done End If 'change field name Td.Fields(OldFldName).Name = NewFldName ChangeFieldName = True 'defaults to false if it fails to get here Done: If Not db Is Nothing Then db.Close End Function ----- Original Message ----- From: "Rocky Smolin at Beach Access Software" <rockysmolin at bchacc.com> To: "'Access Developers discussion and problem solving'" <accessd at databaseadvisors.com> Sent: Friday, July 18, 2008 10:22 AM Subject: Re: [AccessD] Renaming a field through code Bill: That will change the length of the field. But I need to change the name. I consulted SQL: Access to SQL Server (by a couple of notorious Apress authors) - under the ALTER info but there doesn't appear to be a SQL command for this. IIRC, there was a thread a long time ago to the effect that you had to add a new field with the new name, copy all the data from the old field to the new field, and then delete the old field. But I'm hoping I'm disremembering that and that there's a method now to rename a field. Rocky Smolin Beach Access Software 858-259-4334 www.e-z-mrp.com www.bchacc.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Bill Patten Sent: Friday, July 18, 2008 10:14 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Renaming a field through code Rocky, I have a routine that I got from you back in 2005, "mod_ModifyTablesFEorBE" that I believe will do that. I can send it to you if you want. Copy of your notes: ********************** Never mind. Figured it out. I have the name and path of the linked database in a global variable already. So: Set wrk = DBEngine.Workspaces(0) Set Db = wrk.OpenDatabase(gstrDatabaseName) Dim strSql As String strSql = "ALTER TABLE tblPODetail ALTER COLUMN fldPODPartDescription TEXT(255);" Db.Execute strSql, dbFailOnError works. Rocky ----- Original Message ----- From: "Rocky Smolin - Beach Access Software" <bchacc at san.rr.com> ***************************** Bill ----- Original Message ----- From: "Rocky Smolin at Beach Access Software" <rockysmolin at bchacc.com> To: "'Access Developers discussion and problem solving'" <accessd at databaseadvisors.com> Sent: Friday, July 18, 2008 9:56 AM Subject: [AccessD] Renaming a field through code Dear List: Is is possible to rename a field in a linked table through code? MTIA Rocky Smolin Beach Access Software 858-259-4334 www.e-z-mrp.com <http://www.e-z-mrp.com/> www.bchacc.com <http://www.bchacc.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 -- 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