2013-10-26 78 views
1

嗨,大家好记录,我试过访问VBA代码,它给我的错误 这里是:访问VBA代码,删除不工作

Private Sub Command102_Click() 
If msgbox("are u sure", MsgBoxStyle.yesno, "Delete") = MsgBoxResult.Yes Then 
Resume 
    msgbox ("deleted") 
    Else 
    msgbox ("canceld") 
End If 
    DoCmd.RunCommand acCmdDeleteRecord 
End Sub 
+1

你会得到什么错误? –

+0

你使用VB.NET还是VBA? 'VBA'没有'MsgBoxStyle' AFAIK这样的东西。您可以改为'vbYesNo'。 – Ioannis

+0

感谢您的快速重播 我新vb顺便说一句我刚刚从互联网上的代码,但我可以理解它的方式所有我需要的代码做msgbox是或否如果是恢复代码如果没有取消和代码删除记录,所有我希望你了解我和thx再 –

回答

2

VBA,因为它是为VB.NET写不明白这个代码。如果这是您第一次听到VB.NET,请将它想像为VBA的延伸(这是一个巨大的过分简化,我希望我不会因为写这些东西而被低估))。

VBA语法,你会做这样的事情:

Private Sub Command102_Click() 
    If MsgBox(Prompt:="Are you sure?", Buttons:=vbYesNo, Title:="Delete") = vbYes Then 
     On Error Resume Next 
     DoCmd.RunCommand acCmdDeleteRecord 
     If Err.Number = 0 Then 
      MsgBox Prompt:="Deleted", Buttons:=vbOKOnly, Title:="Deleted" 
     Else 
      MsgBox Prompt:="There is no record to delete!", Buttons:=vbOKOnly, Title:="Error" 
     End If 
    Else 
     MsgBox Prompt:="Canceled", Buttons:=vbOKOnly, Title:="Canceled" 
    End If 
End Sub 

你不会在这方面需要Resume

看看this post以及它很相似。

希望这会有所帮助!

+0

非常感谢你试了一下,但我给我错误(agruments不可选) –

+0

对不起,有点粗心: )现在它工作。任何'MsgBox'至少需要一个提示。顺便说一下,如果您尝试删除记录但没有记录,则会收到错误信息。如果发生这种情况,我会添加一条通知用户的消息 – Ioannis

+0

非常感谢您的支持 –