[Kexi] Open form and save database

Jarosław Staniek js at iidea.pl
Mon Aug 27 17:29:23 CEST 2007


Dani Valverde said the following, On 2007-08-27 16:59:

> 1) How can I open a form from another form (form2 from form1) closing
> and saving all the data of form 1 at the same time? I mean, I would like
> a push button that opens form 2 from form 1, saves the form 1 data and
> closes the form 1 at the same time.

Hello Dani,
I suppose you want to execute more actions in one go. You cannot do this for 
now. It will be possible using scripts and macros in Kexi 2.x
(am I right, Sebastian? can we execute global actions in, say, a Python script?).

For now I suggest, if your users want a well accessible button to save the 
changes, put one near the button that opens different form (configure the 
buttons' actions using assign action context menu for the button).

> 2) How can I save the database protecting it? I would like it to open
> from a main form from where you can start navigating the data base. I
> would like also the the database user con not manipulate or edit the
> tables or forms.

Use so-called User Mode, one that disables any commands related to project 
editing. Users can only enter/change their data:

http://kexi-project.org/screenshots.html#1.1.2

What you can basically do is to set up a in your desktop environment, e.g. 
under KDE you can create a shortcut icon for your users and type appropriate 
parameters after 'kexi' command.

Type kexi --help for more info about particular options.

As you can see on the screenshot, --user-mode switches the mode and since then 
the Project Navigator disappears, you may want to add another option like 
--open form:my_main_form, otherwise user will only see a blank Kexi window :)

That said, current form of User Mode is not aimed at security other than 
obscurity. User that is able to find a .kexi file (or access to the server) 
and click it by hand will imediately get acess to design mode for the database.

Possible improvement (for now) if you use dataase server (mysql, pgsql) is to 
set up aditional user accounts for your users (using database-specific 
administering tool, like MySQL Admin), set read-only permissions for 
particular "system" tables (at least kexi__objects and kexi__objectdata).
This way you can even limit write access to certain data tables.

-- 
regards / pozdrawiam, Jaroslaw Staniek
  Sponsored by OpenOffice Polska (http://www.openoffice.com.pl/en) to work on
  Kexi & KOffice: http://www.kexi.pl/en, http://www.koffice.org
  KDE3 & KDE4 Libraries for MS Windows: http://kdelibs.com, http://www.kde.org



More information about the Kexi mailing list