君儀 發問時間: 電腦與網際網路軟體 · 1 0 年前

ACCESS主索引重覆的MSGBOX

我知道系統會自動警告,但每次都要跑完所有欄位才會出現警告

我希望在輸入主索引後就跳出警告方塊且再回到主索引欄位的VB要怎麼寫

例:表單

貨號-主索引(若有重覆,會跳出"嘸丟喔~貨號重覆",按確定後,會自動跳回錯誤的欄位,並反黑)

數量:

單價:

有請各位大大幫忙囉~~

已更新項目:

葉大大:

不好意思,我看不懂你的意思~方便寫VB給我參考執行嗎

2 個已更新項目:

POP大大:

您終於出現了,剛有測試了,現在變成輸入(不同貨號)時會出現”嘸丟喔~~...”

需要我寄範例給你看嗎?

3 個已更新項目:

補充說明

此表單是"產品建立",所以不希望貨號重覆,就像"代碼"一樣的主索引

3 個解答

評分
  • 同學
    Lv 7
    1 0 年前
    最佳解答

    版主好、各位大大好

    是否請版主寄範例檔案給我

    也讓我試試看

    2010-06-10 21:29:26 補充:

    版主好、各位大大好:

    利用上次版主傳過來的檔案測試如下

    建立貨號的AfterUpdate事件程序

    Private Sub 貨號_AfterUpdate()

    aa = DLookup("貨號", "產品明細", "貨號='" & 貨號 & "'")

    If aa <> "" Then

    MsgBox "嘸丟喔~貨號重覆"

    Me!貨號 = ""

    品牌.SetFocus

    貨號.SetFocus

    End If

    End Sub

    測試ok

    已將檔案回傳

    請試試看有問題再聯絡

    2010-06-10 21:37:59 補充:

    利用"產品登入"的表單作範例

    2010-06-11 12:57:25 補充:

    POP大大好:

    感謝提醒

    有自動跳回錯誤的欄位

    疏忽了反黑的部份

  • pop
    Lv 7
    1 0 年前

    版主好:

    貨號__的_onexit 事件_

    Private Sub 貨號_Exit(Cancel As Integer)

    If IsNull(DLookup("貨號", "資料表名稱", "貨號='" & 貨號 & "'")) Then

    MsgBox "嘸丟喔~貨號重覆"

    Cancel = True

    貨號.SelLength = IIf(貨號 <> "", Len(貨號), 0)

    End If

    End Sub

    copy上述藍色部份/貼上

    _貨號_資料表名稱_請自行改回你實際使用_物件名稱

    如果_貨號_是數字_資料型態_改一句

    If nz(DLookup("貨號", "資料表名稱", "貨號=" & 貨號))=0

    希望有幫上忙.

    2010-06-10 17:30:07 補充:

    版主好:

    sorry!沒有看清題意_

    下列更正_

    If IsNull(DLookup("貨號", "資料表名稱", "貨號='" & 貨號 & "'"))=false Then

    MsgBox "嘸丟喔~貨號重覆"

    Cancel = True

    貨號.SelLength = IIf(貨號 <> "", Len(貨號), 0)

    End If

    加=false_即可

    2010-06-10 22:28:50 補充:

    同學大大好:

    版主最後要的模式_是

    (自動跳回錯誤的欄位,並反黑)

  • Lv 5
    1 0 年前

    你必須在該欄位before updata 中程式中加入一個判別式

    在未update前找出是否為同樣的編號,如果總筆數<>0 ,就要undo了

還有問題?馬上發問,尋求解答。