Home |
Search |
Today's Posts |
|
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
On 21 Feb, 10:17, "Niek Otten" wrote:
Post your code. In the meantime, follow this link for a checklist "not calculating": http://xldynamic.com/source/xld.xlFAQ0024.html -- Kind regards, Niek Otten Microsoft MVP - Excel "DAXU" wrote in ... | Hi, | | I just tried to update one cell and read that cell back directly. But | still not working. | The data I read back is still the old one. If I put a break point | between update and read and open excel and click save. Then I can read | the data I just updated. | | So so strange. | | Many Thanks | | Jerry | | On 21 Feb, 09:58, "Niek Otten" wrote: | Hi Jerry, | | I comparable situations I always set Excel to Manual calculation and issue a Calculate from the macro after writing to the work | book. Then I can read the calculated data from code immediately following the Calculate. | | I've seen some complaints here that the code might continue while calculation is still in progress. I've never experienced that | myself. Maybe in those cases calculation was set to Manual too, but I don't know. | | -- | Kind regards, | | Niek Otten | Microsoft MVP - Excel | | "DAXU" wrote in ... | | | Hello, | | | | I use ado.net to write certain cell in an excel sheet and then read | | some value back. The read value is calculated based on the written | | cell. | | I can write to the sheet without any exception thrown, but when I try | | to read it back, the value I read is the old one, not the value it | | should be (the value should be calculated based on the written value I | | provided). | | | | Strange thing is that if I put a break point between read and write, | | when my code breaks, I just open the sheet using excel (I can see the | | values have been updated) and click save in excel. Then the value I | | read will contain correct written values. | | | | So I guess it is some dirty read or dirty write thing. | | | | Can someone help me? | | | | Many Thanks | | | | | | My code to write and read excel : | | DbProviderFactory factory = | | DbProviderFactories.GetFactory("System.Data.OleDb" ); | | FinanceQuoteResponse response=null; | | using (DbConnection conn = factory.CreateConnection()) | | { | | conn.ConnectionString = this.ConnString; | | | | using (DbCommand command = conn.CreateCommand()) | | { | | //first update value | | StringBuilder sb = new StringBuilder("update | | [LP Calculator APR$] set "); | | sb.AppendFormat("{0}={1},", "G3", | | request.TotalPrice); | | sb.AppendFormat("{0}={1},", "E4", | | request.Deposit); | | sb.AppendFormat("{0}={1},", "G6", | | request.FinanceQuoteDetail.DocumentationFee); | | sb.AppendFormat("{0}={1},", "G7", | | request.FinanceQuoteDetail.Apr); | | sb.AppendFormat("{0}={1},", "G11", | | request.FinanceQuoteDetail.OptionToPurchaseFee); | | sb.AppendFormat("{0}={1}", "G12", | | request.FinanceQuoteDetail.CreditFacilityFee); | | | | | | command.CommandText = sb.ToString(); | | | | conn.Open(); | | command.ExecuteNonQuery(); | | //now calculate | | command.CommandText = "SELECT * FROM [LP | | Calculator APR$E5:E27]"; | | | | DbDataAdapter adapter = | | factory.CreateDataAdapter(); | | | | adapter.SelectCommand = command; | | | | DataSet output = new DataSet(); | | | | adapter.Fill(output); | | foreach (DataRow row in output.Tables[0].Rows) | | { | | //FinanceQuoteResponse response=new | | FinanceQuoteResponse | | } | | | | } | | | | | | | | Jerry | Hi Neik, My code is already posted. |
#2
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Sorry about that! I should have read better.
-- Kind regards, Niek Otten Microsoft MVP - Excel "DAXU" wrote in message ... | On 21 Feb, 10:17, "Niek Otten" wrote: | Post your code. | | In the meantime, follow this link for a checklist "not calculating": | | http://xldynamic.com/source/xld.xlFAQ0024.html | | -- | Kind regards, | | Niek Otten | Microsoft MVP - Excel | | "DAXU" wrote in ... | | | Hi, | | | | I just tried to update one cell and read that cell back directly. But | | still not working. | | The data I read back is still the old one. If I put a break point | | between update and read and open excel and click save. Then I can read | | the data I just updated. | | | | So so strange. | | | | Many Thanks | | | | Jerry | | | | On 21 Feb, 09:58, "Niek Otten" wrote: | | Hi Jerry, | | | | I comparable situations I always set Excel to Manual calculation and issue a Calculate from the macro after writing to the | work | | book. Then I can read the calculated data from code immediately following the Calculate. | | | | I've seen some complaints here that the code might continue while calculation is still in progress. I've never experienced | that | | myself. Maybe in those cases calculation was set to Manual too, but I don't know. | | | | -- | | Kind regards, | | | | Niek Otten | | Microsoft MVP - Excel | | | | "DAXU" wrote in ... | | | | | Hello, | | | | | | I use ado.net to write certain cell in an excel sheet and then read | | | some value back. The read value is calculated based on the written | | | cell. | | | I can write to the sheet without any exception thrown, but when I try | | | to read it back, the value I read is the old one, not the value it | | | should be (the value should be calculated based on the written value I | | | provided). | | | | | | Strange thing is that if I put a break point between read and write, | | | when my code breaks, I just open the sheet using excel (I can see the | | | values have been updated) and click save in excel. Then the value I | | | read will contain correct written values. | | | | | | So I guess it is some dirty read or dirty write thing. | | | | | | Can someone help me? | | | | | | Many Thanks | | | | | | | | | My code to write and read excel : | | | DbProviderFactory factory = | | | DbProviderFactories.GetFactory("System.Data.OleDb" ); | | | FinanceQuoteResponse response=null; | | | using (DbConnection conn = factory.CreateConnection()) | | | { | | | conn.ConnectionString = this.ConnString; | | | | | | using (DbCommand command = conn.CreateCommand()) | | | { | | | //first update value | | | StringBuilder sb = new StringBuilder("update | | | [LP Calculator APR$] set "); | | | sb.AppendFormat("{0}={1},", "G3", | | | request.TotalPrice); | | | sb.AppendFormat("{0}={1},", "E4", | | | request.Deposit); | | | sb.AppendFormat("{0}={1},", "G6", | | | request.FinanceQuoteDetail.DocumentationFee); | | | sb.AppendFormat("{0}={1},", "G7", | | | request.FinanceQuoteDetail.Apr); | | | sb.AppendFormat("{0}={1},", "G11", | | | request.FinanceQuoteDetail.OptionToPurchaseFee); | | | sb.AppendFormat("{0}={1}", "G12", | | | request.FinanceQuoteDetail.CreditFacilityFee); | | | | | | | | | command.CommandText = sb.ToString(); | | | | | | conn.Open(); | | | command.ExecuteNonQuery(); | | | //now calculate | | | command.CommandText = "SELECT * FROM [LP | | | Calculator APR$E5:E27]"; | | | | | | DbDataAdapter adapter = | | | factory.CreateDataAdapter(); | | | | | | adapter.SelectCommand = command; | | | | | | DataSet output = new DataSet(); | | | | | | adapter.Fill(output); | | | foreach (DataRow row in output.Tables[0].Rows) | | | { | | | //FinanceQuoteResponse response=new | | | FinanceQuoteResponse | | | } | | | | | | } | | | | | | | | | | | | Jerry | | | | Hi Neik, | | My code is already posted. |
#3
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
On 21 Feb, 11:19, "Niek Otten" wrote:
Sorry about that! I should have read better. -- Kind regards, Niek Otten Microsoft MVP - Excel "DAXU" wrote in ... | On 21 Feb, 10:17, "Niek Otten" wrote: | Post your code. | | In the meantime, follow this link for a checklist "not calculating": | | http://xldynamic.com/source/xld.xlFAQ0024.html | | -- | Kind regards, | | Niek Otten | Microsoft MVP - Excel | | "DAXU" wrote in ... | | | Hi, | | | | I just tried to update one cell and read that cell back directly. But | | still not working. | | The data I read back is still the old one. If I put a break point | | between update and read and open excel and click save. Then I can read | | the data I just updated. | | | | So so strange. | | | | Many Thanks | | | | Jerry | | | | On 21 Feb, 09:58, "Niek Otten" wrote: | | Hi Jerry, | | | | I comparable situations I always set Excel to Manual calculation and issue a Calculate from the macro after writing to the | work | | book. Then I can read the calculated data from code immediately following the Calculate. | | | | I've seen some complaints here that the code might continue while calculation is still in progress. I've never experienced | that | | myself. Maybe in those cases calculation was set to Manual too, but I don't know. | | | | -- | | Kind regards, | | | | Niek Otten | | Microsoft MVP - Excel | | | | "DAXU" wrote in ... | | | | | Hello, | | | | | | I use ado.net to write certain cell in an excel sheet and then read | | | some value back. The read value is calculated based on the written | | | cell. | | | I can write to the sheet without any exception thrown, but when I try | | | to read it back, the value I read is the old one, not the value it | | | should be (the value should be calculated based on the written value I | | | provided). | | | | | | Strange thing is that if I put a break point between read and write, | | | when my code breaks, I just open the sheet using excel (I can see the | | | values have been updated) and click save in excel. Then the value I | | | read will contain correct written values. | | | | | | So I guess it is some dirty read or dirty write thing. | | | | | | Can someone help me? | | | | | | Many Thanks | | | | | | | | | My code to write and read excel : | | | DbProviderFactory factory = | | | DbProviderFactories.GetFactory("System.Data.OleDb" ); | | | FinanceQuoteResponse response=null; | | | using (DbConnection conn = factory.CreateConnection()) | | | { | | | conn.ConnectionString = this.ConnString; | | | | | | using (DbCommand command = conn.CreateCommand()) | | | { | | | //first update value | | | StringBuilder sb = new StringBuilder("update | | | [LP Calculator APR$] set "); | | | sb.AppendFormat("{0}={1},", "G3", | | | request.TotalPrice); | | | sb.AppendFormat("{0}={1},", "E4", | | | request.Deposit); | | | sb.AppendFormat("{0}={1},", "G6", | | | request.FinanceQuoteDetail.DocumentationFee); | | | sb.AppendFormat("{0}={1},", "G7", | | | request.FinanceQuoteDetail.Apr); | | | sb.AppendFormat("{0}={1},", "G11", | | | request.FinanceQuoteDetail.OptionToPurchaseFee); | | | sb.AppendFormat("{0}={1}", "G12", | | | request.FinanceQuoteDetail.CreditFacilityFee); | | | | | | | | | command.CommandText = sb.ToString(); | | | | | | conn.Open(); | | | command.ExecuteNonQuery(); | | | //now calculate | | | command.CommandText = "SELECT * FROM [LP | | | Calculator APR$E5:E27]"; | | | | | | DbDataAdapter adapter = | | | factory.CreateDataAdapter(); | | | | | | adapter.SelectCommand = command; | | | | | | DataSet output = new DataSet(); | | | | | | adapter.Fill(output); | | | foreach (DataRow row in output.Tables[0].Rows) | | | { | | | //FinanceQuoteResponse response=new | | | FinanceQuoteResponse | | | } | | | | | | } | | | | | | | | | | | | Jerry | | | | Hi Neik, | | My code is already posted. Hi, Can anyone help? |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
UDF that participates in circularity always dirty | Excel Programming | |||
Determine if template file is dirty | Excel Programming | |||
Removing Dirty Data From an Imported DOS database | Excel Programming | |||
using Dirty Method | Excel Programming | |||
How to tell if a range or cell is dirty | Excel Programming |