I have an ms database that uses a tsql backend - in this subform it creates a row in the table no problem but I can't add any text to the text field in the form- Access displays 'Recordset not updateable'. I can manually change data in the linked table and I can also delete rows, but once in the form I can not delete as it is saying the database is 'read only' ? Any help is much appreciated.
Under design view, look at the forms 'data' properties, make sure the 'allow additions/edits' say yes.
The error was down to a primary key not having been deleted on a linked table.
Related
I have one already existing Talend Open Studio tMySQLInput component with some sql code inside it, in order to retrieve some joined columns linked to a tMySQLOuput component (pointing to an already existing MySQL table) with few records.
QUESTION:
Will the "tMySQLInput" component overwrite the already existing table data that the tMySQLOutput component relates to? I mean is there an option to check in the tMySQLInput our output in order to say, overwrite each time this job is executed ?
Thank you all.
Yes, there is an option where in tMySQLOutput where you can specify what action you want to do to your table. Follow following steps:
Go to component tab of tMySQLOutput, it will open the basic settings of this component.
If you will look closer you will find Action on table. This is the action which you can perform on the table which is pointed by tMySQLOutput. It has options as Default, Drop and Create Table etc.
Then you have Action on data. These are the options which you can perform on the data like Insert, Update etc.
In your case I suppose you can choose Action on Table as Default and Action on Data as Insert. Default action would not do anything on the table and Insert option would insert the records at the end of table. But in case of Insert if you will have duplicate rows then job would stop the moment it will find any duplicate row.
i'm using Crystal Reports with my ERP-System. There have been predefined reports i now want to change.
In the field-explorer are some tables which have been renamed for better readability. But those tables are missing some fields, i want to use. If i connect the whole table again, all fields are there. Is there a way to display all fields in the predefined tables.
I tried to refresh the Database but nothing changes. If i delete the predefined table and then rename the new one to the old one, so i can use all predefinded formulas, all used fields in the report get deleted. I would need to recreate the whole report then.
Thanks for the help
If it is truly the same table and is not showing all the fields then you need to do "Database > Verify Database". That will force CR to refresh the structure of the table (instead of just the data). If this doesn't add the missing fields then the table in the report is actually a different object.
To see what the table/view the report is actually using go to "Database > Set DataSource Location" and look at the properties node for that table. It will show if it is a table/view/SP and what the true object name is.
If you want to replace the existing table with a different table you go to "Database > Set DataSource Location" again. Highlight the existing table in the top window, connect and highlight the replacement table in the bottom window. Then click update. Crystal will replace one table with the other and all of the fields in the report that exist in the new table will be mapped automatically. Note that the new table will keep the alias of the original table. If you are unsure if the table was updated you can look at the properties node in the top window to see the change.
I want to have an unbound datasheet control in ms access forms or any other alternative tabular data showing control, where I can add rows dynamically and save it to database on form submission not on each next row.
I tried bound datasheet but it saves records as new rows is created, is there some property or method which prevent record saving automatically.
or any other alternative.
below is snap (red portion is not created, I want like this).
actually I want to save order
which has child table order_details
for order details I want this control
No, the records have to exist somewhere.
Use a temp table where you create 10 or so empty records before opening the form, and delete all records when you close the form.
I have a form and it's record source is a table. I created the form separately and added the control sources to the different fields in the form and also changed it's record source. I imported values from an excel sheet into the table and when I open the form, I do not see the tabe values being displayed in the form. Any idea what I should do to see the table records in the form?
In form design mode, check the form's DataEntry property. It sounds like yours is set to Yes, which hides existing records and only allows new entries. Change it to No and you will see the existing records.
Another possibility is that a filter is active and no records match that filter.
Use a form wizard to generate a working form based on your table. Then once you can see the data being displayed in the form, customise as needed.
I have a form, that holds a subform which displays data from a simple query based on the content in a input field.
I have set the properties of both forms to the following, but I still experience the "Recordset is not updatable" message.
Recordset type: Dynaset
Allow Additions: Yes
Allow Deletions: Yes
Allow Edits: Yes
Allow Filters: Yes
Record Locks: No Locks
What to change?
Perhaps one of the tables or queries that your query links to do not have Primary Keys.
OR (and this was the problem I had)
In the Query Builder, make sure the Group By row is not enabled. When you disable this then the query will become editable.
Group By Enabled
Right-click on the row and disbable Totals
Group By disabled
This page has some good info for troubleshooting.
Make Text0 unbound (remove Navn as the Control source). You have what amounts to a circular reference.
You're telling the form not to show any data except what is limited by the query, but you're having the query not show any data except what is in your form.
I ran into this issue and it was due to relationships between the tables. I had a few set as Indeterminate and believe this was causing the issue. Once I modified my table relationships so that all were One-to-Many, I was able to edit fields in the query/form.
-Note that to have a one-to-many relationship, one field in the relationship must be a key or set to Unique.
I encountered this error with a Access 2016 form created with the form wizard.
It set some variables like Data Entry to No.
But what locked the form from edits was the filter and sort.
I had to tell both the filter and sort 'No'
When I reopened the form nothing was showing.
I filtered on something then cleared filters.
Now the form is working.
In my case I made a table where I joined the possible combination mixes from various other tables with a number of corresponding many-to-one relations. In the subsequent query using just this one combination table it became unupdateable if I checked the "Unique Values" in the query's property sheet. It works ok checking the "Unique Records".
The downside is that when filtering on one of the combination fields in the query I now get all those lines (records) from the combination table where this particular field has got the filter value. I wouldn't get that if I checked the "Unique Values".
I guess the solution is to make two separate queries: one unupdateable for just querying and then a copy query (except for unchecking "Unique Values" when updating is required).
At least you get your relationships right.
corrupted tables can sometimes lose their primary keys and that could be the cause of "Recordset is not updatable" message.
I found the same issue with a recordset not updatable but it seemed intermittent. The subform recordset was updatable, then it was not. When it was not updatable, I had to go back to an early copy of the database. In the earlier copy, the recordset was updatable. What I found was that if I sorted the subform data and closed the form, access saved the "Order by" clause in the subform properties - I never ran any command to save the subform. With this "Order by" set, the subform recordset was not updatable. The Fix: I added an initialize routine to all subforms to remove the order by, before the main form is opened. Wala! Recordset of subform is now updatable every time.
Above Allow Additions: Yes you should have something like
Allow datainput. Make sure this field is set to false. If you read the status bar comment when you have this field selected you will understand why your table suddenly became unediteable from your formular :)