Setting Filter in multiple field in the same record

SimoGsi
Member Posts: 23
Hello All,
I am developping a function in C/Al , i wanna set a filter for 3 fields on one table
to do this i do :
rec.SETFILTER(Field,'<>%1','AR*');
rec.SETFILTER(Field1,'<>%1','TR*');
rec.SETFILTER(Field2,'<>%1','VR*');
but i doesn't seem to work when i iterate through this record(it still generating all records including ones staring with AR.......)
Can you pls help me to resolve this problem
Thank you in advance
I am developping a function in C/Al , i wanna set a filter for 3 fields on one table
to do this i do :
rec.SETFILTER(Field,'<>%1','AR*');
rec.SETFILTER(Field1,'<>%1','TR*');
rec.SETFILTER(Field2,'<>%1','VR*');
but i doesn't seem to work when i iterate through this record(it still generating all records including ones staring with AR.......)
Can you pls help me to resolve this problem
Thank you in advance
Navision
0
Comments
-
i tried the same case before. it doesn't work as well too.0
-
SimoGsi wrote:Hello All,
I am developping a function in C/Al , i wanna set a filter for 3 fields on one table
to do this i do :
rec.SETFILTER(Field,'<>%1','AR*');
rec.SETFILTER(Field1,'<>%1','TR*');
rec.SETFILTER(Field2,'<>%1','VR*');
but i doesn't seem to work when i iterate through this record(it still generating all records including ones staring with AR.......)
Can you pls help me to resolve this problem
Thank you in advance
Well. Navision will interpret it as if you want all records where the value in field 1, 2, 3 is actually different from the actual string 'AR*'. It will not use then * as you would think.
If you really really need this you might do something like this:Customer.SETFILTER(Name,'Ko*'); FORM.RUNMODAL(0,Customer); Customer.FIND('-'); REPEAT Customer.MARK(TRUE); UNTIL Customer.NEXT = 0; Customer.SETRANGE(Name); Customer.MARKEDONLY(TRUE); FORM.RUNMODAL(0,Customer); Customer.MARKEDONLY(FALSE); Customer.FIND('-'); REPEAT Customer2 := Customer; Customer2.MARK(NOT Customer.MARK); UNTIL Customer.NEXT = 0; Customer2.MARKEDONLY(TRUE); FORM.RUNMODAL(0,Customer2);
But on large tables it will be terribly in-efficient.
The above code is just to illustrate how it could be done and how it works.Best regards
Tommy0 -
What if you try:
rec.SETFILTER(Field,'..AR|AS..');
rec.SETFILTER(Field1,'..TR|TS..');
rec.SETFILTER(Field2,'..VR|VS..');®obi
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯0 -
I think that '<>XX*' filter style is in documentation from version 3.60 and only for SQL...0
Categories
- All Categories
- 73 General
- 73 Announcements
- 66.6K Microsoft Dynamics NAV
- 18.7K NAV Three Tier
- 38.4K NAV/Navision Classic Client
- 3.6K Navision Attain
- 2.4K Navision Financials
- 116 Navision DOS
- 851 Navision e-Commerce
- 1K NAV Tips & Tricks
- 772 NAV Dutch speaking only
- 617 NAV Courses, Exams & Certification
- 2K Microsoft Dynamics-Other
- 1.5K Dynamics AX
- 320 Dynamics CRM
- 111 Dynamics GP
- 10 Dynamics SL
- 1.5K Other
- 990 SQL General
- 383 SQL Performance
- 34 SQL Tips & Tricks
- 35 Design Patterns (General & Best Practices)
- 1 Architectural Patterns
- 10 Design Patterns
- 5 Implementation Patterns
- 53 3rd Party Products, Services & Events
- 1.6K General
- 1.1K General Chat
- 1.6K Website
- 83 Testing
- 1.2K Download section
- 23 How Tos section
- 252 Feedback
- 12 NAV TechDays 2013 Sessions
- 13 NAV TechDays 2012 Sessions