1樓:匿名使用者
通常,乙個資料庫應用系統,總會具有查詢功能,就是根據輸入的關鍵資訊,到資料庫裡找到並顯示有關記錄。(比如:輸入職工號,顯示出該職工的記錄資訊。)
你的這個系統,不可能只有資料錄入的功能,一定會有資料查詢功能吧?
其實,為了防止錄入相同的記錄,在真正新增到資料庫之前,首先進行查詢,如果找到同樣的記錄,就提示已經存在該記錄,並不進行新增!反之進行新增記錄!
2樓:滿以柳
一般利用相關textbox 控制項 的validate()事件或keypress()事件 處理:
如:在錄入「客戶編碼」時,當游標離開該textbox 控制項,利用 validate()事件進行查重
private sub text1_validate()
dim adoconn as adodb.connection
dim adorect as adodb.recordset
if trim(text1)<>"" then
adoconn.open "資料庫連線字串..."
adorect.open "select * from 客戶資訊表 where 客戶編號='"+trim(text1)+"'",adoconn,adopenstatic, adlockreadonly
if not adorect.bof and not adorect.eof then
msgbox "客戶編碼重複!"
cancel=true
exit sub
end if
end if
end sub
3樓:匿名使用者
儲存資料之前,用客戶資訊做為條件去資料庫中查詢下有沒有存在,如果有,就執行你想執行的動作.
access如何使錄入資料重複時會提示資料是否錄入,點是錄入,否不錄入,謝謝
4樓:常山大寶
在表中直接錄入的話不能達到你的要求,只有在窗體中錄入才可以!
下面以【學生資訊表】中的【姓名】欄位為例進行說明:
在【姓名】字段【失去焦點】事件中寫入判斷是否有姓名重複**。
有重複則彈出詢問框,是否繼續?
回答【否】則清除姓名框,並且把焦點返回姓名等待重新輸入。。
private sub 姓名_lostfocus()if dcount("姓名", "學生資訊表", "姓名='" & 姓名 & "'") > 0 then
if msgbox("您錄入的姓名重複!是否繼續?", vbyesno) = vbno then
me.姓名.value = "" '清除姓名控制項內的內容me.
學號.setfocus '為把焦點返回姓名控制項做準備me.姓名.
setfocus '焦點返回姓名,等待重新輸入end if
end if
end sub
在往vb連線access資料庫輸入時怎樣判斷輸入是否重複?
5樓:匿名使用者
private sub command3_click()on error resume next
if text1.text="" thenmsgbox "請輸入要新增的型號!", vbokonly, "提示"
exit sub
end if
data1.recordset.addnewif err then
msgbox "新增失敗!可能是型號重複了。請檢查。", vbokonly, "錯誤"
end if
end sub
6樓:匿名使用者
顯然你的**是有問題的
xh=「select *..."這句,估計你想查到主鍵存在與否,但是事實上你這句是乙個賦值語句,只是叫xh變數="select *....
給你二個思路,1、在增加新的記錄前先查詢這個序號是否存在,這個很簡單啊,請仔細看相關的資料2、捕捉是主鍵重複的錯誤 用on error
7樓:匿名使用者
沒用的東西還要謝謝他
8樓:匿名使用者
在存入前,先select這個主鍵,如果存在就提示存在,不儲存就好了。
vb access錄入問題,當有相同編號數量增加,不再錄入基本資訊,沒有相同編號則直接錄入access
9樓:匿名使用者
dim conn as new adodb.connection
dim rsxy as new adodb.recordset
dim sqlxy as string
sqlxy = "select 數量 from xykc where 商品編號='" & trim(txtfields(0).text) & "'"
conn.open (adodc2.connectionstring)
rsxy.open sqlxy, conn, 3, 3
if rsxy.eof then
adodc2.recordset.addnew
adodc2.recordset(0) = txtfields(0).text
adodc2.recordset(1) = txtfields(1).text
adodc2.recordset(4) = txtfields(2).text
adodc2.recordset(3) = txtfields(3).text
adodc2.recordset(6) = txtfields(10).text
adodc2.recordset(5) = txtfields(5).text
adodc2.recordset(8) = txtfields(8).text
adodc2.recordset(9) = txtfields(9).text
adodc2.recordset(2) = combo2.text
adodc2.recordset(7) = combo1.text
adodc2.recordset.update
else
rsxy.fields("數量") = val(rsxy.fields("數量")) + val(txtfields(5).text)
rsxy.update
end if
10樓:匿名使用者
if adodc2.recordset.recordcount=0 then
adodc2.recordset.addnew
adodc2.recordset(0) = txtfields(0).text
adodc2.recordset(1) = txtfields(1).text
adodc2.recordset(4) = txtfields(2).text
adodc2.recordset(3) = txtfields(3).text
adodc2.recordset(6) = txtfields(10).text
adodc2.recordset(5) = txtfields(5).text
adodc2.recordset(8) = txtfields(8).text
adodc2.recordset(9) = txtfields(9).text
adodc2.recordset(2) = combo2.text
adodc2.recordset(7) = combo1.text
adodc2.recordset.update
endif
access資料庫vba判斷輸入使用者名稱與主鍵是否重複的錯誤
11樓:mexico卡卡
private sub command3_click()on error resume next
if text1.text="" thenmsgbox "請輸入要新增的型號!", vbokonly, "提示"
exit sub
end if
data1.recordset.addnewif err then
msgbox "新增失敗!可能是型號重複了。請檢查。", vbokonly, "錯誤"
end if
end sub
access資料庫問題,ACCESS資料庫的問題!
給你個可行的試試,可以的話麻煩給個肯定以及最佳,謝謝 首先備份表abc到另乙個新錶中abc bak,然後將abc表匯出為excel 然後將 abc 中 where mac 1100的所有記錄刪除,開啟匯出的excel只保留mac 1100的記錄,然後將mac那一列清空,將第一行的mac列公式寫為 i...
vb中,如何在access資料庫的表裡增加字段
dim as adodb.connectiondim rs as adodb.recordsetset new adodb.connectionset rs new adodb.recordset open strconn strconn是事先定義好的乙個資料庫連線字串 rs.open select...
Access資料庫和Visual FoxPro資料庫有什麼區別
沒有根本性的差異的 都是關係型資料庫 都是小型資料庫 都是微軟開發的 要說差異主要就是程式語言的差異 vfp有自己的語言,access支援的是vba語言。您是準備考計算機二級嗎?這兩個資料庫我都略微有所接觸。都是在 的基礎上作用初步的一些程式設計技巧實現大量的資料自動化管理。access相比vf具有...