久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

看實例學VFP:同時向兩個表中添加記錄

 happyngkmw 2012-09-07

看實例學VFP:同時向兩個表中添加記錄

時間:2009-02-28 www. 老馬
-

本文利用看實例學VFP:利用多個表中的字段創(chuàng)建新表這個實例中的知識來制作一個文本式錄入表單的簡單示例,,通過這個表單可以同時向“數(shù)據(jù)1”數(shù)據(jù)庫中的“網(wǎng)站信息表”和“附加信息表”這兩個表中添加記錄,,并且對錄入的數(shù)據(jù)可以選擇“保存”,、“添加”或“撤消”。這兩個表的索引字段分別是“編號”和“網(wǎng)站編號”,,這兩個字段的內(nèi)容是完全相同的,,只是分別處于兩個表中,并且兩個表通過這兩個字段發(fā)生關(guān)聯(lián),。關(guān)于“數(shù)據(jù)1”數(shù)據(jù)庫的情況已經(jīng)在看實例學VFP:示例數(shù)據(jù)庫一文中給出,,這里不再詳述。

本例要點:

在以前的例子中,,我們介紹過可以在“數(shù)據(jù)環(huán)境”中拖動一個表的字段到表單上,,系統(tǒng)會自動生成一個標簽及一個文本框控件。不過本例要求對錄入的數(shù)據(jù)可以選擇“保存”,、“添加”或“撤消”等操作,,如果也這樣設計的話,則錄入的數(shù)據(jù)不管你是否保存了都會寫入到表中,,原因是文本框是從數(shù)據(jù)環(huán)境中拖動過來而生成的,,它們的數(shù)據(jù)源(ControlSource)已經(jīng)自動與表中的字段綁定了。這很明顯與我們的設計要求不符,。

所以本例在設計時采取從“表單設計器”上手工向表單中添加文本框等控件,,并且將添加上去的各個文本框的ControlSource屬性值分別設置為臨時表lsb中的字段,在表單的init事件中對“網(wǎng)站信息表”和“附加信息表”進行連接查詢并將查詢結(jié)果輸出為臨時表lsb,。這樣表單在啟動時各個文本框就會顯示臨時表lsb當前記錄的各個記錄的值,,同時命令按鍵“保存”和“取消”不可用,單擊“第一條”等記錄移動按鈕可以依次顯示lsb表的各條記錄的值,,如下圖:

單擊了“添加”按鈕后,,這個按鈕本身及“第一條”~“最后一條”這四個記錄移動按鈕不可用,同時各個文本框被清零,、等待接收數(shù)據(jù),,如下圖:

此時單擊“取消”按鈕可以撤消此次操作,,單擊“保存”按鈕后,則對表單上各個文本框的值進行校驗,,如果都不會空,,才會依據(jù)表單上文本框的值分別在“網(wǎng)站信息表”和“附加信息表”這兩個表中添加一條記錄。

制作步驟:

一,、新建表單,,并將其caption屬性值設置為“設計文本式錄入表單”,AutoCenter屬性值設置為.t.,,width屬性值設置為375,,height屬性值設置為250,并將表單保存為“設計文本式錄入表單.scx”,。

補充:建好表單后,,需要右擊表單選“數(shù)據(jù)環(huán)境”命令,把“網(wǎng)站信息表”和“附加信息表”添加到數(shù)據(jù)環(huán)境中去(或者不使用數(shù)據(jù)環(huán)境,、在表單的init事件中把這兩個表打開也可以),。寫制作過程時忘記寫這一點,今天補充一下,。

二,、向表單上添加5個label控件,將這些label控件的AutoSize屬性值都設為.t.,,caption屬性值分別設置為“編號”,、“網(wǎng)站名稱”、“網(wǎng)站網(wǎng)址”,、“網(wǎng)站類型”和“網(wǎng)站描述”,。

三、向表單上添加5個文本框控件(Text1~Text5),,將這5個文本框控件(Text1~Text5)的ControlSource屬性值依次設置為“l(fā)sb.編號”,、“l(fā)sb.網(wǎng)站名稱”、“l(fā)sb.網(wǎng)站網(wǎng)址”,、“l(fā)sb.網(wǎng)站類型”和“l(fā)sb.網(wǎng)站描述”,。

四、向表單上再添加8個命令按鈕控件,。

五,、適當調(diào)整各控件的大小及它們在表單上的位置,調(diào)整后的表單設計器如下圖:

六,、將這8個命令按鈕控件(command1~command8)的caption屬性值依次設置為“第一條”,、“上一條”、“下一條”,、“最后一條”,、“添加”,、“保存”、“取消”和“退出”,。

七,、添加事件代碼:

(一)表單的init事件:

select 網(wǎng)站信息表
Select 編號,網(wǎng)站名稱,網(wǎng)站網(wǎng)址,網(wǎng)站類型,網(wǎng)站描述;
 from 網(wǎng)站信息表 Inner Join 附加信息表;
  on 網(wǎng)站信息表.編號= 附加信息表.網(wǎng)站編號 into cursor lsb
thisform.command6.enabled=.f.
thisform.command7.enabled=.f.
thisform.Text1.value=lsb.編號
thisform.Text2.value=lsb.網(wǎng)站名稱
thisform.Text3.value=lsb.網(wǎng)站網(wǎng)址
thisform.Text4.value=lsb.網(wǎng)站類型
thisform.Text5.value=lsb.網(wǎng)站描述

(二)“第一條”按鈕(command1)的click事件:

if bof()=.f.
 go top
endif
thisform.refresh

(三)“上一條”按鈕(command2)的click事件:

if bof()=.f.
 skip -1
endif
thisform.refresh

(四)“下一條”按鈕(command3)的click事件:

if eof()=.f.
  skip
endif
thisform.refresh

(五)“最后一條”按鈕(command4)的click事件:

if eof()=.f.
 go bottom
endif
thisform.refresh

(六)“添加”按鈕(command5)的click事件:

thisform.Text1.ControlSource=""
thisform.Text2.ControlSource=""
thisform.Text3.ControlSource=""
thisform.Text4.ControlSource=""
thisform.Text5.ControlSource=""
thisform.Text1.value=""
thisform.Text2.value=""
thisform.Text3.value=""
thisform.Text4.value=""
thisform.Text5.value=""
this.enabled=.f.
thisform.command1.enabled=.f.
thisform.command2.enabled=.f.
thisform.command3.enabled=.f.
thisform.command4.enabled=.f.
thisform.command6.enabled=.t.
thisform.command7.enabled=.t.

(七)“保存”按鈕(command6)的click事件:

a=alltrim(thisform.Text1.value)
b=alltrim(thisform.Text2.value)
c=alltrim(thisform.Text3.value)
d=alltrim(thisform.Text4.value)
e=alltrim(thisform.Text5.value)
if empty(a).or.empty(b).or.empty(c).or.empty(d).or.empty(e)
   messagebox("請輸入完整信息")
   return
endif
INSERT INTO 網(wǎng)站信息表;
 (編號,網(wǎng)站名稱,網(wǎng)站網(wǎng)址) VALUES(a,b,c)
INSERT INTO 附加信息表;
 (網(wǎng)站編號,網(wǎng)站類型,網(wǎng)站描述) VALUES(a,d,e)
messagebox("保存記錄成功!",64,"系統(tǒng)提示")
this.enabled=.f.
thisform.command7.enabled=.f.
thisform.command1.enabled=.t.
thisform.command2.enabled=.t.
thisform.command3.enabled=.t.
thisform.command4.enabled=.t.
thisform.command5.enabled=.t.
select 網(wǎng)站信息表
Select 編號,網(wǎng)站名稱,網(wǎng)站網(wǎng)址,網(wǎng)站類型,網(wǎng)站描述 from 網(wǎng)站信息表 Inner Join;
 附加信息表 on 網(wǎng)站信息表.編號= 附加信息表.網(wǎng)站編號 into cursor lsb
thisform.Text1.ControlSource="lsb.編號"
thisform.Text2.ControlSource="lsb.網(wǎng)站名稱"
thisform.Text3.ControlSource="lsb.網(wǎng)站網(wǎng)址"
thisform.Text4.ControlSource="lsb.網(wǎng)站類型"
thisform.Text5.ControlSource="lsb.網(wǎng)站描述"
thisform.refresh

(八)“取消”按鈕(command7)的click事件:

this.enabled=.f.
thisform.command6.enabled=.f.
thisform.command1.enabled=.t.
thisform.command2.enabled=.t.
thisform.command3.enabled=.t.
thisform.command4.enabled=.t.
thisform.command5.enabled=.t.
thisform.Text1.ControlSource="lsb.編號"
thisform.Text2.ControlSource="lsb.網(wǎng)站名稱"
thisform.Text3.ControlSource="lsb.網(wǎng)站網(wǎng)址"
thisform.Text4.ControlSource="lsb.網(wǎng)站類型"
thisform.Text5.ControlSource="lsb.網(wǎng)站描述"
thisform.refresh

(九)“退出”按鈕(command8)的click事件:thisform.release

八,、運行“設計文本式錄入表單.scx”,。

本例代碼在Win2003+VFP6.0環(huán)境下調(diào)試通過。

查看全套“菜鳥也學VFP”教程

    本站是提供個人知識管理的網(wǎng)絡存儲空間,,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導購買等信息,,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請點擊一鍵舉報,。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多