> "An expression cannot end with binary operator"
I'm working with a very faint memory, but try changing the order such
that the LAST value inserted cannot be null or empty.
Like: INSERT INTO sales +
(invoiceno, trantime, accountno, billaccount, brate,
invoiceno, trandate) +
SELECT invoiceno, .#TIME, accountno, .vmacctno,
.vBillRate, .#DATE +
FROM tempsales WHERE .....
Ben
On Mon, Mar 15, 2010 at 8:55 AM, <[email protected]> wrote:
> A client is running build .30305, which I believe is the latest ..
>
> A program (run daily, untouched since 9/2009) does an insert into
> a table using a combination of columns and variables. The syntax is:
>
> INSERT INTO sales +
> (invoiceno, trandate, trantime, accountno, billaccount, brate) +
> SELECT invoiceno, .#DATE, .#TIME, accountno, .vmacctno, .vBillRate +
> FROM tempsales WHERE .....
>
> The 2 variables referenced (vmacctno and vbillrate) are predefined, and are
> populated by a "select into". However, the vBillRate could be null. In
> that
> case, I see it in my variable list as
> vBillRate REAL with no value
>
> I swear this must have happened before (but maybe not), but when vBillRate
> is null,
> the insert fails and I get the message
> "An expression cannot end with binary operator"
>
> If I replace the vBillRate with a 0 , then the insert works. Whileopt is
> OFF, Zero is ON.
>
> My null setting is the default -0-. If I change the null setting to ' '
> (blank space)
> right before the insert, the insert still fails but with:
> "incorrect number of values for this table"
>
> So now I'm pretty worried about other places I might have a null variable
> being
> inserted... What do other programmers do? Is this bad programming? Should
> each variable be populated with something? What if you want a number value
> to be truly null, and not a 0?
>
> Karen
>
>