Hello Tom
I know you are a very advanced developer and I have learned a lot from your suggestions. I understand that you no longer need these PGDBE examples. However, here I copy, exactly as Alaska Software answered my email, just as a general culture, and in case someone is interested in a "solution" to the filters. Even further down, you will find a link, where they have examples of complex filters that include functions like at(), and substr(), inside.
1. I'm not an expert programmer, as most in this group are, I don't have that much experience. So I'll ask you a silly question, hopefully you can help me: if I have 4 workstations, in a local network, should I create 4 users in POSTGRESQL, that is, one user for each workstation, or should I only create one user in POSTGRESQL for all workstations?
2. As for BOA, I know it's a great thing, very functional, and very sophisticated. But, I'm already in CXP, I feel comfortable, and I can combine HTML + xbase, JavaScrip + xbase, I can use all the libraries for HTML, which make the views of my new project very modern. I'm not old enough to start all over again. And, when I thought that there was no longer a solution for me, that I would become obsolete, I learned the CXP technique. Which, by the way, is very simple, but there are moments in life when one feels confused, with a cloudy brain, and disinterested help is very scarce.
I'm not an expert programmer, but from my point of view, CXP is great. Except, the use of DBF, that is depressing. I left the DBE test for last, because Alaska Software support informed me in an email that PGDBE worked correctly with CXP, but that FOXDBE had to be left, because with FOXDBE the CXP handled the cookies. My support expired, but when I reactivate my support with Alaska, I will ask them why they promised me something that does not exist, or to teach me how to do it.
Alaska Software Response:
- If you're using local or private variables in your filters, make sure the variable's values are included in the filter expression as literals. Example:
cb := "{|| DCMONTORIG >= " + Str(mont1) + ".AND. DCMONTORIG cb := &cb
DbSetFilter( cb )
- Make sure your filters use valid SQL syntax. If you're using functions in your filter expressions, make sure these are available under SQL. More information is available here:
https://ilx.alaska-software.com/index.p ... server.34/
- Consider using an SQL query statement instead of the SET FILTER TO command. This will be much faster because SQL servers are optimized for this type of processing. Example:
oStmt := DACSqlStatement():fromChar( "select dccodigo, dcfechdocu, dcmontorig from maefactu where dcmontorig >= ::mont1 and dcmontorig oStmt:mont1 := mont1
oStmt:mont2 := mont2
oStmt:build():query()