ACCESS如何防止重複錄入

由於擔心重要欄位重複,遂尋破解之法,無奈人窮技疏,寄予茫茫網路有屠龍之技,但多方搜尋無果。不過有幸人窮但思路跳脫,頓生一計造訪多個QQ群及論壇尋求妙方,雖年過不惑,但學問有先後,術業有專攻,達者為師,於是仿若小學生般畢恭畢敬,不恥下問,窮追不捨,遺憾人人都很忙,誰關心你那點破事,為此草草了事。

自掃門前雪,莫管他人瓦上霜,這一次醍醐灌頂。以往怎麼不堪,也得繼續,進一步清晰思路,以DCount函式為突破口,可惜涉及多個相同欄位沒有具體例項,僅提供部分程式碼參考,只能依樣畫葫蘆,但畫虎不成反為犬,更遺憾犬也沒有著落,不過屢敗屢試,功夫不負有心人,最終水落石出。

網上程式碼:

If dcount("*", "表名稱", "欄位1='" & Me.欄位1 & "' and 欄位2='" & Me.欄位2 & "'") >0 Then
   MsgBox "此資料已錄入,請不要重複新增!"
   Exit Sub
   End If

東施效顰:

If DCount("*", "收入明細", "日期=#" & Me.日期 & " #" And "收入專案='" & Me.收入專案 & "'" And "收入賬戶='" & Me.收入賬戶 & "'" And "收入金額=" & Me.收入金額) > 0 Then

MsgBox "此資料已錄入,請不要重複新增!"

Exit Sub

End If

測試結果:

反覆除錯以上程式碼,始終不得其法,甚至都蹦出買一個放大鏡的念頭,不過山窮水盡疑無路,柳暗花明又一村,恰逢其時一網友指出標點符號標註異常,真是一語驚醒夢中人,認真琢磨一番,最終雲開霧散,苦心中常得悅心之趣,也許此時此刻,共鳴者又有幾許?

水落石出:

If DCount("*", "收入明細", "日期=#" & Me.日期 & " # And 收入專案='" & Me.收入專案 & "' And 收入賬戶= '" & Me.收入賬戶 & "' And 收入金額=" & Me.收入金額) > 0 Then

MsgBox "此資料已錄入,請不要重複新增!"

Exit Sub

End If

測試結果:

學無止境,或許迷茫,抑或彷徨,總之求知路上困難重重,但仍要知難而進,不嘗試怎麼能隨隨便便成功,希大家一起共勉。