Base link master fields

Using Linux Mint, LO version 6.4.7.2 a tiny data base works.

Using latest version 7 it does not. Under the Form Properties of a subform, the Link master fields and Link slave fields contain the correct names, but they are greyed out. This means that attempting to refresh a subform has no effect.
A Windows system using V7 also fails on the same .odb file.

Has anyone seen this before? and what might be the reason?

I did find a reference to this comment:
https://bugs.documentfoundation.org/show_bug.cgi?id=117053#c11
elsewhere in this forum, but it had no effect when the change was made.

Hello,
It may help if you could post a sample of the problem Base file without personal or confidential information in it.

Many reasons possible. But most I could see must have something to do with changing content of a form by the user.
So It could be you have changed the content of a form and pressed in Form Properties Date → Analyze SQL command → No.
The other possibility is you have used a Firebird database and there is set db:parameter-name-substitution="false" in the *.odb-file. This could be changed by the following macro:

SUB FB_Parameter
DIM oSettings AS OBJECT
oSettings = ThisComponent.DataSource.Settings
oSettings.ParameterNameSubstitution = True
END SUB

Best would be, like Ratslinger wrote: Upload the database with dummy data, not your original data.

BTLExampleJG.odb (76.2 KB)

A trivial sanitised version is uploaded herewith. Look at the Forms - Toys on loan sheets - Todays Rent - Form properties - Data - Link master/slave fields. Under version 6, the link fields show clearly and work as expected. Under version 7, the fields are greyed out, but show the right value, and the values cannot be refreshed.

When experimenting with this, note that it will not work anyway unless the session number is set to today’s date.

Works here as expected. This has been changed since LO 7.0 for better input of linebreaks.

If you want to change the content of “Link master fields” and “Link slave fields” you could edit the text by clicking on the button with arrow down. If you wan’t to change it by the dialog click on the button with 3 points […].

Oh, my apologies. I misinterpreted the symptom as a possible indication of the real problem.

The problem I was trying to indicate was that in use, that field does not get updated when we try to refresh it. Would it be better to start a new issue?

In the sample file I sent. do this:

  1. Click on Tables, and double click Session
  2. Go to the next session number greater than todays date and change the date to today. (This is a fudge for this small example). Note which session number this was.
  3. Close the Sessions table
  4. Click on Forms and double click Toys on Loan sheets
  5. Click on the next space in the Toy No column and insert a random small number
  6. Tab across to the Loaned column and insert the Session number you changed in step 2.
  7. Now click on Refresh against Today’s Rent. It should update the rent amount. But it does not.

On Version 6, (6.4.7.2) the update takes place, but for V7 (AppImage full 7.2.5.2) it does not.

I have tested all this. Don’t know what should be updated. But I don’t see any difference between LO 6.4.7.2 and LO 7.3.2.2 here (have installed many version parallel on my system).

Please give a hint (by screenshot) what should happen during an “refresh”. There is no content in “Today’s Rent” at all here. Could restart the form, trying to refresh …

I see: The field for SUM("Toys"."Rental") has been set to General → Incr./decrement value → ‘1’, but this won’t show a value less than ‘1’. Set this to ‘0’ and the value will appear and refresh will work.

Here is the screenshot of version 6 toy loan screen after hitting refresh.


You can see an amount appears in the Today’s Rent box.

For V7 this update does not appear on hitting Refresh.

Strangely, adding in info to provide an overdue charge, does allow that refresh to work, but today’s does not. Here’s the V7 screen showing that:

Did you change Control properties → General → Incr./decrement value → ‘0'?

I changed both and get “Today’s Rent” with LO 7.3.2.2 this way. Your example database without this changing doesn’t show a value here in LO 6.4.7.2 and LO 7.3.2.2.

I have just tried after changing that, but I still see no response from the Refresh on Today’s Rent. Perhaps there is something else I’ve not done. I’ll try some more and get back, ut it’ll take a day or two before I can do that.

Thanks for your help so far.

Here the version of your file, which work as expected together with LO 6.4.7.2 and LO 7.3.2.2 on OpenSUSE 15.3 64bit rpm Linux:
BTLExampleJG.odb (76.4 KB)
. LO has been downloaded directly from LO, not from a repository of OpenSUSE.

Sorry about the long delay, but something else was bothering us. We’ve tracked it down to the fact that for version 6, blanks are essential, but for version 7 they must be absent as in the two screen shots here:


This appears to be a change between these versions, meaning that the same file cannot be transferred unchanged between the two versions and different machines.

Should it be like that?

Since we now have a work around with version 7 everywhere, I’ll say this question is answered.