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

excel調用access資料庫數據

發布時間: 2022-05-10 09:25:15

① excel如何引用access里的查詢數據


1、連接ACCESS2007,2007以上版本代碼都差不多:

SubAC()
DimcnnAsNewConnection
DimrsAsNewRecordset
DimsqlAsString
cnn.Open"Provider=Microsoft.Ace.OleDB.12.0;dataSource="&ThisWorkbook.Path&"資料庫.accdb"
sql="select*from[宏站]"
rs.Opensql,cnn
'復制欄位名
Fori=1Tors.Fields.Count

Cells(1,i)=rs.Fields(i-1).Name
Nexti

[a1].CopyFromRecordsetrs
rs.Close

cnn.Close

EndSub

1、連接ACCESS2003:

DimcnnAsNewConnection
DimrsAsNewRecordset
DimsqlAsString
cnn.Open"Provider=Microsoft.Jet.Oledb.4.0;dataSource="&ThisWorkbook.Path&"資料庫.mdb"
sql="select*from[宏站]"
rs.Opensql,cnn
'復制欄位名
Fori=1Tors.Fields.Count

Cells(1,i)=rs.Fields(i-1).Name
Nexti
'復制全部數據

Range("A2").CopyFromRecordsetrs

rs.Close

cnn.Close


EndSub



② 如何在EXCEL中自動讀取ACCESS資料庫中的信息

用access自動獲取excel里的數據的方法就是通過代碼的方式導入。
如果是手動導入比較清楚的話,這個實現起來不難,請參考下面的介紹來實現:
首先,新建一個工程,在工程中引用如下對象ADO對象(用於連接ACCESS資料庫,可用其它方式),添加一個窗體(from1),在窗體上添加如下控制項:
兩個文本框,用來顯示EXCEL文件路徑和ACCESS路徑;
四個扭鈕,兩個用來游覽,另兩個是導入和退出;
兩個通用對話框控制項,用來打開ACCESS和EXCEL文件,一個進度條控制項,用來顯示導入進程。
該實例的導入是將ACCESS資料庫中表的欄位名單獨存放在另外一個表中,導入時按表中所存欄位名的順序進行導入,不是按EXCEL表的順序導入,這樣在實際中是很實用的.
因為好多時候EXCEL表中欄位順序和ACCESS中欄位順序有可能不是一致的.
代碼如下:
Dim v
Option Explicit
Private Sub cmdLoad_Click()
Dim excel_app As Object
Dim excel_sheet As Object
If txtExcelFile.Text = "" Then
MsgBox "請選擇EXCEL表"
Else
Dim new_value As String
Label2.Caption = "正在導入,請稍候..."
Screen.MousePointer = vbHourglass
DoEvents
'' Create the Excel application.
Set excel_app = CreateObject("Excel.Application")
'' Uncomment this line to make Excel visible.
excel_app.Visible = True
'' Open the Excel spreadsheet.
excel_app.Workbooks.open FileName:=txtExcelFile.Text
'' Check for later versions.
If Val(excel_app.Application.Version) >= 8 Then
Set excel_sheet = excel_app.ActiveSheet
Else
Set excel_sheet = excel_app
End If

Dim u ''求EXCEL表中記錄的條數,以便控制進度條
u = 1
Do
If Trim$(excel_sheet.Cells(u, 1)) = "" Then Exit Do
u = u + 1
Loop
bar.Max = u - 1
strSQL = "select * from TestValues"
yourRecord.open strSQL, myConn, adOpenDynamic, adLockOptimistic ''打開記錄集
Dim sql As String

sql = "select * from fields order by xue"
myRecord.open sql, myConn, adOpenDynamic, adLockBatchOptimistic ''打開欄位記錄集
myRecord.MoveFirst
'' Get data from the Excel spreadsheet and insert
'' it into the TestValues table.

Dim v ''導入記錄,用了兩層循環
v = 1
Do
If Trim$(excel_sheet.Cells(v, 1)) = "" Then Exit Do ''外層,
yourRecord.AddNew
Dim i
For i = 1 To myRecord.RecordCount
'' Get the next value.
new_value = Trim$(excel_sheet.Cells(v, i))
'' See if it''s blank.
''If Len(new_value) = 0 Then Exit Do
'' Insert the value into the database.
Dim bb As String
bb = myRecord("name")
yourRecord(bb) = new_value
myRecord.MoveNext
Next i
bar.Value = v
v = v + 1
myRecord.MoveFirst
Loop
yourRecord.Update

'' Comment the rest of the lines to keep
'' Excel running so you can see it.
'' Close the workbook without saving.
excel_app.ActiveWorkbook.Close False
'' Close Excel.
excel_app.Quit
Set excel_sheet = Nothing
Set excel_app = Nothing
myRecord.Close
yourRecord.Close
Set myRecord = Nothing
Set yourRecord = Nothing
Label2.Caption = "導入完畢"
Screen.MousePointer = vbDefault
MsgBox "共導入" & Format$(v - 1) & "條記錄"

End If
End Sub
Private Sub Command1_Click()
Unload Me
End Sub
Private Sub Command2_Click(Index As Integer)
''尋找ACCESS資料庫
CommonDialog1.Filter = "ACCESS 文件(*.mdb)|*.mdb"
CommonDialog1.CancelError = True
CommonDialog1.ShowOpen
txtAccessFile.Text = CommonDialog1.FileName
End Sub
Private Sub Command3_Click()
''尋找excel資料庫
CommonDialog2.Filter = "excel 文件(*.xls)|*.xls"
CommonDialog2.CancelError = True
CommonDialog2.ShowOpen
txtExcelFile.Text = CommonDialog2.FileName
End Sub

Private Sub Form_Load()
Call Mole1.lianjie
txtAccessFile.Text = datapath
End Sub
模塊(mole1)中的代碼如下:
Public myConn As New ADODB.Connection ''定義連接字元串
Public myRecord As New ADODB.Recordset ''定義記錄集(欄位)
Public yourRecord As New ADODB.Recordset ''定義記錄集(數據)
Public cntoad As Boolean ''是否正常連接
Public ml ''姓名欄位所在列
Public strSQL ''查詢字元串
Public MyDatabase As Database ''定義資料庫名
Public MyTable As TableDef, MyField As Field ''定義表名和欄位名
Public xuehao ''讀取欄位序號
Public goshiRecord As New ADODB.Recordset ''定義記錄集(公式)
Public hxfyn As Boolean
Public hxfbds '' 公式或條件
Public an ''要統計的欄位
Public islinshi As Boolean ''是否為臨時公式
Public leiRecord As New ADODB.Recordset ''定義記錄集(工資類別)
Public datapath As String ''資料庫路徑及名
Public table As String ''工資表名
Public lei As String '' 工資類別
Public Sub lianjie() ''打開資料庫
On Error Resume Next
myConn.Close
Dim mySQL As String
''設定連接字元串
mySQL = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;"
mySQL = mySQL + "Data Source=" & datapath
myConn.ConnectionString = mySQL ''設定連接
myConn.open ''打開連接
myRecord.ActiveConnection = myConn ''設定RecordSeet的連接對象為Connection
myRecord.CursorLocation = adUseClient
goshiRecord.ActiveConnection = myConn ''設定RecordSeet的連接對象為Connection
goshiRecord.CursorLocation = adUseClient
yourRecord.ActiveConnection = myConn ''設定RecordSeet的連接對象為Connection
yourRecord.CursorLocation = adUseClient
End Sub

③ 如何將Excel中的數據導入到Access資料庫中

1
第一步:在ghost
xp系統中啟動Access,在向導的提示下建立一個「空資料庫」以便用於存放從Excel中導入的數據
2
第二步:打開要導入數據的資料庫,切換到「外部數據」選項卡,選擇「Excel」按鈕,打開「導入數據」對話框。
3
第三步:在「選擇數據源」對話框中,可以根據需要選擇數據源,數據源就是我們之前准備好的「成績表.xlsx」表格文件。同時選擇「將數據源導入當前資料庫的新表中」。
4
第三步:在「選擇數據源」對話框中,可以根據需要選擇數據源,數據源就是我們之前准備好的「成績表.xlsx」表格文件。同時選擇「將數據源導入當前資料庫的新表中」。
5
第五步:勾選「第一行含有列標題」選項,以免導入向導將表格第一排的標題也當做數據導入進來。點擊「下一步」按鈕
6
第六步:分別選擇每一個數據列,並指定導入資料庫後的數據類型。中文部分建議設置為「文本」,數字部分可以設置為「整數型」或「雙精度型」。然後點擊「下一步」按鈕
7
第七步:接下來為數據表設置主鍵。主鍵是資料庫中一種特殊的列,列的內容是一組自動增長的數字,如果沒有實際的需要,我們選擇「不要主鍵」並點擊「下一步」按鈕。
8
第八步:為即將生成的新標取一個名字。例如「學生成績數據」,並點擊「完成」按鈕,結束導入。

④ EXCEL如何調用ACCESS數據

找到自己需要做改變的Excel和Access

1
為了避免自己以後的,所以第一個步驟看似無關重要,但是卻缺一不可。確保Excel中的數據導入資料庫不要出錯,不然一切白費。

END
新建資料庫,開始執行操作

在資料庫上方有一個外部數據,點擊外部數據存在一個「導入Excel表格功能」,點擊該功能開始執行導入操作。

找到自己的Excel,明確路徑,就可以開始了。點擊確定進入下一個步驟

在開始導入的時候,根據自己的需要勾選第一行是否包含標題。
勾選:代表Excel中的第一欄就是資料庫中的欄位名
不勾選:代表Excel所有的數據會成為資料庫中的數據
我以勾選狀態演示

在下一個頁面,可以根據自己的需要修改「欄位名稱」和「數據類型」。

進入下一頁面,可以修改資料庫中的主鍵,可以用Access的默認主鍵,也可以自定義主鍵,也可以不要主鍵。

6
完成主鍵的設置過後,就完成了數據的導入,但是還沒有完,自己要為導入的數據命名。最後就完成了將Excel中的數據導入到Access資料庫中的操作。

⑤ 如何將excel中的數據導入到已有ACCESS的資料庫

1.雙擊Access圖標,打開Access這個軟體。