Ninox on the App Store: for Mac | for iPad | for iPhone

How can I…


… use the iCloud Sync Feature?

With the iCloud Sync feature the same databases can be accessed from multiple Apple devices. To use the iCloud Sync feature choose iCloud as store location when creating a database. A little cloud will appear on the database. If you already created a local database you can duplicate and choose iCloud as store location.
To use the iCloud Sync feature on iPad, please upgrade to Premium.

… modify iCloud databases on another device?

Ninox databases can only be mnodified on the device they have been created on. Ninox has this setting to avoid conflicts. With “reorganise” you can re-allocate the admin rights to another device. You find this function by clicking the menu button of a database. On iPhone swipe the database to the right.

… backup and share Ninox databases?

Ninox databases can be saved and exported as archives. The resulting .ninox files can be imported with every Ninox version. Use “Save Archive as…” from the main menu in the top left corner to export archives. Use “Import archive” from the start screen to import.

… export and import data?

Ninox allows you to import structured data via csv-import. Ninox will try to match columns in your csv file to data fields in the database. Start the assistent be clicking in the wrench an seleting “Import data…”
Date fields are the hardest to get right. The Ninox date format depends on the system settings. Ninox will use the”medium” system settings. If in doubt try “yyyy-mm-dd” – this will always work fine.
The wrench menu will give you “Export data…” to. An assistent will guide you.
Mac app: To export all tables select “Export data…” from the title page of the database (the one with the fancy bachground image). Here you can export all tables to excel or export the Ninox database without data as an .ninox archive.

… import my contacts?

With Ninox you can import all contacts from the Mac contact app.

  • Click on the database homescreen on –> import data.
  • In the following dialog choose “Contacts”.
  • Install table template
  • Import Contacts
… search?

Ninox provides two search functions – global and local search.

The global search can be accesses via the magnifing glass in the left side bar. Here you’ll search the whole datadase.
To search a table only press “cmd + f” or use right click to select “find”.

… create an auto-incrementing number for invoices or clients?

Option 1: Create a trigger (“on create”) on table level like this:

'Invoice Number' := max((select Invoice).'Invoice Number') + 1

This will check all existing invoice numbers and will fill the field “Invoice Number” with the next number.

Option 2: A little bit more fancy – Create a trigger (“on update”) on table level like this:

if not 'Invoice Number' then
let y := year(Date);
let m := month(Date);
let d := day(Date);
let c := cnt(select Invoice where year(Date) = y and month(Date) = m);
'Invoice Number' := y + format(m, "00") + format(d, "00") + format(c, "00")

If will give you an invoice number like this:
yyyymmddxx – where xx is a counter of invoices per month.

… create and read barcodes?

Click in any field and scan barcodes or QR-codes. The scanner (or camera) will work as an input device.
Output fields as barcode: You’ll need a barcode font installed on your system. In “Print” you can set the font for every field seperatly.
Note that barcodes have the value stored like this:
*123456* (Note the asterisks)

… use the location Field?

To set a location:

  • Click into the location field.
  • Maps will open.
  • Find the location and double-click.
  • Give a name.
… restore local database with “time machine”?

Use “time machine” on your Mac to create regular backups of all your files.

  • Open finder
  • Open menu “go”
  • Press “alt”(+”Shift”): “library” appears
  • Select library
  • go to “Containers”
  • go to “de.ninoxdb.ninox-mac”
  • go to data
  • go to “Documents”
  • go to “data”
  • open time machine
  • go back in time
  • pick the database to recover
  • restore





  • Learn what Ninox can do for you in the Basics chapter.
  • The tutorial will help you understand the main concepts of Ninox.

User interface


Tables are the fundamental concept of Ninox. Learn:

Formulas and Calculations

With formulas and calculations you can add new data-fields or columns and calculate values or implement triggers.


116 Gedanken zu „FAQ

  1. Hello. I am loving this database on iPad. However there are a couple of things I can’t figure out how to do. 1) is there a way to create summary fields to do things like count how many females are in my people table? And then create a chart of men vs women? 2) how do you use the console in the ipad app. I can’t find any info on that.

    1. Say you have a choice field with the options “Male” and “Female”. Then try this:
      - Create a new table view (click the (+)-Symbol next to the current view.)
      - Click the column head of that choice field ans select “Group by”
      - Select “Sum”

      Birger – Ninox Support

  2. This is where I am with my project I placed the syntax on the onchange trigger of the table as follows:
    if (CPT := Procedure_Done) = “CRTP” then
    Now when I change my selection in Field procedure Done this triggers the number of the option to appear in CPT but not 1234 ie I have 5 different choices 1.XXX 2.XXXY 3. XXOI 4. UIRTI 5. AKFDJF when I choose in Procedure Done instead of CPT showing 1234 it shows 1 if I chose the first option or 2 if I chose the second option…

  3. Need help on a formula, I have two fields Procedure and CPT. Procedure is a choice field with different options. CPT is a numerical field. How can build al optical expression so if Procedure choice = “A” then CPT=“123”, if Procedure choice=“B” then CPT=“12345”, and so on… Thanks

    1. Hello,

      try this (in the ‘onChange’trigger of the table):
      CPT := if text('Procedure') = "A" then 123 else
      if text('Procedure') = "B" then 12345 else

      Birger – Ninox Support

      1. Thanks Birger tried placing your reply on the place you suggested.. Should I place the syntax exactly as you suggested ? I get an Error Unexpected symbol at line 1, Column 15

      2. I tried using the visual formula editor I placed the formula in Trigger after update in the CPT field. if (CPT :=Procedure_Done)=“CRTP” then “1234” else “0” Ninox accepts this formula but if I use CRTP nothing changes in CPT

        1. it has to be:
          CPT := if Procedure_Done="CRTP" then 1234 else 0

          Note the different possition of the “if” element.

          Birger – Ninox Support

  4. Is there a feature that allows having a unique value in a field? So if I enter a new value it, the feature will scan existing values and if exit then uses existing without creating a new record; if does not exist in the field then create a new record?

    I am a new user of the software which I purchased two weeks ago.
    Thank you,
    Sami AlBanna

    1. Hello Sami,
      when you click ob new record a new record is created. You can not give a value and check if its unique and only then create a new record.
      However here is a small template that checks i a value is unique and will show an “alarm” if its not:
      Check if unique
      Birger – Ninox Support

  5. Hello, Is it possible to make a loop as in php? Example:          $ Long = strlen ($ numref);          $ Nz = 0;          $ N2 = 0;          $ Hst = "0946827135";          For ($ N1 = 0; $ N1 10)              {                  $ Nz = $ Nz – 10;              }              $ N2 = substr ($ Hst, $ Nz – 1, 1);          }

    Thank you in advance for your response. Robert

  6. Hello,
    Is it possible to make a loop as in php?
             $ Long = strlen ($ numref);
             $ Nz = 0;
             $ N2 = 0;
             $ Hst = “0946827135″;
             For ($ N1 = 0; $ N1 10)
                     $ Nz = $ Nz – 10;
                 $ N2 = substr ($ Hst, $ Nz – 1, 1);

    Thank you in advance for your response.

    1. The for statement can be used to loop over arrays of values – e.g. the result of a select.
      for p in (select Person)
      p.Haircolor := "red"

      This would look up all “Person” records (select Person). For each record (stored in the variable p) it would then change the Person’s hair color to red.

  7. Hello there.

    I may be missing something but is there a way in which we can include images when exporting records? CSV wont of course and xlsx doesn’t seem to want to.

    We found a work-around and produced a PDF via the print option, but when selecting ALL records, any empty image fields within a record are populated with the last image used.

    1. Try this:
      - Export the Ninox database.
      - Rename the generated file from “.ninox” to “.zip”.
      - Find all images and attachments in this archive.

      Birger – Ninox Support

Leave a Reply