如何在Excel中通過右鍵點擊工單編號將其記錄寫入數(shù)據(jù)庫
本文是“網(wǎng)盤應用—Excel數(shù)據(jù)庫開發(fā)”系列的第四篇文章,上期我們介紹了遠程工單系統(tǒng)的派發(fā)單位客戶端部分。本期我們將深入介紹如何通過右鍵點擊工單編號將其記錄寫入數(shù)據(jù)庫。1. 右擊工單編號事件設計——功
本文是“網(wǎng)盤應用—Excel數(shù)據(jù)庫開發(fā)”系列的第四篇文章,上期我們介紹了遠程工單系統(tǒng)的派發(fā)單位客戶端部分。本期我們將深入介紹如何通過右鍵點擊工單編號將其記錄寫入數(shù)據(jù)庫。
1. 右擊工單編號事件設計——功能描述
我們的目標是實現(xiàn)以下功能:當用戶右鍵點擊某個工單編號時,程序將自動彈出確認對話框,經(jīng)過用戶確認后將對應的工單記錄寫入數(shù)據(jù)庫。
2. 右擊工單編號事件設計——Worksheet_BeforeRightClick事件
為了實現(xiàn)這個功能,我們需要對Worksheet_BeforeRightClick事件進行編程。該事件會在用戶右鍵點擊任意單元格時觸發(fā)。
3. 右擊工單編號事件設計——控制事件生效范圍
我們只需要在右擊工單編號時觸發(fā)該事件。為了控制事件生效的范圍,我們需要添加以下代碼:
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
Dim EndRow As Single '尾行行號
EndRow Sheets(1).Range("a65535").End(xlUp).Row
If 1 And > 1 And < EndRow And 1 Then '右擊第一列的第二行到最后一行某個單元格時條件成立
'執(zhí)行語句
End If
End Sub
4. 右擊工單編號事件設計——獲取用戶選項
當用戶右鍵點擊工單編號時,我們需要彈出一個確認對話框來獲取用戶的確認。以下是完整的代碼:
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
Dim EndRow As Single '尾行行號
EndRow Sheets(1).Range("a65535").End(xlUp).Row
If 1 And > 1 And < EndRow And 1 Then '右擊第一列的第二行到最后一行某個單元格時條件成立
'獲取用戶選項
Dim YorN As Byte
YorN MsgBox(" 是否將 " Target " 號工單的記錄存入數(shù)據(jù)庫?", vbOKCancel, "工單記錄存入數(shù)據(jù)庫")
'...
End If
End Sub
5. 右擊工單編號事件設計——記錄寫入數(shù)據(jù)庫
當用戶確認將工單記錄存入數(shù)據(jù)庫后,我們需要將其記錄寫入數(shù)據(jù)庫。以下是完整的代碼:
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
Dim EndRow As Single '尾行行號
EndRow Sheets(1).Range("a65535").End(xlUp).Row
If 1 And > 1 And < EndRow And 1 Then '右擊第一列的第二行到最后一行某個單元格時條件成立
'獲取用戶選項
Dim YorN As Byte
YorN MsgBox(" 是否將 " Target " 號工單的記錄存入數(shù)據(jù)庫?", vbOKCancel, "工單記錄存入數(shù)據(jù)庫")
If YorN 1 Then
False
Arr Range("a" ":g" ).Value '獲取當前行的所有數(shù)據(jù)
Dim DB As String
DB "d:kp遠程工單遠程工單數(shù)據(jù)庫.xls"
Do '檢測沖突循環(huán)體
If Dir(DB) <> "" Then
Filename:DB
Else
MsgBox "文件“遠程工單數(shù)據(jù)庫.xls”不存在!" vbCrLf vbCrLf "路徑為“d:kp電務工單電務工單數(shù)據(jù)庫—2015”"
End If
Workbooks("遠程工單數(shù)據(jù)庫.xls").Sheets(1).Range("a" ":g" ) Arr
Application.DisplayAlerts False
Workbooks("遠程工單數(shù)據(jù)庫.xls").Close savechanges:True
Application.DisplayAlerts True
If Dir(DB "*沖突*.*") <> "" Then
Kill (DB "*沖突*.*")
Else
Exit Do
End If
Loop '檢測沖突循環(huán)體,無沖突時結束循環(huán)。
True
"號工單的記錄存入數(shù)據(jù)庫!"
End If
End If
End Sub
6. 派發(fā)單位客戶端完工!
通過本期的介紹,我們完成了派發(fā)單位客戶端的全部設計。下期我們將開始設計第三個功能模塊——執(zhí)行單位客戶端。敬請期待!
7. 最后解釋一下圖片鏈接欄的用途:
如果將一個JPG圖片文件命名為“”放置在與數(shù)據(jù)庫同一個目錄下,該文件即與編號為“006”的工單鏈接在一起,可通過客戶端的鏈接地址將其打開。同時,該文件將與數(shù)據(jù)庫一起被同步到其它客戶端,可以被其它客戶端打開瀏覽。你還可以將簽字蓋章的工單原件掃描成JPG圖片作為工單的原始依據(jù)供所有客戶端調用。
以上就是本期的內(nèi)容,希望對你有所幫助。