sc_select_where macro doe not work in Forms

Hi,

I’ve seen several examples using sc_select_where to to dynamically change the where clause.

Some code to put in OnScriptInit event.

I tried to use on a form, and it does not work.

Researching the code genereted (form_XXX_apl.php), the where clause is set in $nm_where_dinamico, but never used.

Is it really a bug?

Hallo Makoto,
ich habe leider keine Antwort, da ich selber nach einer Lösung suche.
Das Macro ist für Formulare nicht angelegt, deshalb funktioniert es nicht. Die globale Variable wird nicht erkannt.
Hast Du in der Zwischenzeit eine Lösung gefunden?
Könnte bitte jemand aus dem Forum einen Hinweis geben !!!

Hallo Droops,
eine dynamische Selektion in Forms kann man machen, indem man in der WHERE-Klausel (SQL) eine eigene globale Variable einfügt - hier [my_where]

Diese Variable kann man dann entweder
beim Aufruf der Form setzen,
im onApplicationInit-Event belegen oder
ändern und die Form neu laden.

Wenn man es ganz komfortabel haben will, kann man die Form zu einer Sub-Form machen und in der übergeordneten Form die [my_where] aus dem Inhalt mehrerer Auswahl-Felder zusammenstellen.

Ich hoffe, das hilft auf dem Weg zur Lösung!

Gunter Eibl
Scriptcase-Coach

Hallo Gunter Eibel,
ich suche eigentlich nach einer Möglichkeit Formulare auf einem Dashboard zu verknüpfen, so wie es in dem Artikel “Passing parameters in a container” (https://www.scriptcase.net/tutorials/passing-parameters-in-a-container/) für Grids beschrieben ist.
Vorstellbar ist bspw. die Verknüpfung von einer Gitterabfrage (Form) zu einem Detail-Datensatz oder von einem Grid zu einem Detail-Datensatz.
Ich habe noch keine Lösung dafür gefunden, wie der globale Parameter übergeben werden kann.

Hallo Droops,
interessanter Artikel.

Übergeben wird der Parameter in dem Code-Schnipsel in

  1. Copy and paste the following code

Dort wäre entsprechend zu ersetzen:

ord = ". {orderid}."

also je nach Anwendung in etwas wie z.B.

my_where=" . urlencode('orderid=" . {orderid} . "') . "

Das gäbe dann einen globalen Parameter [my_where] der z.B. mit orderid=22 belegt ist.

Aber das kommt natürlich sehr auf die eigene Anwendungen an.

Gunter Eibl
https://asdw.de