小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

如何學(xué)Access2003

 zhandzhend 2012-01-09

廢話:學(xué)Access我一直認(rèn)為沒有必要,學(xué)深點(diǎn)吧,沒有能力,學(xué)淺點(diǎn)吧,沒有意義,因?yàn)橐话愕那闆r用Excel已經(jīng)足夠用了,且更為方便。不過閑來無事,還是自學(xué)了一點(diǎn),如果有人跟我一樣無聊的話,倒不妨跟我學(xué)學(xué),以避免自己浪費(fèi)太多的時(shí)間。

要學(xué)之前,為了避免象我?guī)讉€(gè)星期以前一樣一頭霧水,先介紹幾個(gè)我自己學(xué)時(shí)用的我認(rèn)為值得下載的資料,當(dāng)然首先先要下載安裝好Access2003。一個(gè)是《Access2000VBA一冊通》,一個(gè)是《Microsoft Office Access 2003 Visual Basic 參考》,一個(gè)是《access編程-操作()》。

 

下面先談?wù)勎覍?/SPAN>Access2003的初淺認(rèn)識:

表,沒什么可說的,自然是用來存放基本數(shù)據(jù)的。

查詢,我認(rèn)為應(yīng)該是Access2003的核心了,對于Excel來說,強(qiáng)大的功能是函數(shù)的計(jì)算,對于Access2003來說,我覺得就是查詢了,通過查詢,完成數(shù)據(jù)的連接和重組等,以我的理解也就是“計(jì)算”。

窗體,窗體就是界面,如果不使用窗體的話,學(xué)Access2003基本就沒意義了,如果數(shù)據(jù)的輸入處理直接從表上或查詢中進(jìn)行,那用Excel就行了。窗體是Access2003的意義所在,也是麻煩所在啊。

報(bào)表,顧名思義就是報(bào)表羅。Access2003的報(bào)表的設(shè)置也是麻煩事,哪象Excel想怎樣就怎樣,不過誰叫你想什么都自動呢,手動有時(shí)就是靈活嘛。

Access2003VBA主要理解幾個(gè)概念:

屬性,比如我的名字,“名字”就是我的屬性。屬性的設(shè)置有兩種方式,不變的,就在屬性表中設(shè)置好了,比如默認(rèn)值什么的。需要變動的可以在VBA語句中設(shè)置,比如,要讓空值時(shí)按鍵不起作用,當(dāng)然只能在VBA語句中設(shè)置了。

方法,比如我吃飯,“吃飯”就是方法,可以理解為“動作”。各種的方法就是各種的“動作”。

事件,比如中午時(shí)我吃飯,“中午時(shí)”就是事件,就是“動作”發(fā)生的時(shí)間羅。

VBA語句就是說明“在什么時(shí)候,什么東東做什么或什么東東的屬性改成什么”

 

接下來言歸正傳,既然查詢是核心,也起著承上啟下的作用,所以先把我對查詢的總結(jié)分享給初學(xué)者。

(懶人需要相關(guān)示例的可聯(lián)系QQ188291180

查詢我認(rèn)為可分成兩類,一類包括簡單查詢、聯(lián)接查詢、聯(lián)合查詢,這類查詢只能用手動組建。另一類包括追加查詢、刪除查詢、生成表查詢、數(shù)據(jù)定義查詢,這類查詢主要通過VBA語句完成,屬自動組建。

類別 說明 SQL語句/VBA語句 示例文件名
簡單查詢 多字段 SELECT A班語文成績.姓名, A班語文成績.語文成績 簡單查詢01
    FROM A班語文成績;  
簡單查詢 單字段 SELECT 姓名 簡單查詢02
    FROM A班語文成績;  
簡單查詢 全字段 SELECT * 簡單查詢03
    FROM A班語文成績;  
簡單查詢 DISTINCT SELECT DISTINCT A班語文成績.姓名 簡單查詢04
    FROM A班語文成績;  
簡單查詢 DISTINCT SELECT DISTINCT A班語文成績.姓名, A班語文成績.性別 簡單查詢05
    FROM A班語文成績;  
簡單查詢 TOP SELECT TOP 2 * 簡單查詢06
    FROM A班語文成績;  
簡單查詢 TOP SELECT TOP 2 姓名, 語文成績 簡單查詢07
    FROM A班語文成績;  
簡單查詢 TOP /PERCENT SELECT TOP 73 PERCENT 姓名, 語文成績 簡單查詢08
    FROM A班語文成績;  
簡單查詢 WHERE/=>< SELECT * 簡單查詢09
    FROM A班語文成績  
    WHERE (((A班語文成績.姓名)="張三"));  
簡單查詢 WHERE/=>< SELECT * 簡單查詢10
    FROM A班語文成績  
    WHERE 語文成績=75;  
簡單查詢 WHERE/NULL SELECT * 簡單查詢11
    FROM A班語文成績  
    WHERE 語文成績 IS NOT NULL;  
簡單查詢 WHERE/LIKE SELECT * 簡單查詢12
    FROM A班語文成績  
    WHERE (((A班語文成績.姓名) Not Like "張*"));  
簡單查詢 WHERE/IN SELECT * 簡單查詢13
    FROM A班語文成績  
    WHERE (((A班語文成績.姓名) Not In ("張三","李四")));  
簡單查詢 WHERE/BETWEEN SELECT * 簡單查詢14
    FROM A班語文成績  
    WHERE (((A班語文成績.姓名) Not Between "張三" And "李四"));  
簡單查詢 WHERE/BETWEEN SELECT * 簡單查詢15
    FROM A班語文成績  
    WHERE (((A班語文成績.語文成績) Not Between 60 And 80));  
簡單查詢 WHERE/OR/AND SELECT * 簡單查詢16
    FROM A班語文成績  
    WHERE (((A班語文成績.姓名)='張三' Or (A班語文成績.姓名)='李四') AND ((A班語文成績.性別)="男"));  
簡單查詢 WHERE/ORDER BY SELECT * 簡單查詢17
    FROM A班語文成績  
    WHERE (((A班語文成績.語文成績)>60))  
    ORDER BY A班語文成績.語文成績, A班語文成績.姓名;  
簡單查詢 ORDER BY/DESC SELECT * 簡單查詢18
    FROM A班語文成績  
    ORDER BY A班語文成績.語文成績, A班語文成績.姓名 DESC;  
簡單查詢 AS SELECT B.姓名 AS NAME, B.性別 AS XB 簡單查詢19
    FROM A班語文成績 AS B;  
       
聯(lián)接查詢 INNER JOIN SELECT A班語文成績.姓名, A班語文成績.性別, A班語文成績.語文成績, A班數(shù)學(xué)成績.數(shù)學(xué)成績 聯(lián)接查詢01
    FROM A班語文成績 INNER JOIN A班數(shù)學(xué)成績 ON A班語文成績.姓名 = A班數(shù)學(xué)成績.姓名;  
    說明:INNER JOIN 關(guān)鍵字在表中存在至少一個(gè)匹配時(shí)返回行,沒有匹配,就不會列出這些行。  
聯(lián)接查詢 LEFT JOIN SELECT A班語文成績.姓名, A班語文成績.性別, A班語文成績.語文成績, A班數(shù)學(xué)成績.數(shù)學(xué)成績 聯(lián)接查詢02
    FROM A班語文成績 LEFT JOIN A班數(shù)學(xué)成績 ON A班語文成績.姓名 = A班數(shù)學(xué)成績.姓名;  
    說明:LEFT JOIN 關(guān)鍵字會從左表那里返回所有的行,即使在右表中沒有匹配的行。  
聯(lián)接查詢 RIGHT JOIN SELECT A班語文成績.姓名, A班語文成績.性別, A班語文成績.語文成績, A班數(shù)學(xué)成績.數(shù)學(xué)成績 聯(lián)接查詢03
    FROM A班語文成績 RIGHT JOIN A班數(shù)學(xué)成績 ON A班語文成績.姓名 = A班數(shù)學(xué)成績.姓名;  
    說明:RIGHT JOIN 關(guān)鍵字會右表那里返回所有的行,即使在左表中沒有匹配的行。  
聯(lián)接查詢 FULL JOIN SELECT A班語文成績.姓名, A班語文成績.性別, A班語文成績.語文成績, A班數(shù)學(xué)成績.數(shù)學(xué)成績 聯(lián)接查詢04
    FROM A班語文成績, A班數(shù)學(xué)成績;  
    說明:會從左表和右表那里返回所有的行。  
       
聯(lián)合查詢 UNION SELECT * FROM A班語文成績 UNION  SELECT * FROM B班語文成績 UNION SELECT * FROM C班語文成績; 聯(lián)合查詢01
聯(lián)合查詢 UNION SELECT 姓名,性別 FROM A班語文成績 UNION  SELECT 姓名,性別  FROM B班語文成績 UNION SELECT 姓名,性別  FROM C班語文成績; 聯(lián)合查詢02
聯(lián)合查詢 UNION/ALL SELECT 姓名,性別 FROM A班語文成績 UNION  ALL SELECT 姓名,性別  FROM B班語文成績 UNION ALL SELECT 姓名,性別  FROM C班語文成績; 聯(lián)合查詢03
    說明:UNION 內(nèi)部的 SELECT 語句必須擁有相同數(shù)量的列,列也必須擁有相似的數(shù)據(jù)類型(是指語句所指向的列,并非指實(shí)際的各表,實(shí)際的各表列數(shù)可不同,只要所取的列相同即可)。同時(shí),每條 SELECT 語句中的列的順序必須相同(是指不同的順序會造成聯(lián)合段的錯位)。默認(rèn)地,UNION 操作符選取不同的值。如果允許重復(fù)的值,應(yīng)使用 UNION ALL。另外,UNION 結(jié)果集中的列名總是等于 UNION 中第一個(gè) SELECT 語句中的列名。  
       
追加查詢 VALUES/全字段 Private Sub 追加_Click() 窗體追加刪除查詢1
刪除查詢   DoCmd.RunSQL ("INSERT INTO A班語文成績副本 VALUES (10, 010, 'A','王山', '男', 60)")  
    End Sub  
    Private Sub 刪除_Click()  
    DoCmd.RunSQL ("DELETE * FROM A班語文成績副本 WHERE 編號=10")  
    End Sub  
    說明:“編號”字段為自動編號,追加的編號不能重復(fù),應(yīng)大于現(xiàn)有的編號,或?yàn)橐褎h除了的編號。  
追加查詢 VALUES/選字段 Private Sub 追加_Click() 窗體追加刪除查詢2
刪除查詢   DoCmd.RunSQL ("INSERT INTO A班語文成績副本 (學(xué)號,姓名,語文成績 )VALUES ('010','王山', 60)")  
    End Sub  
    Private Sub 刪除_Click()  
    DoCmd.RunSQL ("DELETE 姓名 FROM A班語文成績副本 WHERE 學(xué)號='010'")  
    End Sub  
    說明1:“編號”字段為自動編號可不寫,則表將按順序自動編號。  
    說明2:刪除都是刪除一整行,不存在只刪除一字段內(nèi)容的情況。  
追加查詢 表加表 Private Sub 追加_Click() 窗體追加刪除查詢2
刪除查詢   DoCmd.RunSQL ("INSERT INTO A班語文成績副本 (學(xué)號,姓名,語文成績) SELECT 學(xué)號,姓名,語文成績 FROM B班語文成績副本 ORDER BY 姓名")  
    End Sub  
    Private Sub 刪除_Click()  
    DoCmd.RunSQL ("DELETE  FROM A班語文成績副本 WHERE 班級 is null")  
    End Sub  
    說明:“編號”字段為自動編號可不寫,則表將按順序自動編號。  
       
生成表查詢 全字段 Private Sub 生成表_Click() 窗體生成表查詢1
刪除查詢   DoCmd.RunSQL ("select * into A班語文成績備份 FROM A班語文成績 WHERE (語文成績>60)")  
    End Sub  
    Private Sub 刪除_Click()  
    DoCmd.RunSQL ("DELETE * FROM A班語文成績備份")  
    End Sub  
    說明:可以在不刪除表的情況下刪除所有的行。這意味著表的結(jié)構(gòu)、屬性和索引都是完整的  
       
生成表查詢 選字段 Private Sub 生成表_Click() 窗體生成表查詢2
數(shù)據(jù)定義查詢 刪除表 DoCmd.RunSQL ("select 姓名,語文成績 into A班語文成績備份 FROM A班語文成績 WHERE (語文成績>60)")  
    End Sub  
    Private Sub 刪除表_Click()  
    DoCmd.RunSQL ("DROP TABLE A班語文成績備份")  
    End Sub  
生成表查詢 表加表 Private Sub 生成表_Click() 窗體生成表查詢3
數(shù)據(jù)定義查詢 刪除表 DoCmd.RunSQL ("select A班語文成績.姓名,A班語文成績.語文成績,A班數(shù)學(xué)成績.數(shù)學(xué)成績 into A班成績備份 FROM A班語文成績 inner join A班數(shù)學(xué)成績 on A班語文成績.姓名 = A班數(shù)學(xué)成績.姓名")  
    End Sub  
    Private Sub 刪除表_Click()  
    DoCmd.RunSQL ("DROP TABLE A班成績備份")  
    End Sub  
    說明:生成表查詢?nèi)绻硪汛嬖诘膶⒈粍h除。生成表查詢可以用聯(lián)接語句以從兩表中取字段。生成表不產(chǎn)生主鍵。  
數(shù)據(jù)定義查詢 增加列 Private Sub 增加列_Click() 數(shù)據(jù)定義查詢1
數(shù)據(jù)定義查詢 刪除列 DoCmd.RunSQL ("ALTER TABLE B班語文成績副本 ADD COLUMN 備注 string,上學(xué)期語文成績 INT")  
    End Sub  
    Private Sub 刪除列_Click()  
    DoCmd.RunSQL ("ALTER TABLE B班語文成績副本 DROP COLUMN 備注 ,上學(xué)期語文成績 ")  
    End Sub  
    說明1:刪除表中列,但不能刪除主鍵列  
    說明2:向表中增加列,應(yīng)注意表中自動編號只能有一個(gè),且列必須指定數(shù)據(jù)類型。  
數(shù)據(jù)定義查詢 更改數(shù)據(jù)類型 Private Sub 更改數(shù)據(jù)類型_Click() 數(shù)據(jù)定義查詢2
    DoCmd.RunSQL ("ALTER TABLE B班語文成績副本 ALTER COLUMN 語文成績 text")  
    End Sub  
    Private Sub 更改數(shù)據(jù)類型2_Click()  
    DoCmd.RunSQL ("ALTER TABLE B班語文成績副本 ALTER COLUMN 語文成績 int")  
    End Sub  
    說明:更改表中列的數(shù)據(jù)類型,主鍵的類型也可更改,但當(dāng)表中有數(shù)據(jù)時(shí),數(shù)據(jù)類型不能改為自動編號,要改應(yīng)選刪除所有數(shù)據(jù)  
數(shù)據(jù)定義查詢 刪除主鍵 Private Sub 刪除主鍵_Click() 數(shù)據(jù)定義查詢3
    DoCmd.RunSQL ("ALTER TABLE B班語文成績副本 DROP CONSTRAINT PRIMARYKEY")  
    End Sub  
  增添主鍵 Private Sub 增添主鍵_Click()  
    DoCmd.RunSQL ("ALTER TABLE B班語文成績副本 ADD PRIMARY KEY (編號,學(xué)號)")  
    End Sub  
    說明1:刪除表中主鍵,注意PRIMARYKEY要連寫  
    說明2:添加表主鍵,注意表中存在主鍵則顯示出錯,加一個(gè)或兩主鍵都要用括號括起。  

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

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多