Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
Home
Discussion GroupsFormsForms ProgrammingQueriesModules / DAO / VBAReports / PrintingMacrosDatabase DesignSecurityConversionImporting / LinkingSQL Server / ADPMultiuser / NetworkingReplicationSetup / ConfigurationDeveloper ToolkitsActiveX ControlsNew UsersGeneral 1General 2
Access DirectoryToolsTutorialsUser Groups
Related Topics
SQL ServerOther DB ProductsMS OfficeMore Topics ...

MS Access Forum / Forms / June 2006

Tip: Looking for answers? Try searching our database.

Identify or add a field to a remote table

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
Beth - 29 Jun 2006 22:27 GMT
I have a FE/BE database setup.  The front end could link to many different
backend databases with similar strutctures. The applications have been
deployed to customers and I continue to modify the front end.  On occassion
I need to add fields to the backend files that they maintain.
At the main switchboard form, on open, I would like to verify that a field
(as an example: txtName) exists in the linked backend table.  If it doesn't
exist, I would like the code to automatically add the field to the backend
database that the user maintains.

Thanks in advance.  This has been a sticky issue for me and I can't have
customers send me their datafiles just to add a field.

Beth
Duane Hookom - 30 Jun 2006 03:05 GMT
I use a function when the application is opened to find a value in a new
field and trap for error 3265. If this error occurs, I use DAO code to
modify the structure of a linked table.

This is some old code to add some fields to a linked table.

Function UpdateConstants() As Boolean
 '============================================================
 '     Purpose: Add Fields to tblConstants
 ' Called From:
 '        Date: 11/29/2000
 '  Parameters:
 '============================================================
   On Error GoTo UpdateConstants_Err
   Dim strErrMsg As String 'For Error Handling
   UpdateConstants = True
   Dim dbRemote As DAO.Database
   Dim tdef As DAO.TableDef
   Dim fld As DAO.Field
   'GetRemoteMDB() finds the linked mdb path
   Set dbRemote = OpenDatabase(GetRemoteMDB())
   Set tdef = dbRemote.TableDefs("tblSysConstants")
   With tdef
       .Fields.Append .CreateField("DataPWD", dbText, 30)
       .Fields.Append .CreateField("AdminPWD", dbText, 30)
       .Fields.Append .CreateField("HideSplash", dbBoolean)
   End With
   dbRemote.Execute ("Update tblSysConstants SET AdminPWD ='Admin', DataPWD
='data'")

UpdateConstants_Exit:
   On Error Resume Next
   Set tdef = Nothing
   Set dbRemote = Nothing
   Set fld = Nothing
   Exit Function

UpdateConstants_Err:
   Select Case Err
       Case Else
           strErrMsg = strErrMsg & "Error #: " & Format$(Err.Number) &
vbCrLf
           strErrMsg = strErrMsg & "Error Description: " & Err.Description
           MsgBox strErrMsg, vbInformation, "UpdateConstants"
           UpdateConstants = False
           Resume UpdateConstants_Exit
   End Select
End Function

Function GetRemoteMDB() As String
   GetRemoteMDB = Mid(CurrentDb.TableDefs("tblDownTime").Connect, 11)
End Function

Signature

Duane Hookom
MS Access MVP

>I have a FE/BE database setup.  The front end could link to many different
>backend databases with similar strutctures. The applications have been
[quoted text clipped - 9 lines]
>
> Beth
Beth - 30 Jun 2006 17:40 GMT
Awesome!  That will work perfectly for my situation.  Thanks
Beth

>I use a function when the application is opened to find a value in a new
>field and trap for error 3265. If this error occurs, I use DAO code to
[quoted text clipped - 62 lines]
>>
>> Beth
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.