我要檢查DBGRID1的Columns[4]值,是不是輸入"O"或是為NULL
如果不是"O"或不是NULL就請跳出視窗告知
程式碼如下IF (DBGRID1.Columns[4] <> 'O' OR DBGRID1.Columns[4] IS NIL) THEN
BEGIN
MessageDlg('是否輸入O以外字',mtWarning,[mbok],0);
abort;
END;可是他會出現"Operator not applicable to this operand type"這個錯誤訊息
出錯點在"DBGRID1.Columns[4] IS NIL"這裡,請問該怎麼判斷他是否為空值或是怎麼在Columns[4]屬性質的地方設定他就只能是空值或O,其他符號不可以輸入
如果不是"O"或不是NULL就請跳出視窗告知
程式碼如下IF (DBGRID1.Columns[4] <> 'O' OR DBGRID1.Columns[4] IS NIL) THEN
BEGIN
MessageDlg('是否輸入O以外字',mtWarning,[mbok],0);
abort;
END;可是他會出現"Operator not applicable to this operand type"這個錯誤訊息
出錯點在"DBGRID1.Columns[4] IS NIL"這裡,請問該怎麼判斷他是否為空值或是怎麼在Columns[4]屬性質的地方設定他就只能是空值或O,其他符號不可以輸入
if adoq.fieldbyname('aa').isnull then
建议你这样做
IF ((ADOQuery1.FieldByName('字段名').AsString <> '0') OR ADOQuery1.FieldByName('字段名').IsNull) THEN指定是当前行
謝謝幫忙,他預設是空值,"判斷為空就好"不可以防呆呀@@
對不起
可能我說的不是很清楚DBGRID1.Columns[4],我是從資料庫拉資料出來,要讓user修改
但輸入前希望可以判斷他只能輸入"O"跟"空值"或是要怎麼樣讓DBGRID1.Columns[4]這個地方只能輸入"O"或是"空值"其他KEY
2、or前后两部分如果是表达式的华,要加括号,不然编译不过
还有 你要求的是
如果不是"O"或不是NULL就請跳出視窗告知
这里不应该用or 而是用and
在beforepost事件中进行如下判断
IF ((ADOQuery1.FieldByName('dwdm').AsString <> '0') and (ADOQuery1.FieldByName('dwdm').AsString<>'')) THEN