Solved

Cannot edit tables in MS SQL Server 2005 database

Posted on 2009-04-04
7
494 Views
Last Modified: 2012-05-06
Problem: I have created three database tables that will not let me edit them.

Details:
Here's what I did:

1. In MS Access 2003, I created a database with three tables:

tbl_BusinessSupporters
tbl_BusinessSupportersCategories
tbl_Biz_Support_Has_Cat

The three tables are related, as shown in the diagram below.

2. Next, I used the "Microsoft SQL Server Migration Assistant for Access" to export the database from MS Access 2003 (on my local computer) to MS SQL Server 2005 (on my database server). That went well.

3. The "Microsoft SQL Server Migration Assistant for Access" application prompted me to "Link" the MS Access tables to the tables in MS SQL Server 2005. This means that when I update the tables in MS Access on my local computer, then the tables in MS SQL Server get updated too -- because the tables displayed in the local MS Access application are, in fact, the actual tables on the MS SQL Server. (This is my understanding, anyway. Correct me if I am mistaken?)

The problem is, I cannot edit any of the three tables in either the local MS Access application, or in the MS SQL Server.

* I cannot add any more records to table "tbl_Biz_Support_Has_Cat" -- in MS Access the AutoNumber is deactivated.

* Or, in MS Access, if I go into tbl_BusinessSupporters and attempt to delete a record, I get this error: "ODBC Call Failed. The DELETE statement conflicted with the Reference Constraint. The conflict occurred in database ascassociation, table dbo.tbl_Biz_Support_Has_Cat, column BusinessID. The statement has been terminated. (#3621)"

I would like to be able to edit these database tables in MS Access on my local computer, save the edits, and (since the tables are linked to the MS SQL Server) have the edits appear in the MS SQL Server (hence on the live web site).

What am I doing wrong?

Thank you for any advice!

Eric

The SELECT statement that I use in my ColdFusion application:
 
SELECT *
FROM tbl_BusinessSupporters bs, tbl_BusinessSupportersCategories bsc, tbl_Biz_Support_Has_Cat bshc
WHERE bs.BusinessID = bshc.BusinessID
AND bsc.BusinessCategoryID = bshc.BusinessCategoryID
AND bsc.BusinessCategoryID = 2
ORDER BY BusinessTitle ASC

Open in new window

three-tables.gif
0
Comment
Question by:Eric Bourland
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 2
  • 2
7 Comments
 
LVL 79

Assisted Solution

by:arnold
arnold earned 100 total points
ID: 24069959
I suspect the fact that the SQL table relies on the linked Access DB, neither can be altered. There is no mechanism that will be able to interpret your addition of a column or deletion of one in terms of the link on the SQL server.
One option is unlink the database on SQL 2005.  Make the changes and relink.
The other option import the Access DB into the SQL as an object rather than as a linked object.  Then when you need to alter the database, you can do it through SSMS on the SQL server.
0
 
LVL 3

Author Comment

by:Eric Bourland
ID: 24069978
arnold, thank you for the response. I was thinking along those same lines -- I cannot alter the database b/c the MS SQL table is linked to my MS Access application.

But, if that is the case, then what is the purpose of linking? It seems like the only purpose of linking tables is to make them uneditable -- which I will guess is not intended to be the case.

I'm continuing to investigate. I'll get back to you soon.

Eric
0
 
LVL 79

Expert Comment

by:arnold
ID: 24070022
SQL is a client/server platform.  Access DB is not by default.  The access developer needs to build the client/server functionality into the access front end.
0
The Orion Papers

Are you interested in becoming an AWS Certified Solutions Architect?

Discover a new interactive way of training for the exam.

 
LVL 11

Accepted Solution

by:
mildurait earned 400 total points
ID: 24070440
The updates are failing because tbl_BusinessSupportersCategories and tbl_Biz_Support_Has_Cat do not have Identity columns.
Try the columns in SQL Server (Data Type Int, Identity Yes) and then relink the tables to access.


0
 
LVL 11

Expert Comment

by:mildurait
ID: 24070444
..Try adding the columns in SQL Server...
0
 
LVL 3

Author Comment

by:Eric Bourland
ID: 24070932
mildurait, thank for your note. I made this observation too: tbl_BusinessSupportersCategories and tbl_Biz_Support_Has_Cat do not have Identity columns. But I tried to add identity columns in SSMS ... I was not allowed to do so.

I think I need to unlink the tables, then try to add identity columns. I will try this and get back to you tomorrow. Thanks for your help.

Eric
0
 
LVL 3

Author Closing Comment

by:Eric Bourland
ID: 31566688
Thanks for your help. Here is how I fixed it: In MS Access I unlinked the tables. I also removed all of the relationships between the tables (again, in MS Access). Then I added the relationships again -- but did not enforce referential integrity. Also, I deleted the tables from the MS SQL Server, and ran the "Microsoft SQL Server Migration Assistant for Access" application again. At first I did not link the tables, to see if I could edit the tables in MS SQL Server. I could. Then I linked the tables -- and now I can still edit them. Yahoo.

Thanks again, friends. Enjoy the rest of the weeked.

Eric
0

Featured Post

Get 15 Days FREE Full-Featured Trial

Benefit from a mission critical IT monitoring with Monitis Premium or get it FREE for your entry level monitoring needs.
-Over 200,000 users
-More than 300,000 websites monitored
-Used in 197 countries
-Recommended by 98% of users

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

You need to know the location of the Office templates folder, so that when you create new templates, they are saved to that location, and thus are available for selection when creating new documents.  The steps to find the Templates folder path are …
Microsoft Access is a place to store data within tables and represent this stored data using multiple database objects such as in form of macros, forms, reports, etc. After a MS Access database is created there is need to improve the performance and…
Add bar graphs to Access queries using Unicode block characters. Graphs appear on every record in the color you want. Give life to numbers. Hopes this gives you ideas on visualizing your data in new ways ~ Create a calculated field in a query: …
Do you want to know how to make a graph with Microsoft Access? First, create a query with the data for the chart. Then make a blank form and add a chart control. This video also shows how to change what data is displayed on the graph as well as form…

635 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question