Icon View Thread

The following is the text of the current message along with any replies.
Messages 1 to 10 of 10 total
Thread DBLookup Combo not updating field
Mon, Jan 14 2013 6:13 PMPermanent Link

Richard Harding

Wise Nutrition Coaching

I have updated EDB from 2.9.1 to 2.11.3.

I am using Woll2Woll Infopower for DB Access.

ALL DB Lookup Combo controls in EVERY EDB Delphi program no longer updates the control's text until the row is posted.

For example, a Status field has 'Complete' as the text.  Use the drop down list to change it to 'Cancelled' and the field remains at 'Complete' until the row is posted.  It is then updated to 'Cancelled'.

There are no triggers on the database columns and no delphi events associated with the tables.

These are programs that have been running for years - quietly without any fuss - diligently updating the lookup field when the drop down list is closed.

Wrote a small test program using both Standard Delphi controls and the Woll2Woll controls.  Both WORKED OK..

I have run out of ideas.  Can someone offer me any insights???

Richard Harding
Tue, Jan 15 2013 5:19 AMPermanent Link

Roy Lambert

NLH Associates

Team Elevate Team Elevate

Richard


>ALL DB Lookup Combo controls in EVERY EDB Delphi program no longer updates the control's text until the row is posted.
>
>Wrote a small test program using both Standard Delphi controls and the Woll2Woll controls. Both WORKED OK..

These two statements unfortunately contradict each other. If things work OK in your test program there must be a difference between that and your real apps.

I would try two things:

1. Compare the properties of the controls (including the EDB controls) in your test program to the real app (use the dfm its easier)

2. Swop one of the Woll2Woll controls for a standard Delphi control

If neither of those give you a clue I'm a bit lost what to suggest.

Somewhere at the back of my mind is a thought that something similar was posted not to long back. Unfortunately that's as much as meory tells me but it might be worth trawling through the ngs for the past month or two just to see.

Roy Lambert [Team Elevate]
Tue, Jan 15 2013 11:37 AMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Richard,

<< I have updated EDB from 2.9.1 to 2.11.3.

I am using Woll2Woll Infopower for DB Access.

ALL DB Lookup Combo controls in EVERY EDB Delphi program no longer updates
the control's text until the row is posted. >>

EDB doesn't really control this aspect of things (it's handled at the
TDataSet/TDataSource level), so my guess is that something else changed in
your application.

Tim Young
Elevate Software
www.elevatesoft.com
Fri, Jan 18 2013 12:00 AMPermanent Link

Richard Harding

Wise Nutrition Coaching

Thank you Roy & Tim,

<<EDB doesn't really control this aspect of things (it's handled at the TDataSet/TDataSource level), so my guess is that something else changed in your application.>>

I have compared backup version of the source with the the current source.  Nothing has changed.  And it is not in just one application, it has occurred to all my applications using wwDBLookupCombo.

I have added code in the OnCloseUp of the wwDBLookupCombo control to update the wwDBLookupCombo's text.  It is tedious but it works.  It would be nice to find out what is going on but it is is something that will probably remain a mystery.

I have looked on the ng and have not found anything.

Richard . . .
Fri, Jan 18 2013 5:00 AMPermanent Link

Roy Lambert

NLH Associates

Team Elevate Team Elevate

Richard


>I have compared backup version of the source with the the current source. Nothing has changed. And it is not in just one application, it has occurred to all my applications using wwDBLookupCombo.

Did you try comparing with the test app that things work in?

Another idea just occurred to me. Infrequently I've had a problem that's been solved by deleting a component from a form, dropping a new one in and hooking it up. Why it works I have no idea but it does sometimes. Also blow away all the dcus and do a full rebuild.

Another thought - what happens if you revert to the older version of ElevateDB - does the problem go away?

Roy Lambert [Team Elevate]
Fri, Jan 18 2013 7:45 AMPermanent Link

Jose Eduardo Helminsky

HPro Informatica

Richard

I have solved this behavior with a very simple fix in DBCTRLS.PAS code
You can compile this unit and replace the one that come with Delphi
instalattion of just copy this unit in your application folder.

procedure TDBComboBox.Click;
begin
 FDataLink.Edit;
 inherited Click;
 UpdateData(self);             <----- Add this line
 FDataLink.Modified;
end;

Eduardo

Sun, Jan 20 2013 4:04 PMPermanent Link

Richard Harding

Wise Nutrition Coaching

<<Did you try comparing with the test app that things work in?>>

Yes, I did and the DBLookupCombo component and the associated dataset components were the same in both apps.

<<Another idea just occurred to me. Infrequently I've had a problem that's been solved by deleting a component from a form, dropping a new one in and hooking it up. Why it works I have no idea but it does sometimes. Also blow away all the dcus and do a full rebuild.>>

I did try delete the component and replaced it and obtained the same result.  I did NOT try deleting all the dcus.  Thank you - it is something useful to remember.

<<Another thought - what happens if you revert to the older version of ElevateDB - does the problem go away?>>
I have a third party control that uses EDB and it is somewhat tedious to install new versions or rollback to a previous version.  So I did think about it but not for long.

Thanks Roy, for your suggestions.

Richard . . .
Sun, Jan 20 2013 4:09 PMPermanent Link

Richard Harding

Wise Nutrition Coaching

Thank you Eduardo.  A very useful bit of information.

Richard
Sun, Jan 20 2013 5:48 PMPermanent Link

Richard Harding

Wise Nutrition Coaching

Hi Roy,

I said it "was somewhat tedious to install new versions or rollback to a previous version."

It can be much worse than being "tedious".  It can take me sometime to get get everything back together after I install a new version or rollback to a previous version of EDB because of the third-party control that uses an EDB.

Eduardo's tip or adding code to the OnCloseUp event of the control "solves" the problem.  The thought of rolling back to the previous version is too daunting after getting the new version working.

Richard . . .
Mon, Jan 21 2013 5:21 AMPermanent Link

Roy Lambert

NLH Associates

Team Elevate Team Elevate

Richard

>I said it "was somewhat tedious to install new versions or rollback to a previous version."
>
>It can be much worse than being "tedious". It can take me sometime to get get everything back together after I install a new version or rollback to a previous version of EDB because of the third-party control that uses an EDB.

I know this one very well FrownHopefully Tim's new naming convention will make it MUCH easier.

Roy Lambert
Image