Select Categories Below
Status: Closed Points: 75 Time: 06:05 - May 29, 2007
dustPuppy
I need to update a database (access, jet sql) automatically and in that process i need to check first if a table contains a specific field, before I add that field to the table. What is the syntax to do that?
Categories:
Add Categories
When adding more than one category, separate them with commas.
Advertisement
PeterNZ
Date:: May 30, 2007
Time:: 00:09
Try CurrentDB.TableDefs("Table").Fields("Field").Name this will return the field name if the column exists. Otherwise it will throw an error. Cheers Peter
nidhi
Time:: 05:31
There is nothing u can do in SQL, it has to be done via VBA. quick way is as Peter suggests. But if u trap for errors then u need to make sure u get the right error number. eg On Error Resume Next Debug.Print CurrentDb.TableDefs("MyTbl").Fields("MyField").Name If Err.Number = 0 Then Debug.Print "Field Exists" ElseIf Err.Number = 3265 Then Debug.Print "Field Does Not Exist" Else Debug.Print Err.Number, Err.Description End If The other way if u dont want to catch certain errors is to loop thru the field collection in the table then add it that way. U can add fields in vba as well, just in case u didnt want to bother with sql eg 'This bit loops thru field collection and sets a flag Dim db As DAO.Database Dim tbl As DAO.TableDef Dim i As Integer Dim bFound As Boolean bFound = False Set db = CurrentDb Set tbl = db.TableDefs("MyTbl") For i = 0 To tbl.Fields.Count - 1 'I do a lowercase comparison just in case If LCase$(tbl.Fields(i).Name) = LCase$("MyField") Then bFound = True Next i Debug.Print "Found", bFound 'This bit adds that field. In this case, I am adding it as text size 20 Dim fld As DAO.Field If bFound = False Then Set fld = tbl.CreateField("MyField", DB_TEXT, 20) tbl.Fields.Append fld End If
Date:: Jun 04, 2007
Time:: 01:29
thanks guys. I read that in the case of SQL Server it is actually possible, if you query the sys-tables. Anyway that option doesn't work in the access-case, so I guess I'll have to do it by code as you suggested.
smuenchaisit
Date:: Nov 28, 2007
Time:: 03:19
what is CurrentDb ? i dont know how to declear this.
Question Answered
This question has been closed, and points have been rewarded to the following experts:
You're welcome however to comment or give additional information or if you wish, you have the ability to write an Answer Summary for the Summary Area.
Answer this Question
New User
Email:
Upon submission of this form, you will automatically be registered as a Quomon user and we will send your login information to this address
Registered User
Username:
Password:
Forgot Your Password?
Enter your email address below and we will resend your login information to you.
Login Information Sent
Questions
How do I vary the height of a frame depending on t...
Dynamically I created ASP.NET user control using A...
I want to delete a cookie of a different domain fr...
hover gallery.
How long does Google and MSN store emails that can...
Does the United States Government have a CIO posit...
You have 100 characters to use
Rank
Expert
Points
1.
315
2.
160
3.
125
Register today to share your knowledge with the community and be recognized and rewarded for your contributions.
Register Here
"Psst, Quomon is a great site. Pass it on." Tell a Friend | Link To Us | Save to Delicious | Digg it
Language Options
English:
Español:
Sponsors
Questions and Answers Software Real Estate Postcards Marketing Fulfillment