當前位置:首頁 » 編程語言 » access生成sql語句
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

access生成sql語句

發布時間: 2022-07-16 08:56:12

Ⅰ Access2010中如何運行sql執行SQL語句

1、打開ACCESS資料庫,找到右邊的空數據,單擊彈出對話框,讓你選擇資料庫保存的路徑和名稱,大家根據自己的實際情況保存吧,我這里使用默認的。

Ⅱ 求一個將access的資料庫中的表中的數據導出成sql語句的方法或工具

把Access 數據導出到SQL Server的方法如下:
1、打開ACCESS資料庫,右鍵選中要導出的表TABLE1,選擇導出,出現一個『將表TABLE1導出....『的對話框,在『保存類型(T)』下拉列表選中'ODBC Databases (),出現一個導出對話框,一般的表名不做修改,默認就行了,點擊『確定』。
2、在『選擇數據源』對話框中,點擊『新建』按鈕,出現的『創建新數據源』中,選擇『SQL Server』數據源驅動程序,點『下一步』,數據源名中可以輸入你想定義的數據源名,本例數據源名為『DC12』,點『下一步,點『完成』。
3、在出現的『創建到SQL Server的新數據源』對話框中,伺服器(S):選項下拉列表中,選擇一個你想連接到的本地資料庫或者網路資料庫的伺服器名稱,本例的伺服器名稱為『JIABAO9』,點『下一步』,選中『使用用戶輸入登錄ID和密碼的SQL Server 驗證(S)』,分別在『登錄ID(L)和密碼(P)』中輸入訪問資料庫的的用戶名和密碼,點『下一步』。
4、選擇資料庫的對話框里,在『更改默認的資料庫為(D)』下拉列表中選擇一個已經有存在的資料庫名稱,本例資料庫名為『DBTEXT』,也就是把ACCESS資料庫的TABLE1表數據導出到DBTEXT資料庫,按『下一步』--》完成--》確定。
5、在出現的『選擇數據源』對話框中,一般我們不用再修改『DSN 名稱(D)』的文件名了,前面已經命名為『DC12』,點『確定』;要求你在『SQL Server登錄』對話框里再次輸入登錄資料庫的用戶名和密碼,輸入完後,點擊『確定』,如果不出現錯誤提示,表明已經成功將ACCESS資料庫表TABLE1的表結構和數據導出到資料庫名為JIABAO9了。
6、在JIABAO9資料庫下就新建立有一個名稱為TABLE1的新表了,可用select * from TABLE1 來查詢剛才導入的數據了。
7、因為是從ACCESS把數據表導入到SQL SERVER資料庫的, 所以ACCESS和SQL SERVER數據
庫的語法上有差別;
select 'stano,sname from stainfo where datepart(''m'',birth) =';是在ACCESS
資料庫中的查詢語句,在SQL SERVER中不能這樣表達,否則會產生語法錯誤,
無效的參數傳遞: Invalib parameter specified for datepart;
注意大多數都是由引號或標點符號引起的,把m的引號去掉,

Ⅲ access的sql語句有哪些

建表:

Create Table Tab1 (

ID Counter,

Name string,

Age integer,

[Date] DateTime);

技巧:

自增欄位用 Counter 聲明.

欄位名為關鍵字的欄位用方括弧[]括起來,數字作為欄位名也可行.

建立索引:

下面的語句在Tab1的Date列上建立可重復索引

Create Index iDate ON Tab1 ([Date]);

完成後ACCESS中欄位Date索引屬性顯示為 - 有(有重復).

下面的語句在Tab1的Name列上建立不可重復索引

Create Unique Index iName ON Tab1 (Name);

完成後ACCESS中欄位Name索引屬性顯示為 - 有(無重復).

下面的語句刪除剛才建立的兩個索引

Drop Index iDate ON Tab1;

Drop Index iName ON Tab1;

ACCESS與SQLSERVER中的UPDATE語句對比:

SQLSERVER中更新多表的UPDATE語句:

UPDATE Tab1

SET a.Name = b.Name

FROM Tab1 a,Tab2 b

WHERE a.ID = b.ID;

同樣功能的SQL語句在ACCESS中應該是

UPDATE Tab1 a,Tab2 b

SET a.Name = b.Name

WHERE a.ID = b.ID;

即:ACCESS中的UPDATE語句沒有FROM子句,所有引用的表都列在UPDATE關鍵字後.

上例中如果Tab2可以不是一個表,而是一個查詢,例:

UPDATE Tab1 a,(Select ID,Name From Tab2) b

SET a.Name = b.Name

WHERE a.ID = b.ID;

訪問多個不同的ACCESS資料庫-在SQL中使用In子句:

Select a.*,b.* From Tab1 a,Tab2 b In 'db2.mdb' Where a.ID=b.ID;

上面的SQL語句查詢出當前資料庫中Tab1和db2.mdb(當前文件夾中)中Tab2以ID為關聯的所有記錄.

缺點-外部資料庫不能帶密碼.

在ACCESS中訪問其它ODBC數據源

下例在ACCESS中查詢SQLSERVER中的數據

SELECT * FROM Tab1 IN [ODBC]

[ODBC;Driver=SQLServer;UID=sa;PWD=;Server=127.0.0.1;DataBase=Demo;]

外部數據源連接屬性的完整參數是:

[ODBC;DRIVER=driver;SERVER=server;DATABASE=database;UID=user;PWD=pass(word);]

其中的DRIVER=driver可以在注冊表中的

HKEY_LOCAL_MACHINESOFTWAREODBCODBCINST.INI

中找到

ACCESS支持子查詢

ACCESS支持外連接,但不包括完整外部聯接,如支持

LEFT JOIN 或 RIGHT JOIN

但不支持

FULL OUTER JOIN 或 FULL JOIN

ACCESS中的日期查詢

注意:ACCESS中的日期時間分隔符是#而不是引號

Select * From Tab1 Where [Date]>#2002-1-1#;

在DELPHI中我這樣用

SQL.Add(Format(

'Select * From Tab1 Where [Date]>#%s#;',

[DateToStr(Date)]));

ACCESS中的字元串可以用雙引號分隔,但SQLSERVER不認,所以為了遷移方便和兼容,

建議用單引號作為字元串分隔符.

查詢時生成序號
SELECT (SELECT Count([xlh].[aa]) AS AutoNum FROM xlh WHERE (((xlh.aa)<=xlh_Alias.aa));) AS 序號, xlh.aa
FROM xlh AS xlh_Alias INNER JOIN xlh ON xlh_Alias.aa=xlh.aa
ORDER BY xlh.aa;
多表sql查詢
SELECT test.aa AS 第一個欄位, test1.bb AS 第二個欄位, test1.cc
FROM test, test1
WHERE test.aa=test1.aa;
多表sql查詢1
SELECT a.aa, b.bb, b.cc, b.cc*100 AS 合計
FROM test AS a, test1 AS b
WHERE a.aa=b.aa;
多表sql查詢排序
SELECT a.aa, b.bb, b.cc AS 第三個欄位
FROM test AS a, test1 AS b
WHERE a.aa=b.aa
ORDER BY b.cc;
查詢例子
SELECT a.dhhm
FROM xl11a AS a, xl919 AS b
WHERE a.dhhm=b.dhhm and aa<>"1";

日期時間分隔符是#而不是引號
Select * From Tab1 Where [Date]>#2002-1-1#;
兩個表關聯修改多個欄位
UPDATE chhl AS a, jbsj AS b SET a.fzr = b.fzr, a.gh = b.gh
WHERE a.dhhm=b.dhhm;
update chhl set (fzr,gh)=
(SELECT b.fzr, b.gh
FROM chhl AS a, jbsj AS b
WHERE a.dhhm=b.dhhm);
如果Tab2可以不是一個表,而是一個查詢
UPDATE Tab1 a,(Select ID,Name From Tab2) b
SET a.Name = b.Name
WHERE a.ID = b.ID;
UPDATE Tab1 a,Tab2 b
SET a.Name = b.Name
WHERE a.ID = b.ID;
訪問多個不同的ACCESS資料庫-在SQL中使用In子句,外部資料庫不能帶密碼
Select a.*,b.* FromTab1 a,Tab2 b In 'db2.mdb' Where a.ID=b.ID;
將一個表的某個欄位置空
UPDATE chhl AS a SET a.fzr = null, a.gh = null;
刪除兩個表中欄位一樣的記錄
delete from xl11 where dhhm in(SELECT a.dhhm
FROM xl11 AS a, xl919 AS b
WHERE a.dhhm=b.dhhm;);
完成後ACCESS中欄位Name索引屬性顯示為--有(無重復)
Create Unique Index iName ON Tab1 (Name);
下面的語句刪除剛才建立的兩個索引
Drop Index iDate ONTab1;
Drop Index iName ON Tab1;

Ⅳ 如何把ACCESS的資料庫導出成SQL語句

沒有辦法,只能自己數據定義查詢語句
或自己寫一個VBA函數生成語句

Ⅳ ACCESS里如何用SQL語句創建資料庫和表

打開Access時點擊空白資料庫起好名就創建了資料庫,資料庫里建表以及查詢可以使用SQL語句。
1.創建-->查詢設計-->關閉彈出窗口
2.切換視圖
3.輸入SQL語句並執行
4.執行查詢語句
執行完需要切換視圖才能重新回到SQL語句窗口

Ⅵ 如何將ACCESS轉化為SQL

下面這個可以參考:
很多朋友想用SQL2000資料庫的編程方法,但是卻又苦於自己是學ACCESS的,對SQL只是一點點的了解而已,這里我給大家提供以下參考---將ACCESS轉化成SQL2000的方法和注意事項

一,首先,我說的是在ACCESS2000,SQL2000之間轉換,其他的我也還沒有嘗試過,希望大家多多試驗,肯定是有辦法的;

二,轉換的方法

1,打開」控制面板「下」管理工具「中的」資料庫源「;

2,按」添加「添加一個新的數據源,在選擇欄里選「Driver do microsoft Access (*.mdb)」,完成後將出現一個框,在「資料庫源」裡面輸入你想寫的名稱,我取名叫「ABC」,說明不需要填,接著,按下面的選擇,尋找你的資料庫地 址和選中(注意,請先備份自己的ACCESS資料庫),然後確定。數據源在這里建好了,剩下轉換了。

3,打開SQL2000企業管理器,進入資料庫,新建一個空的資料庫「ABC」;

4,選擇新建立的資料庫,按滑鼠右鍵,選擇「所有任務」下「導入數據」,按「下一步」繼續;

5,在資料庫源下拉但中選擇」Driver do microsoft Access(*.mdb)「,在」用戶/系統DSN「中,選種你剛才添加的」ABC「,按 」下一步「;

6,「目的」不需要修改,選擇伺服器(一般下為自己的本機local,也可以選擇伺服器地址或者區域網地址,確定你的許可權是否可以操作,),使用WINDOWS 身份驗證指用自己的系統管理員身份操作,使用SQL身份操作驗證可以用於網站的操作,推薦用後者;

7,選上使用SQL身份操作驗證後,填寫你的用戶名和密碼,我自己選擇的是系統默認號碼sa,****,資料庫選擇剛新建的ABC,按下一步;

8,這一步的兩個單項選擇,從數據源復製表和視圖與用一條查詢指令指定要傳輸的數據,選擇前者,按下一步繼續;

9,這里將出現你自己ACCESS資料庫的表,按全選後,下一步;

10,DTS導入/導出向導,看立即運行被選中按下一步,

11,按完成繼續;

12,這個步驟你將看到你的數據被導入SQL2000裡面,當出現已經成功把XXX個表導入到資料庫的字樣,而且所有的表前面都有綠色的勾,就 表示成功導入所有數據,如果中途出現問題或者表前面有紅色的叉的話,說明該表沒有成功導入,這時就要回去查看自己的操作是否正確了.

三,數據修改

1,由於SQL2000裡面沒有自動編號,所以你的以自動編號設置的欄位都會變成非空的欄位,這就必須手工修改這些欄位,並把他的標示選擇是,種子為1,增量為1,

2,另外,ACCESS2000轉換成SQL2000後,原來屬性為是/否的欄位將被轉換成非空的bit,這時候你必須修改成自己想要的屬性了;

3,另外,大家要注意對時間函數的把握.ACCESS與SQL是有很多不同的.

ACCESS轉MS SQL資料庫的幾點經驗

1.ACCESS的資料庫中的自動編號類型在轉化時,sql server並沒有將它設為自動編號型,我們需在SQL創建語句中加上identity,表示自動編號!

2.轉化時,跟日期有關的欄位,SQL SERVER默認為smalldatetime型,我們最好將它變為datetime型,因為datetime型的范圍比smalldatetime型 大。我遇見這種情況,用smalldatetime型時,轉化失敗,而用datetime型時,轉化成功。

3.對此兩種資料庫進行操作的sql語句不全相同,例如:在對ACCESS資料庫進行刪除紀錄時用:delete * from user where id=10,而對SQL SERVER資料庫進行刪除是用:delete user where id=10.

4.日期函數不相同,在對ACCESS資料庫處理中,可用date()、time()等函數,但對SQL SERVER資料庫處理中,只能用datediff,dateadd等函數,而不能用date()、time()等函數。

5.在對ACCESS資料庫處理中,sql語句中直接可以用一些VB的函數,像cstr()函數,而對SQL SERVER資料庫處理中,卻不能用。

Ⅶ ACCESS執行SQL語句,ACCESS怎麼寫SQL語句

docmd.runSQL"SQL語句"


用以上的格式就能在Access中運行SQL語句了。

Ⅷ 如何在Access中使用SQL語句

一、如何在Access中使用SQL語句
1、OFFICE
2000(及其後版本)的組件中的
Access支持使用簡單的SQL語句對數據進行查詢與更改。以OFFICE
2007為例(其它版本的具體操作稍有不同,操作思路基本一樣)。
2、打開或新建一個Access文件,建立好一個表後,在切換「軟體工具欄」,點【創建】進入創建工具欄,在工具欄中點擊【查詢設計】。
3、彈出【顯示表】窗口,點擊【關閉】將該窗口關掉。這時軟體會進入【設計】工具欄,我們點擊工具欄左側的【SQL視圖】。
4、【SQL視圖】默認選擇的是【設計視圖】,我們在下拉菜單中選擇【SQL視圖】。在工具欄下方會自動打開一個查詢窗口,在這里就可以輸入查詢用的SQL語句了。
5、我們輸入一行標準的SQL查詢語句,然後點擊【運行】,SQL語句執行完成後,查詢窗口會自動轉換為表視圖,以表格方式顯示查詢到的數據。
6、可以保存設計好的SQL查詢,下回使用時可直接調用(雙擊對應的視圖)。
二、備注提醒:
到目前為止,Access僅支持使用簡單的SQL語句對數據進行查詢與更改。
很多高級的SQL查詢是不能完成的,比如定時任務、存儲過程等等。

Ⅸ 查看ACCESS自動生成sql語句

Access 裡面, 創建 查詢
然後選擇表、選擇欄位、設置條件、排序等條件後。

你在菜單的地方, 有個 下拉框, 切換顯示模式的。
可以從 設計模式 切換到 數據模式。
切換到 SQL 語句模式。 就能看ACCESS自動生成sql語句