sql - Access forms - edit record from query with join on linked table -
my setup using access 2000 linked tables sql 2008 server.
i have created form displays data single linked table joins 1 field view in database (see sql below). relationship between table , view 1:1, why should not cause problem. however, experience cannot update records in recordset via form. error message "recordset cannot updated" when attempting write in 1 of fields.
according http://rogersaccessblog.blogspot.dk/2009/11/this-recordset-is-not-updateable-why.html there lot of problems regarding this, fulfill rules not having recordset not being updateable.
i have seen work same setup, puzzled why locks recordset now.
this sql query:
select dbo_balance.*, [dbo_amount_summary_all_specifications].[sum_amount] specification dbo_amount_summary_all_specifications right join dbo_balance on ([dbo_amount_summary_all_specifications].[version]=[dbo_balance].[version]) , ([dbo_amount_summary_all_specifications].[year]=[dbo_balance].[year]) , ([dbo_amount_summary_all_specifications].[period]=[dbo_balance].[period]) , ([dbo_amount_summary_all_specifications].[kardex]=[dbo_balance].[kardex]) , ([dbo_amount_summary_all_specifications].[account]=[dbo_balance].[account]) [dbo_balance].[balance]<>0;
thank in advance!
update 2014-03-12
my source data in sql database:
create view [dbo].[vw_overview_balance] select top (100) percent dbo.balance.id, dbo.balance.year, dbo.balance.period, dbo.balance.version, dbo.balance.kardex, dbo.balance.account, dbo.balance.kardex_name, dbo.balance.kardex_code, dbo.balance.kardex_hierarki, dbo.balance.coop_franchise, dbo.balance.chain, dbo.balance.chain_name, dbo.balance.responsible, dbo.balance.balance, dbo.balance.comment, dbo.balance.bank_account, dbo.balance.approver, dbo.balance.timestamp, dbo.vw_specifications_bank.sum_amount_bank, dbo.vw_specifications_system.sum_amount_system,dbo.vw_specifications_erp.sum_amount_erp, dbo.vw_specifications_user.sum_amount_user, dbo.sum_total_balance.tot_balance, - isnull(dbo.balance.bank_account, 0) - isnull(dbo.vw_specifications_erp.sum_amount_erp, 0) + isnull(dbo.vw_specifications_bank.sum_amount_bank, 0) - isnull(dbo.vw_specifications_system.sum_amount_system, 0) - isnull(dbo.vw_specifications_user.sum_amount_user, 0) specification, dbo.sum_total_balance.tot_balance - isnull(dbo.balance.bank_account, 0) - isnull(dbo.vw_specifications_erp.sum_amount_erp, 0) + isnull(dbo.vw_specifications_bank.sum_amount_bank, 0) - isnull(dbo.vw_specifications_system.sum_amount_system, 0) - isnull(dbo.vw_specifications_user.sum_amount_user, 0) difference, dbo.account.account_name dbo.balance left outer join dbo.account on dbo.balance.account = dbo.account.account_no left outer join dbo.sum_total_balance on dbo.balance.id = dbo.sum_total_balance.id left outer join dbo.vw_specifications_bank on dbo.vw_specifications_bank.balance_id = dbo.balance.id left outer join dbo.vw_specifications_erp on dbo.vw_specifications_erp.balance_id = dbo.balance.id left outer join dbo.vw_specifications_system on dbo.vw_specifications_system.balance_id = dbo.balance.id left outer join dbo.vw_specifications_user on dbo.vw_specifications_user.balance_id = dbo.balance.id (dbo.balance.kardex_code <> 3) , (dbo.balance.kardex_code <> 13) , (dbo.sum_total_balance.tot_balance <> 0) , (dbo.balance.account in (select account_no dbo.account account_1))
the query in access database has been reduced to:
select dbo_vw_overview_balance.kardex, dbo_vw_overview_balance.account, dbo_vw_overview_balance.kardex_name, dbo_vw_overview_balance.kardex_hierarki, dbo_vw_overview_balance.coop_franchise, dbo_vw_overview_balance.chain_name, dbo_vw_overview_balance.responsible, dbo_vw_overview_balance.comment, dbo_vw_overview_balance.approver, dbo_vw_overview_balance.tot_balance, dbo_vw_overview_balance.specification, dbo_vw_overview_balance.difference, dbo_vw_overview_balance.year, dbo_vw_overview_balance.period, dbo_vw_overview_balance.version, dbo_vw_overview_balance.account_name dbo_vw_overview_balance order dbo_vw_overview_balance.kardex, dbo_vw_overview_balance.account;
with support.microsoft.com/kb/304179 figured solution: though had primary keys on sql database, had not configured in linked table in access well. updating linked table , manually assigning primary key, can update recordset through both query , form!
Comments
Post a Comment