Informix Error -3759
-3759 The display field field-name does not exist in the form.
The field tag name that is passed to the C function pf_nxfield() is not defined in this form. Review the string that is passed; if it is as you intended, inspect the form definition to see what has been changed. A common error is to confuse the tag name, which is used in the screen layout and to the left of the equal sign in the ATTRIBUTES section, with the field name, which is the column name used to the right of the equal sign in the ATTRIBUTES section. The latter is used when referring to fields.
Oninit® Troubleshooting Guidance
Reasons / Common Causes
-3759 fires when the C function pf_nxfield() is passed a name not defined anywhere in the
form — per the official guidance, a common mistake is confusing the tag name (used in the
screen layout and to the left of the equal sign in ATTRIBUTES) with the field name (the
column name to the right of the equal sign), when pf_nxfield() expects the tag name.
- A typo or misspelling in the name passed to
pf_nxfield(), per the official guidance — the first named cause. - Passing the column/field name instead of the tag name, per the official guidance — the second, commonly confused named cause.
Solutions / Resolution
- Review the string passed to
pf_nxfield(), per the official guidance. - If it's as intended, inspect the form definition to see what has changed, per the official guidance.
- Confirm the tag name (left of
=inATTRIBUTES) is being passed, not the field/column name (right of=), per the official guidance.
Examples
Confusing the field name with the tag name
ATTRIBUTES
ordnum = order_id;
pf_nxfield("order_id");
/* -3759: "order_id" is the field/column name; the tag name is "ordnum" */
Corrected
pf_nxfield("ordnum");
Diagnostic Checks
- Check whether the name passed to
pf_nxfield()is the tag name (left of=inATTRIBUTES), not the column name (right of=).
Related Errors / Related Topics
- -3758 — "The next selected field tag-name is not in the current table." A related
pf_nxfield()error, about a valid tag name belonging to the wrong table rather than a name not defined in the form at all. - -2941 — "name is not a display field name on the form." A related undefined-name error
at compile time, about a statement in the form specification itself referencing an undefined
field, rather than a runtime
pf_nxfield()call.
pf_nxfield() was passed a name not defined anywhere in the form — check for the common
tag-name-vs-field-name confusion.