[AccessD] Form Validation

Stuart McLachlan stuart at lexacorp.com.pg
Sat Oct 29 18:07:23 CDT 2022


First impression:
 Colours are 4byte integers (LONGs) (with the top byte unused for RGB colours)
(And Project and Client keys as varchars() is a bit on the nose too :) )

That said - Eval doesn't recognise "me".
You'll need to do something like:

'Record in table:
FieldToScrutinize "ExtraFld1"
FunctiomToEval = "Len(<fldval>) > 0"

Then in your function 
'Create Eval string
strFldVal = Me(strFld)
strEval = Replace(rst.FunctionToEval, "<fldval>", rst.FieldToScrutinize)
If Eval(strEval) ....





On 29 Oct 2022 at 16:48, Ryan W wrote:

> I thought I had emailed about this before but I cannot find it.  Maybe
> it got lost somewhere along the way or I thought about emailing and
> never did.
> 
> I've got a form we use to log in client data, there are some extra
> fields that are NOT required by every client so I can't put backend
> constraints on them.
> 
> I was wondering if I could write a table such as:
> 
> ClientID varchar(100)
> Project varchar(100)
> FieldToScrutinize varchar(100)
> FunctionToEval varchar(255)
> ForeColor varchar(50)
> BackColor varchar(50)
> 
> 
> So lets say we have ClientA, Project B, FieldToScrutinize is
> "ExtraFld1"
> 
> FunctionToEval would be something like Len(me!extrafld1) = 0
> 
> So then in the form code we have something like
> 
> rst = currentdb.openrecordset("SELECT * FROM ValidationRules WHERE
> ClientID = '" & me.ClientID & "'")
> 
> do until rst.eof
>    if Eval(rst!FunctionToEval) = false then
>   me(FieldToScrutinize).BackColor = rst!BackColor
>   me(FieldToSTrutinize).ForeColor = rst!ForeColor
>    end if
> rst.MoveNext
> loop
> 
> I guess my question is, will EVAL work in that manner?  That way all
> my validation rules for these specific clients can be managed in a
> table rather than adding code and having to distribute a new FE when
> rules are modified? -- AccessD mailing list
> AccessD at databaseadvisors.com
> https://databaseadvisors.com/mailman/listinfo/accessd Website:
> http://www.databaseadvisors.com
> 




More information about the AccessD mailing list