>>>>Hi,
>>>>
>>>>I need to change the following SQL Insert such that if the cursor cViewName does not have a column FIELD1 (or any other), this column IS NOT included in the expression. Here is an example:
>>>>
>>>>
>>>>INSERT INTO (cViewName) (FIELD1, FIELD2, FIELD3) VALUES ( "", "", 0.00 )
>>>>
>>>>
>>>>I know I can do it with an IF ENDIF condition but I wonder if it can be done in one line.
>>>>
>>>>TIA
>>>
>>>if you like this,
>>>a solution exist:
>>>
>>>INSERT INTO (cViewName) ((IIF(EMPTY(FSIZE("FIELD1)),"FIELD2","FIELD1")), FIELD2, FIELD3);
>>> VALUES ( IIF(EMPTY(FSIZE("FIELD1)),"" ,"val1") , "val2", 0.00 )
>>>
>>
>>Interesting. I see that you if FIELD1 is empty you are setting value to FIELD2 twice. Do we know that VFP always processes INSERT in the exact order of how the fields are listed? That is, that the first FIELD2 will be set to empty string and then it will be set to 'val2'?
>>Thank you.
>
>It is not on VFP documentation,
>but it work on this way.
>VFP is dead, then no issues on next release exists.
>
>However i suggest you to use the classic IF ELSE
This is what I did. Thank you.
"The creative process is nothing but a series of crises." Isaac Bashevis Singer
"My experience is that as soon as people are old enough to know better, they don't know anything at all." Oscar Wilde
"If a nation values anything more than freedom, it will lose its freedom; and the irony of it is that if it is comfort or money that it values more, it will lose that too." W.Somerset Maugham