I have an absurd problem when I try to copy table from one Database to another.
Say I have a database with table containing drop-down list for all its records.
Not sure if it matters, but the table is populated with data submitted by users via Excel macro. When the user submits the record, it's pushed to this Database with attributes chosen by the user from drop-down cells.
The problem:
When I copy and paste this table from source data into other database, all attributes are missing. This is how the table looks in source data. And this is how this table looks after its pasted in another database. When pasting, I choose structure and data option.
I don't even know where to begin fixing it and why it happens. What's strange, it worked just fine couple of days ago and old submits are pasted correctly.
Your database has a relationship built between the Profiles table and the Attributes table. You should be able to see this by clicking on the Relationships button in the Database Tools menu.
By the looks of it your Profiles.ID field will be related to an Attributes.ProfileID field (i.e. the Profiles.ID field is listed in all related records in the Attributes table).
Your newly copied Profiles data doesn't have any related data in the Attributes table. When you copy that data over your table should appear as expected - with the little + icon revealing the related records.
Related
I am new to MS Access and VBA coding, and what I know I had to teach myself through video tutorials and reading up on the web. I have an input Form which which gets its data from a query. The query itself gets its information from a table and another query. The reason is that the other query is what filters the data so that the current user can only see his/ her own records, and not that of others. It has been designed in such a way that if a subordinate changes from supervisor, one merely have to update the supervisor name, and all the prior data in the table for that subordinate will also then reflect for the new supervisor, and no longer the old supervisor.
The problem is that the delete button on the input Form (which was created with the button wizard) not only delete the record from the table, but also from the table used to filter the subordinates. I only want it to delete the record from the actual table used in the data source query.
How would I go about to stop it from deleting in both tables?
I have attached a snapshot of a portion of the data source query, just so that you can understand what is meant by the above. The delete button on the input Form deletes the data from the table named "TableReviewNotes" and "TableAuditorNames". It should only delete the record from "TableReviewNotes".
Thanks in advance.
So I have created 2 Linked tables based on lists that exist on a SharePoint 2007 site ( Institutions & Survey ). The 2 lists are linked through a look up field in the Survey list that reference the Name field from Institutions.
After creating the Survey table in my Access 2010 database (.accdb) I notice that the lookup field that links the 2 lists together isn't present in the table. To make matters worse, there is another field ( _EncodedAbsoluteURL ) that I had deleted before but is present in the table, but this is only visible in Design view, in the Datasheet view it's nowhere to be found..
When I look at the table in Design view, I can even see a field called Title1 that isn't shown in the Datasheet view nor can I find it on SharePoint, just like the field I mentioned before.
I have also tried to recreate this scenario with 2 simple lists that are connected in the same way but this works perfectly.
Since you can see the column in the design view it means it has been imported just it is not visible in the datasheet view. That is because these columns are hidden in access. Access hides some columns by default.
You just have to right click on the header of any field and click on unhide. You get a list of all the fields from the SharePoint list. You want to show select the fields you want to display and close it.
Now you can see the columns. Hope this solves it.
I have been able to resolve the issue using the answer posted here: https://sharepoint.stackexchange.com/questions/117707/access-linked-to-sharepoint-list-is-missing-fields/145501#145501?newreg=2c19852039b04d48b93539d39773044d
The problem was caused due to caching of data so if you clear your cache after deleting the table and then restart your DB the issue should be resolved.
I'm building a risk and issues tracker and have become stuck after some good initial progress. I'll explain my setup now.
Tables
A table containing all open projects
A table containing all open
risks and issues
Relationships
A one-to-many relationship between with project ID (Primary Key in the project table) to the risks and issues table
Queries
A query that will filter results from the projects table that have been selected in a combo box
Forms
One form containing a combobox that allows the user to select a project. There is also a text box, which will be populated based on the selected project. The text box is populated using DLookUp on the above query, and I have chosen a field to be populated from that. This all works fine.
I am able to select a project and see a little information about it using the above set up. The next step for me is to be able to add a risk or an issue.
What I would like to happen is to have a create Risk / Issue button, which will pull across the Project ID (primary key) from the selected project, and add a new record in the **risks and issues* table. I will also need to add in additional information about the risk, dates, owner etc.
Also, by having the project primary key tied to each risk, I should be able to pull in any additional info about the project that I require.
I can write more if required - I'm not really sure which information is needed. Also, the form 'sits on' my projects table which could well have been the wrong way of doing things, however I still don't know how to bring in the data from two different tables.
I appreciate any effort and patience put towards this.
From my understanding of the question it sounds like your trying to update your risks and issues table with a single form that is bound to your projects table. If you're adding a record to risk issue table with a bound form it needs to be bound to that table.
My best answer would be to start fresh with a new form created by the wizard.
Make sure you have all the fields you want in your form in the risks and issues table.
Create a form based on this table using the wizard.
Change the Project ID control to a combobox by right clicking and selecting change to, combobox.
Set the row source to take project id and project from the project table and then make sure project id is the bound field and project is the displayed field(by adjusting column widths and bound column properties).
After doing this you should have a form that updates your risk and issues table while selecting the project from your project table. If this is not what you were asking or you wanted to do it a different way let me know I'll see if I can help.
I want to be able to track any changes made to any of the fields in an existing table. The scenario is as follows:
the user opens the datasheet view for an existing table in MS Access 2007/2010
updates values in 2 fields and 5 rows (10 cells)
saves the table (overwrites it)
I want to be able to push the changes (10 changes/rows) to a new table and then be able to open it in datasheet view to refer to it. Is there a way I can do this in access without using form?
In 2010 and later you can use data macros, or what often other systems called table triggers.
You cannot in 2007.
Keep in mind that your use of the term “save table” is VERY wrong in the context here. In fact VERY wrong in the context of most databases. The user does not “save” the table.
You can ONLY edit ONE ROW at a time in a datasheet. When you move off that record then the ROW is saved (not the table). , and if you move off, then the record is saved.
In 2010 and later, you have use of table procedure code. This thus will allow one to use a table trigger.
So 2010 and later does support table triggers and store procedure code. But since your question in includes Access 2007, then my suggestion to use table triggers (called data macros) may not work unless you can restrict users to 2010 and beyond.
In the follow example, when a user updates a row, then a “audit” table is updated with the user information. The function fosusername() is in fact a VBA function. This code is called from the before change update event for the table.
Of course the problem here is the VERY basis of your question assumes that users save a table – they don’t, they edit + save “single” records, or a single row at a time. So figuring “out” how a user is done would certainly be a challenge. So while code can be run when the users edit data, having table code run “when” the user closes the table is not possible.
As the end of the day, it likely best you create a datasheet that looks just like the table, and then change a few settings to “lock down” and prevent the user from using tables directly.
As far as I know there is no solution for this without using a form. I do not know of events (like a change or dirty event) for the actual data tables.
In a form you could use the dirty property to make sure you fetch the data. You can make the form look like a datahseet with DoCmd.RunCommand acCmdDatasheetView or set the form in datasheet view on default.
I have an ancient Access application that I've recently moved the data to a SQL backend using the SQL Server Migration Assistant, and almost everything is working except for one issue.
In the application, we have a form with another form inside of it. The outside form finds specific "issues" entered into the system, and then looks for a history record(the inside form) that is associated with this issue. If a history record is present, it works perfectly, as the record shows up in the embedded form just fine. However, if there is no history record yet present in the database, the entire details sections of the embedded form blank out entirely. The properties are all set exactly the same as when it was a pure Access Database, but now that I've switched it to pull from SQL using Linked Tables, the form is now blank when I don't have a record to pull from.
EDIT: I learned that there are two conditions that when both met will cause a form's details pane to go blank: (1) there are no existing records to be displayed, and (2) it is not possible to add a new record.
This means that the second condition is where my issue lies. I tried scrolling to the bottom of each of the linked tables in Access, and for the History records table, I was not able to add any new rows, but for the Issues table, I was. Something is keeping me from being able to edit this one table for some reason.
I think the behavior you described may happen when the record source of the subform (your "inner form") is read-only. When matching rows exist, they are displayed. But, when no matching rows exist, you can't add a row so the subform's bound data controls are disabled.
Open the subform in Design View. Select the form and open its property sheet (Alt+Enter). Find the Record Source property on the Data tab of the property sheet. If the property value is a SELECT statement, copy it and past into SQL View of a new Access query then switch the query to Datasheet View. If the property is the name of a table or saved query, open that object directly in Datasheet View.
Once you have the form's record source opened in Datasheet View, are you able to add a row? If not, make sure the SQL Server user has INSERT permission for the data source. However, even with INSERT privilege, Access may have linked the data source as read-only if it was unable to identify a field or combination of fields which uniquely identify each row. If that is the case, you may need to re-link the table and tell Access which field(s) to use as the primary key.