2013-10-26 77 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

非常感謝您的支持 –