在Access表中某個欄位輸入值,這個值在另表中

2021-08-10 10:16:43 字數 2869 閱讀 2195

1樓:匿名使用者

簡化的程式設計方案如下

假設a表結構為:a(id 自增id,model 文字 必填欄位=是)

為窗體(窗體1)新增一個非繫結文字框(text1),一個命令按鈕(command1)

為命令按鈕新增下列單擊事件過程

private sub command1_click()

dim strsql as string

if isnull(me.text1) then

msgbox "你text1未輸入資料"

me.text1.setfocus

exit sub

end if

'檢測文字框(text1)中的值是否已經存在於b表的「model」欄位裡

if isnull(dlookup("[model]", "b", "[model]=forms!窗體1!text1")) then

'b表「model」欄位不存在該值時彈出提示框

msgbox "b表「model」欄位沒有你新輸入的值"

end if

'設定追加查詢sql語句,將非繫結文字框(text1)中的值寫入查詢語句裡

strsql="insert into a(model) values('" & forms!窗體1!text1 & "')"

docmd.runsql strsql '執行sql查詢,將非繫結文字框(text1)中的值插入a表之中

end sub

2) 窗體繫結資料表方案

此方案比較適合初學者,程式設計時需要考慮的問題相對少得多,但是程式比較死板。

程式設計方案如下(新增記錄後跳到其它記錄時,**會檢測剛才新增的那個值是否存在於b表,如果沒有予以提示)

將窗體(窗體2)的資料來源設定為a表(假設表結構與第一個方案相同)文字框(id)與欄位id繫結,文字框(model)與欄位model繫結。

為窗體新增下列插入後事件過程即可

private sub form_afterinsert()

if isnull(dlookup("[model]", "b", "[model]=forms!窗體2!model")) then

'b表「model」欄位不存在該值時彈出提示框

msgbox "b表「model」欄位沒有你新輸入的值"

end if

end sub

我身邊沒有access 2007環境, 就不發成品到你郵箱了。你只要按照我的回答去做就好了,並不是太複雜。

你也可已在文字框控制元件的更新後事件過程裡進行檢測,這種方法每次輸入或修改文字框(model)時都會進行檢測,比較耗費系統資源

private sub model_afterupdate()

'檢測文字框(model)中的值是否已經存在於b表的「model」欄位裡

if isnull(dlookup("[model]", "b1", "[model]=forms!窗體1!model")) then

'b表「model」欄位不存在該值時彈出提示框

msgbox "b表「model」欄位沒有你新輸入的值"

end if

end sub

如果有不明白的地方可以追問或hi我。

2樓:矮漢恨天高

檢索一下b表不就好了,假如你上面那個按鈕作為錄入資料的按鈕啊:

private sub 儲存並新建_click()me.recordsource="select * from b表 where model='"+model.text+"'"

me.refresh

if me.recordset.eof thenmsgbox "插入資料b表中沒有記錄!",vbokonly,"輸入異常"

else

me.recordsource="insert into 表a(model) values('"+model.text+"')"

'插入記錄

me.refresh '重新啟用me.recordset.

update '更新記錄集me.recordset.movenext '記錄移動到新行model.

text="" '初始化內容model.setfucos '初始化焦點end if

end sub

mysql怎麼把表中一個欄位資料複製到另外一個表的某個欄位下

3樓:匿名使用者

update b set tel =(select mobile from a where a.id=b.aid)

注:aid是a,b兩個表的關聯欄位

4樓:遊刃香菸

如果想實現這個,首先你要找到兩張表共有的欄位,利用聯合查詢然後再進行update操作就可以了,直接複製的話估計只有把資料匯入到excel中操作了~

5樓:匿名使用者

insert into b(tel) select mobile from a

access中,表中某個欄位的預設值如何等於另一個表中的某個欄位 10

6樓:匿名使用者

用vba賦值就可以了。

用me.子窗體名.日期=父窗體.日期就可以了。

access,如何做到在表其中的一個欄位中輸入資料,其他的欄位欄位根據條件自動生成

7樓:解0人

如果是直接在抄表中輸襲入資料,沒有辦法自動bai生成對應的其它du欄位資料,

或者可以

zhi等你dao輸完以後再通過更新查詢來自動更新對應的其它欄位資料,這也需要兩步才能完成,並沒有即時自動生成的效果。

要實現你的目的,需要建立表對應的資料輸入窗體,在窗體中實現上面的功能。

如何批量更新所有表中某個欄位的值

果你的erp系統裡面,物料表跟其他表是連帶更新的話,就沒有問題,直接更改料號 如果沒有的話,那隻好寫sql語句,用遊標迴圈查詢與料號欄位相關 更新料號了。sql 如何將一個表中某個欄位的值全部更新到另外一個表相應的欄位 sql語句如下 update a set a.ty2 b.ty1 from t2...

sql某個欄位中包含欄位最多最多的分組查詢

給你個ms sql server的方法,別的只要找到求某字串內函子串個數的函式替換就行了。select a.id,a.form,b.個數 from tablename a,select form,個數 max len type len replace type,from tablename grou...

mysql語句修改表某個欄位的值為另表的值!求幫助

update tab1 set 訂閱名稱 select 工程名稱 from tab2 where 工程名稱 南寧一區 一個一個改會很慢,如果是oracle可以用merge mysql如何更新一個表中的某個欄位值等於另一個表的某個欄位值 update tb common verification tk...