Sorry, you'er right. I only do this kind of operations rarely, so my memory was wrong!
>Not exactly
>
>Append from selects the source during the append
>
>
>Append from dbf('csrMyCursor') for !empty(bookno)
>
>
>
>>>Append from dbf('csrMyCursor') for !empty(csrMyCursor.bookno)
>
>is the same as
>
>xx = !empty(csrMyCursor.bookno)
>Append from dbf('csrMyCursor') for m.xx
>
>
>
>
>>Yes, I know that. By specifying the cursor name also, I make sure that the data from the cursor really is checked, and not the same field in the currently selected table.
>>
>>
>>>There is a difference between
>>>
>>>Append from dbf('csrMyCursor') for !empty(csrMyCursor.bookno)
>>>
>>>and
>>>
>>>Append from dbf('csrMyCursor') for !empty(bookno)
>>>
>>>
>>>
>>>>Please read my messages more carefully! You, not I, have to change the text
for !empty(csrMyCursor.bookno) and !empty(csrMyCursor.sticket) and !empty(csrMyCursor.eticket) in my
Append from line, so that the conditions match your need! I gave you the solution several hours ago, but YOU must modify it to suit your particular need. I can not know how you define a record empty, is it empty if one of the fields is empty, or is it empty if all fields are blank, or what? Only you know, and that's why YOU must change my code.
>>>>