Index on Sharepoint Linked table - ms-access

I am using MS Access 2010 and I already have sharepoint linked table created in the database.
I wanted to know how i can create indexes on this linked table. When i am going to design view of linked table and clicking on indexes cloumn getting message like this property can not be modified in linked table.
I am actually trying to run one query on top of linked table and its taking very time to return resutls when doing Analyze performance then getting message of creating indexes on few fields of linked table.

You can most certainly create and set the indexes from Access with a linked table to SharePoint.
The way you do this is bring up the linked table in table view (not design view). Then in the ribbon you click on the index button. Here is a screen shot:
You can also of course if you want bring up the table on the SharePoint site and also add the index that way.
Note that you can also use this layout mode to add new columns to the SharePoint tables from Access.

You can not create indexes on linked tables in MS Access. You will need to either create new indexes in sharepoint or import the data from your linked table and create an index on that.

Related

Access query runs on table that does not exist in database

I would like to recreate a few existing Access queries in a new database so that I can tweak them a bit. The problem I am running into is that some of the tables being queried do not seem to exist in the current database. These tables all end with a 1.
For example, INV_MTL_ITEM_LOCATIONS is an imported table in the database, but
INV_MTL_ITEM_LOCATIONS_1 is being queried even though it does not show up in the tables panel on the left.
Is this some type of duplication functionality that I am not aware of? The query runs without any errors.
No, the query runs on an aliased table. It's actually just querying INV_MTL_ITEM_LOCATIONS
Using SQL, you can create an alias for a table. This is especially useful when querying the same table twice in one query, but also commonly used to shorten queries.
Your query will probably look something like this:
SELECT something
FROM INV_MTL_ITEM_LOCATIONS AS INV_MTL_ITEM_LOCATIONS_1
Access automatically creates these aliases when using the query builder and if you add the same table more than once. When removing the non-aliased table, the other one stays aliased.
This is entirely normal, and as far as I know, never a problem.
Erik's answer explains it perfectly.
But to be exhaustive, you CAN actually create a query on a table that is NOT in the current database (nor a linked table).
Here is an example:
SELECT *
FROM History IN 'c:\test\mySecretBackend.accdb'
You can also create that in design view, just by
setting the query's Source Database property to c:\test\mySecretBackend.accdb
click on Show table

Refresh Data in Access 2016 from Read-Only MySQL ODBC`

I am attempting to "sync" data from a read-only ODBC MySQL server to Access 2016. I need to move the data into Access so that I can more easily manipulate and create better customized reports.
I have linked the data tables between Access and MySQL, however I cannot get the data in these tables to automatically refresh. I must go into Access and hit "Refresh All".
What I'm looking to do is update all of my open tables in Access once nightly so that each morning the data used to build these reports is new. Currently if I leave these tables all evening, when I get in the next morning I must hit "Refresh-All" for Access to go retrieve the most recent data.
Any ideas?
The data in linked tables is automatically refreshed by access when you attempt to read them. You can do that by displaying a datasheet view of the database, or by a form where the linked table is the data source. Beware, we have had problems which tables with lots of records being the source for drop down lists, having the database locked.
Access only does this properly (and at speed) if either the underlying table has a unique clustered index, or after having linked the tables you create an index in access.
If you want to create a copy that you can manipulate (such as write to) and the underlying tables are read only, then you will have to create matching unlinked tables and execute some form of copy sql and appropriate points in your application.

Microsoft Access: create subdatasheet with SQL command?

Microsoft Access supports "subdatasheets"
Is it possible to create this type of table from a SQL command? Or does one have to manually point and click to do it.
SQL commands can run scripts/manipulate data and organize it. It's a declarative language. What you're referring to is part of Access' UI features/capabilities.
Your subdatasheet link shows an Orders table with a 1:M relationship to an Order Details table. One Order record with many details about that Order.
The reference you linked shows you how to set this up; it doesn't take any SQL or even VBA to do this. This is a way to view data and it's correlated data from another table in a Datasheet view.

Link Access Database with Mysql Server and Use Access as Frontend [Table Issue]

I was working on an Access Application that has already an access database (tables, queries etc ) and a front end. I was trying to link access existing database tables with mysql. So, what I have done so far is, I have successfully linked the access tables with mysql using ODBC. My understanding regarding linking access table with mysql db was that, by doing so, I would have the same 'old' access table linked with mysql, but I was wrong. Instead after linking I got a new table (fields same as old) that has links with mysql database.
http://i.imgur.com/mfSF5hR.png [See this link showing old 'access' and new 'linked' table]
For instance, I had an 'Actor' table in access db (before linking) and after it I have 2 tables. One is the old access 'Actor' table and other is the new linked table named 'Actor1'. So, if I do changes in my old access table, the table in mysql doesn't get change but when I do changes in my new linked table i.e 'Actor1' changes happen in mysql table too.
Here the problem is my front end form/queries are using my access table the old one, so is there any way to use new 'linked' table without changing in the front end ?
Thanks in advance.
You just need to rename your Linked MySQL table (rename the link in Access only) so that it matches perfectly the name you were using for that same table before in Access. This way you won't have to change your forms, queries, reports.
There is no magic that happens in Access between local tables and linked tables. It's still up to you to move your data, make sure the MySQL table is designed the way you want it, maintain the links, delete old Access tables, etc.

Manipulating linked tables in Access

A process that I am running needs to be able to delete a table and then re-create it with new data. I've recently moved it into a different database that houses all the processes for a particular division in one place. I've been required to have all the tables from the original database set up as linked tables in the new one. Now when it is run, the process deletes the linked table reference and creates a new (un-linked) table inside the new database. I know that I can delete the table through the link, but would I then be able to re-create the table and then re-link it to the new database automatically?
There are a number of ways of linking tables, but you seem to be working purely with MS Access, so
DoCmd.TransferDatabase includes Link as one of the options.