请教是怎么回事?以下是出问题的部分代码
Set rsBill = .Execute("Select fstatus from z_kuka_cjyb Where itemcode = '" & vntItemcode & "'")
IntStatus = rsBill.Fields("fstatus").Value
' If rsBill.Fields("fstatus").Value = 7 And fpSpread1.GetText(11, IntJ, vntJudge) = False Then
' If fpSpread1.GetText(11, IntJ, vntJudge) = False And rsBill.Fields("fstatus").Value = 7 Then
If fpSpread1.GetText(11, IntJ, vntJudge) = False Then
'当前条码为出库状态,允许一次或多次转移
' If rsBill.Fields("fstatus").Value = 7 Then
If IntStatus = 7 Then
.BeginTrans
.Execute ("Insert Into z_kuka_cjbill(itemcode,ftrantype,ftbno,fscandate,importdate)" & _
" Values('" & IIf(fpSpread1.GetText(1, IntJ, vntItemcode) = True, vntItemcode, Null) & "',5,'" & IIf(fpSpread1.GetText(9, IntJ, vntftbno) = True, vntftbno, Null) & "','" & IIf(fpSpread1.GetText(10, IntJ, vntFscandate) = True, Format(vntFscandate, "yyyy-mm-dd hh:mm:ss"), Format(DteCurrency, "yyyy-mm-dd hh:mm:ss")) & "','" & Format(DteCurrency, "yyyy-mm-dd hh:mm:ss") & "')")
.Execute ("Update a Set place = '" & IIf(fpSpread1.GetText(9, IntJ, vntftbno) = True, vntftbno, Null) & "'from z_kuka_cjyb a Inner Join z_kuka_cjbill b On a.itemcode=b.itemcode Where a.itemcode = '" & vntItemcode & "' ")
.CommitTrans
fpSpread1.SetText 11, IntJ, 1
End If
' ElseIf rsBill.Fields("fstatus").Value = 1 Then
ElseIf IntStatus = 1 Then
'当前条码为入库状态,不允许转移
MsgBox vntItemcode & "条形码为入库状态,不允许转移", , "系统提示:"
' ElseIf rsBill.Fields("fstatus").Value = 6 Then
ElseIf IntStatus = 6 Then
'当前条码为回收状态,不允许转移
MsgBox vntItemcode & "条码是回收状态,不允许转移", , "系统提示:"
End If
Set rsBill = Nothing这是怎么回事,.begintrans后,一旦开始执行第一条插入语句时,就报以上错误,请高手赐教。
Set rsBill = .Execute("Select fstatus from z_kuka_cjyb Where itemcode = '" & vntItemcode & "'")
IntStatus = rsBill.Fields("fstatus").Value
' If rsBill.Fields("fstatus").Value = 7 And fpSpread1.GetText(11, IntJ, vntJudge) = False Then
' If fpSpread1.GetText(11, IntJ, vntJudge) = False And rsBill.Fields("fstatus").Value = 7 Then
If fpSpread1.GetText(11, IntJ, vntJudge) = False Then
'当前条码为出库状态,允许一次或多次转移
' If rsBill.Fields("fstatus").Value = 7 Then
If IntStatus = 7 Then
.BeginTrans
.Execute ("Insert Into z_kuka_cjbill(itemcode,ftrantype,ftbno,fscandate,importdate)" & _
" Values('" & IIf(fpSpread1.GetText(1, IntJ, vntItemcode) = True, vntItemcode, Null) & "',5,'" & IIf(fpSpread1.GetText(9, IntJ, vntftbno) = True, vntftbno, Null) & "','" & IIf(fpSpread1.GetText(10, IntJ, vntFscandate) = True, Format(vntFscandate, "yyyy-mm-dd hh:mm:ss"), Format(DteCurrency, "yyyy-mm-dd hh:mm:ss")) & "','" & Format(DteCurrency, "yyyy-mm-dd hh:mm:ss") & "')")
.Execute ("Update a Set place = '" & IIf(fpSpread1.GetText(9, IntJ, vntftbno) = True, vntftbno, Null) & "'from z_kuka_cjyb a Inner Join z_kuka_cjbill b On a.itemcode=b.itemcode Where a.itemcode = '" & vntItemcode & "' ")
.CommitTrans
fpSpread1.SetText 11, IntJ, 1
End If
' ElseIf rsBill.Fields("fstatus").Value = 1 Then
ElseIf IntStatus = 1 Then
'当前条码为入库状态,不允许转移
MsgBox vntItemcode & "条形码为入库状态,不允许转移", , "系统提示:"
' ElseIf rsBill.Fields("fstatus").Value = 6 Then
ElseIf IntStatus = 6 Then
'当前条码为回收状态,不允许转移
MsgBox vntItemcode & "条码是回收状态,不允许转移", , "系统提示:"
End If
Set rsBill = Nothing这是怎么回事,.begintrans后,一旦开始执行第一条插入语句时,就报以上错误,请高手赐教。
解决方案 »
- MSCOMM玄机重重!!MSCOMM的水到底有多深???
- 打开很多窗体,如何判断哪个是活动的?
- 用Setup Factory 7_0给vb程序打包的问题
- pigpag即日报到
- 关于流程图的问题~大虾请帮下忙(紧急哦!)
- 求助,很着急!!!
- vb中如何实现封闭98系统的PrintScreen和ctrl+N和F1-->F12、ctrl+Insert、shift+insert等键
- 在哪里可以下載到整理VB代碼﹐即可以將VB按一定的格式縮進﹐使代碼變得易看和美觀﹖
- 我还要问一个菜鸟的问题,过来帮我简单的解答一下高分,很菜鸟很菜鸟的问题,像问如何开机一样简单。我都不好意思说了,但是很急的
- [求助]怎样用VB实现直接替换文本文件中的字符串
- VB引用
- VB 怎么样获取指定服务的端口号
改成如下试试:
"& IIf(fpSpread1.GetText(1, IntJ, vntItemcode) = True, vntItemcode, "Null") &"
cnn.execute "insert into tablename(aa) values("& iif(bb=true,"'cc'","NULL") &")"
这sql句在具体执行时的两种情况:
"insert into tablename(aa) values('cc')"
或"
"insert into tablename(aa) values(NULL)"
' " Values(" & IIf(fpSpread1.GetText(1, IntJ, vntItemcode) = True, vntItemcode, "Null") & ",5,'" & IIf(fpSpread1.GetText(9, IntJ, vntftbno) = True, vntftbno, Null) & "','" & IIf(fpSpread1.GetText(10, IntJ, vntFscandate) = True, Format(vntFscandate, "yyyy-mm-dd hh:mm:ss"), Format(DteCurrency, "yyyy-mm-dd hh:mm:ss")) & "','" & Format(DteCurrency, "yyyy-mm-dd hh:mm:ss") & "')")我调试得到的实际语句是Insert Into z_kuka_cjbill(itemcode,ftrantype,ftbno,fscandate,importdate) Values(1901000007/5,5,'cccc','2009-08-28 14:35:28','2009-08-28 14:35:28')其中,1901000007/5应该是字符型才对,弄得插入数据库,老是数据不正确。
然后我又使用上了我楼上贴的语句,它竟然又可以正确使用,没有报一开始的错误了。
并且调试状态下得到的SQL语句是这样的。Insert Into z_kuka_cjbill(itemcode,ftrantype,ftbno,fscandate,importdate) Values('1901000007/5',5,'eeee','2009-08-28 14:43:49','2009-08-28 14:43:49')这才是正确的。请问一会报错,一会又不报错,是怎么回事?
IIf(fpSpread1.GetText(1, IntJ, vntItemcode) = True, "'" & vntItemcode & "'", "Null")
'字段为数值型:
IIf(fpSpread1.GetText(1, IntJ, vntItemcode) = True, "" & vntItemcode & "", "Null")