Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1323
  • Last Modified:

Creating a DSN-less, updatable SQL Server linked table in Access 2007

In Access 2007, I've created a DSN-less connection to a SQL Server 2008 R2 table, to create a linked table which I've dropped into an Access form. I followed this MS link:

http://support.microsoft.com/kb/892490

In VBA, I used the Form_Open event to call "AttachDSNLessTable" as outline in the KB article.

Q1: I see "Recordset is not updateable", and it won't let me edit the recordset. I'm assuming it doesn't maintain connection to the SQL table. How do I change this so I can add/edit/delete records in this linked table (and thus have them automatically propogate to the SQL table)?

Q2: From VBA, I'd like to be able to update this linked table in certain spots in a procedure. How do I do so?

I suspect these 2 questions are related. Thanks.
0
jdallen75
Asked:
jdallen75
  • 4
  • 3
1 Solution
 
Gustav BrockCIOCommented:
Q1: You probably missed to add a Timestamp field in the SQL Server table and relink it.

Q2: Like any other recordset using DAO.

/gustav
0
 
jdallen75Author Commented:
There is a timestamp field, but the records are not necessarily unique on that field (it's an "edited" field). How does that affect this?

I'm using ADO currently... How does this differ from DAO in this case?
0
 
Dale FyeCommented:
You will also need a primary key in the table in order to edit it from Access.
0
Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
jdallen75Author Commented:
Thanks, fyed. That's probably it ... I didn't create the table :-P
0
 
jdallen75Author Commented:
I found the problem: Access can't handle bigint datatypes, which is what the primary key was identified with.

That takes care of Q1.

I'm still having an issue with Q2: namely, I'd like to be able to update the linked table (the same as going through the Linked Table Manager, selecting the linked table, and updating manually), but through VBA code. I've come across dozens of blogs and nothing seems to update.

I'd like this so if Access has been open for some time, the user can click a Refresh button to ensure that what they see on screen is true to the SQL table.
0
 
Gustav BrockCIOCommented:
For that you only need to requery the recordset of the form the user is watching.

Relinking is only needed when schema changes (adding/modifying fields etc.) have taken place.

/gustav
0
 
jdallen75Author Commented:
Gustav,

Any idea what that syntax would look like? I ask because I tried a few methods, one of which used a ".RefreshLink" or ".Refresh"(?) and the table didn't update when an underlying record change had happened.
0
 
Gustav BrockCIOCommented:
It is method Requery.

Method RefreshLink is for refreshing linked tables when the connection string has changed.

/gustav
0

Featured Post

Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

  • 4
  • 3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now