Report ignores the spaces that I use to "Indent."

I am using LibreOffice version 7.5 with FireBird on Windows 10 desktop.
_
I have a very long text field for which the “Text Type” property is set for “Multi-Line.” This text field contains many list items that should be indented. However, I did not see a way to Indent text. So, I just entered 5 spaces in front of each text item to manually move the text to the right.
_
Although the spaces look fine on my Form, when I PRINT the Report, Base ignores the spaces and the text items are not indented.
_
Is there a way to make the Base Report function recognize an Indent or spaces?

Seem it is deleting CHAR(32) at the start. You could add CHAR(8196) or something like this. Have a look at Wikipedia.
So you could create, in a query, something like this:
SELECT CHAR(8196)||"Field" AS "Field" FROM "Table"
This will add one space. You could write as much CHAR(8196)|| as you want.

If you already have the spaces in your fields/query you may follow @RobertG and use CHAR(8196), but replace CHAR(32) with with CHAR(8196) by string-function.
.
On the other hand: The report-builder will (usually?) create a table with indents…

Thank you! If I go back and edit the text to substitute CHAR(8196) for CHAR(32), the Report prints just fine.

That’s a lot of substitutions, however, for a database that has thousands of records. I looked at the “Edit and Replace” function, but didn’t see any way to find and replace CHAR(32) with CHAR(8196).

@Wanderer
Report-Builder? You mean the one that’s already built into Base/Firebird… or is there another one?

Yes. It is basically a 3rd party software. In old versions of LibreOffice (and still in OpenOffice) it used to be distributed as an add-on.

You can do this directly in the SQL-query via replace (see reference at Firebird):
https://firebirdsql.org/refdocs/langrefupd25-intfunc-replace.html

If I use Roberts example above I’d use:

SELECT REPLACE("Field", CHAR(32), CHAR(8196)) AS "Field" FROM "Table"

Thank you, @RobertG and @Wanderer.
I modified your command, and copied and pasted it into the Tools > SQL command window as follows:
SELECT REPLACE("fldProcedure", CHAR(32), CHAR(8196)) AS "fldProcedure" FROM "tblRecipes"
_
But I got an error message:
1: firebird_sdbc error:
*Dynamic SQL Error
*SQL error code = -104
*Token unknown - line 1, column 33
*CHAR
caused by
‘isc_dsql_prepare’
_
Do you see my error?
_
I also looked at the link you included for Firebird that discussed the REPLACE command, but I didn’t see a way to specify the table and field to search in (fldProcedure in tblRecipes). Does it search and replace in all fields in all tables?

Firebird uses ASCII_CHAR instead of CHAR.

Replace will change all fields in the table “tblRecipies” with this command:

SELECT REPLACE("fldProcedure", ASCII_CHAR(32), ASCII_CHAR(8196)) AS "fldProcedure" FROM "tblRecipes"

Tried this in Firebird. ASCII_CHAR won’t accept values greater than 255. So it doesn’t work. So the only solution I found: Open Writer. Choose special characters U+2007 (for example). Insert in Writer. Copy this to Base. Insert it between two ''.

1 Like

This is not an “active” search and replace. It modifies the named Input, in this example column “Field” (as you didn’t tell the name of your columns, we use a generic invented name).
.
My command would not change your database, but can be used “on the fly” to modify the output of your query. So don’t use Tools->SQL, but modify a query in SQL-View.
.
It is possible to do this conversion permanently using UPDATE Table, but think twice, before doing this (and keep a backup of current data…)

THANK YOU, @Wanderer , for the helpful information. Every piece of the puzzle helps.