Office中国论坛/Access中国论坛

标题: 请帮助看看这些语句中那个地方有错误? [打印本页]

作者: yanwei82123300    时间: 2009-8-24 16:25
标题: 请帮助看看这些语句中那个地方有错误?
请帮助看看这些语句中那个地方有错误?每次运行系统提示编译错误
Private Sub Release_Status_AfterUpdate() If Me.Release_Status = True Then Me.Release_Date = Date Else Me.Release_Date = "" End If If MsgBox("pls, sure release this order ?", vbInformation + vbYesNo) = vbNo Then Me.Release_Status = False Exit Sub End If Dim DB As DAO.Database Set DB = CurrentDb Dim SQLText As String Dim step As Integer step = 1 SQLText = "INSERT INTO [PaiChan_REMOTE] (Team, Release_Date,Remark,CO_NO,Line_No,CO_Item,QTY,Serial_No,Desc,PROM_DATE,Release_Status)" SQLText = SQLText + "SELECT Forms![paichan]![Team] AS [Team], Release_Date AS [Release_Date], Remark AS [Remark], CO_NO AS [CO_NO],Line_No as [Line_No],CO_Item as [CO_Item],qty as [qty],Serial_No as [Serial_No],Desc as [Desc],PROM_DATE as [PROM_DATE],Release_Status as [Release_Status];" CurrentDb.Execute.SQLText Me.Release_Status.Locked = True End Sub
作者: Henry D. Sy    时间: 2009-8-24 16:43
晕,你不传例子,至少也要排好版。
作者: aslxt    时间: 2009-8-24 16:59
这样能够通过编译:
Private Sub Release_Status_AfterUpdate()
  If Me.Release_Status = True Then
    Me.Release_Date = Date
  Else
    Me.Release_Date = ""
  End If
  If MsgBox("pls, sure release this order ?", vbInformation + vbYesNo) = vbNo Then
    Me.Release_Status = False
    Exit Sub
  End If
  Dim DB As DAO.Database
  Set DB = CurrentDb
  Dim SQLText As String
  Dim step As Integer
  step = 1
  SQLText = "INSERT INTO [PaiChan_REMOTE] (Team, Release_Date,Remark,CO_NO,Line_No,CO_Item,QTY,Serial_No,Desc,PROM_DATE,Release_Status)"
  SQLText = SQLText + "SELECT Forms![paichan]![Team] AS [Team], Release_Date AS [Release_Date], Remark AS [Remark], CO_NO AS [CO_NO],Line_No as [Line_No],CO_Item as [CO_Item],qty as [qty],Serial_No as [Serial_No],Desc as [Desc],PROM_DATE as [PROM_DATE],Release_Status as [Release_Status];"
  CurrentDb.Execute SQLText
  Me.Release_Status.Locked = True
End Sub
作者: yanwei82123300    时间: 2009-8-25 07:44
系统提示有错误请帮助看看
作者: yanwei82123300    时间: 2009-8-25 09:59
我已将附件上传,请老师们帮助修改,谢谢
作者: aslxt    时间: 2009-8-25 13:29
本帖最后由 aslxt 于 2009-8-25 14:31 编辑

5# yanwei82123300
1、你的代码是这样:
Private Sub Release_Status_AfterUpdate()
Private Sub Release_Status_AfterUpdate()
...
应该删掉一个,变为:
Private Sub Release_Status_AfterUpdate()
...
2、你的表Serial_No字段为主键,不能直接引用窗体的数据,防止可能的重复
3、SQLText的值应该是下列描述(如果直接引用Serial_No的话)
  SQLText = "INSERT INTO [PaiChan_REMOTE] (Team, Release_Date,Remark,CO_NO,Line_No,CO_Item,QTY,Serial_No,[Desc],PROM_DATE,Release_Status) "
  SQLText = SQLText + "values (" & """" & Team & """" & ", #" & Nz(Release_Date, Date) & "#,  " & """" & Nz(Remark, "") & """" & "," & """" & CO_NO & """" & "," & """" & Line_No & """" & "," & """" & CO_Item & """" & "," & QTY & "," & """" & Serial_No & """" & "," & """" & Desc & """" & ",#" & PROM_DATE & "#," & Release_Status & ")"
作者: yanwei82123300    时间: 2009-8-25 14:28
去掉后提示编译错误,能否帮助修改一下附件例子,谢谢
作者: aslxt    时间: 2009-8-25 16:07
7# yanwei82123300
见附件,我把Serial_No设为非主键后,一切正常
作者: yanwei82123300    时间: 2009-8-26 07:20
aslxt老师非常感谢您的帮助,还有一个小问题每次点击时会出现如图的提示,是什么原因?
作者: aslxt    时间: 2009-8-26 08:27
这是检查sql语句的提示,你可以把msgbox sqltext 删掉即可
作者: yanwei82123300    时间: 2009-8-26 08:47
thank you




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3