Skip to main content
Ninox-Website
Ninox-Documentation
How to enable Javascript
Sign Up
Log in
Learn and share
Get help
Webinars
Service status
Documentation
All topics
Contact
Privacy
Overview
Profile
Alain Fontaine
Alain_Fontaine
422
87
2
Joined: Thu Jun 04 08:38:45 UTC 2020
Follow
My Posts
Latest Posts
Re: create options in choice field from variable/loop
Here is variation, with a better separation of the preparation of the dynamic choice field and its actual use. It also corrects a rather stupid error (a "let" in the wrong place…).
Attachment
Alain Fontaine
Alain_Fontaine
11 mths ago
Get help
Reported - view
Re: create options in choice field from variable/loop
@Rafael First question: the script does not delete any records in the "Choices" table. They are kept for later reuse. One should not intervene in the automatic management of that table.…
Alain Fontaine
Alain_Fontaine
11 mths ago
Get help
Reported - view
Re: How to reset a database?
Up to version 3.9, when duplicating a database, there were options to allow the duplication of the records and the files. Setting those options to "No" allowed one to create a virgin database.…
Alain Fontaine
Alain_Fontaine
11 mths ago
Get help
Reported - view
Re: create options in choice field from variable/loop
@Christoph Sander You don’t need that many records, just the minimum number to hold your set of values. Also, you don’t need to delete and create records,…
Attachment
Alain Fontaine
Alain_Fontaine
11 mths ago
Get help
Reported - view
Re: index with regex
Or maybe: length(replacex(<your input string>, "<your regular expression>[^]*", ""))
Alain Fontaine
Alain_Fontaine
11 mths ago
1
Get help
Reported - view
Re: create options in choice field from variable/loop
A Choice (dynamic) field is defined by an array of records. Any way to build an array of records may be used. Of, course, a "select" statement, or the dereferencing of a table reference are obvious…
Alain Fontaine
Alain_Fontaine
11 mths ago
Get help
Reported - view
Re: Regarding the batch write issue.
item(xx, i).('old code' := item(s, i));
Alain Fontaine
Alain_Fontaine
11 mths ago
1
Get help
Reported - view
Re: How to append values to an array
The only known way, as far as I know, to add something to an array, and get an *array* as the result, is to use the "array()" function. The function takes two arrays as arguments,…
Alain Fontaine
Alain_Fontaine
11 mths ago
1
Get help
Reported - view
Re: How to Iteratively Add Items to a New Array
And yet another way to produce a typed empty array: let finalArray := slice([""],0,0);
Alain Fontaine
Alain_Fontaine
11 mths ago
Learn and share
Reported - view
Re: Account flows
@Erik Ivan Bech Your dabase is (moderately) complex, and seems to contain loads of data. So it is difficult to understand the cause of a subtle problem with just a few screen captures.…
Alain Fontaine
Alain_Fontaine
1 yr ago
Get help
Reported - view
Re: Does the 'page' feaure work on tablet devices?
Same issue on an iPad. Oh, and it is not possible to create an empty copy of a database anymore…
Alain Fontaine
Alain_Fontaine
1 yr ago
Get help
Reported - view
Re: Account flows
@Erik Ivan Bech So the actual data are such that the same ledger can sometimes be viewed more than once. We need to forbid this: let myact := this; unique(Ledger.Journal.Ledger[Accounts != myact])
Alain Fontaine
Alain_Fontaine
1 yr ago
1
Get help
Reported - view
Re: Account flows
@Erik Ivan Bech "Journal.Ledger" returns all the records in table "Ledger" that refers to a record in the table "Journal", which in turn refers to the current record in table "Contacts".…
Alain Fontaine
Alain_Fontaine
1 yr ago
Get help
Reported - view
Re: Account flows
@Erik Ivan Bech Would this give the desired result? let myfin := this; Accounts.Ledger.Journal.Ledger[Accounts.Financials != myfin]
Alain Fontaine
Alain_Fontaine
1 yr ago
Get help
Reported - view
Re: Account flows
What about: let myact := this; Ledger.Journal.Ledger[Accounts != myact]
Alain Fontaine
Alain_Fontaine
1 yr ago
2
Get help
Reported - view
Re: There must be a better way...
@Fred Is it supposed to be a surprise? Using the same technique should give the same kind of result. Try replacing the loop by: let x := Table2[Text != rider and contains(rndJmp, 'Text 2')];
Alain Fontaine
Alain_Fontaine
1 yr ago
Get help
Reported - view
Re: There must be a better way...
@Sean Just the minimum to show the concept…
Attachment
Alain Fontaine
Alain_Fontaine
1 yr ago
Get help
Reported - view
Re: There must be a better way...
I don’t have a copy of your database to fully verify this, but could not: AllResultRecIDs[RiderID != curRider and contains(rndJmp,'Round Type')] replace the explicit loop ?
Alain Fontaine
Alain_Fontaine
1 yr ago
Get help
Reported - view
Re: There must be a better way...
The fact that a "for" loop can magically create an array is very useful in many situations, but sometimes, as in this case, it can not give the desired result.…
Alain Fontaine
Alain_Fontaine
1 yr ago
1
Get help
Reported - view
Re: How to Update in Batch?need your Help.
@我是我的我 This code, placed in a button in "table1", sets the field "选项" to "woman" in all the records of "table3" linked, via "table2", to the current record in "table1".…
Alain Fontaine
Alain_Fontaine
1 yr ago
Get help
Reported - view
Re: How to Update in Batch?need your Help.
If I understand the request correctly, this should do the trick: table2.Table3.('选项' := 1)
Alain Fontaine
Alain_Fontaine
1 yr ago
Get help
Reported - view
Re: Get the hours from an appointment as an Array
let ast := start(Appointment); let aen := endof(Appointment); if day(ast) = day(aen) then range(number(format(ast, "H")), number(format(aen, "H")) + number(format(aen, "m") != "0")) end
Alain Fontaine
Alain_Fontaine
1 yr ago
2
Get help
Reported - view
Re: Join without empty lines
@Sébastien Guillet Since the options are already in an array, just add the filter after the definition of the array: [!=""]
Alain Fontaine
Alain_Fontaine
1 yr ago
Get help
Reported - view
Re: Automated Multiple Choice: Is it possible?
For the record: I did just build a better mousetrap (for the "reset" function): 'Multiple choice' := numbers('Multiple choice')[!= Number] Yet another one-liner!
Alain Fontaine
Alain_Fontaine
1 yr ago
2
Get help
Reported - view
Re: Automated Multiple Choice: Is it possible?
@Ram Vidanes Does this in "Table 3" do what you need: if Choice != null then 'Table1 (Multiple Choice)'.('Progress Status' := array(numbers('Progress Status'), [2])) else 'Table1 (Multiple Choice)'.…
Alain Fontaine
Alain_Fontaine
1 yr ago
1
Get help
Reported - view
1
2
3
4
5
17
Ninox-Website
Ninox-Documentation
Overview
Learn and share
Get help
Webinars
Service status
Documentation
Setup
Installed apps
Public Cloud
Private Cloud
On-Premises
Databases
Tables
Table relationships
Fields and elements
Pages
Views
Import and export
Modules
Printing
Templates
Use cases
Automation
Scripting
Functions
API
My account
Subscriptions
Administration
Manage workspaces
Manage collaborators
Access permissions
Usage overview
Process monitor
View all topics