accesssqlexcel
① word、excel、access資料庫和sql資料庫的比較
word是文字排版軟體,excel是數據處理軟體,能夠完成常見的大部分數據分析、計算和處理工作、access是資料庫軟體,數據查詢功能非常強大。
② 如何在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
③ sql server 和access中查詢excel表中的數據
在SQL
Server
中連接EXCEL需要先添加鏈接數據源,並進行
用戶登錄
,之後才可以使用,且使用後應該斷開用戶登錄和鏈接數據源。以下是
SQL2000
中連接EXCEL2000,如果使用了更高版本軟體,請參考軟體使用幫助的對應版本號:
--
連接數據源
EXEC
sp_addlinkedserver
'ExcelSource',
'Jet
4.0',
'Microsoft.Jet.OLEDB.4.0',
'd:\song.xls',
NULL,
'Excel
5.0'
GO
--
連接用戶登錄
EXEC
sp_addlinkedsrvlogin
'ExcelSource',
'false',
'sa',
'Admin',
NULL
GO
--
進行查詢
SELECT
f1
FROM
ExcelSource...songbase
GO
--
斷開用戶登錄
EXEC
sp_droplinkedsrvlogin
'ExcelSource',
NULL
GO
--
斷開數據源
EXEC
sp_dropserver
'ExcelSource',
'droplogins'
GO
④ excel 中vba與sql 和access之間的區別,與優勢是什麼,各種適合用應於哪些方面或數據場合
excel主要是用來做簡單的數據處理,少量數據記錄、數據表示(將數據以適當的形式展現,如表格,透視表、圖表等),access的定位是資料庫,即數據的存儲及管理,即數據的存儲需要以適當的形式來組織,以使得數據的存儲減少冗餘、保持一致以及通過建立索引來加快海量數據的查詢。。。excel的優點是靈活、適合小規模數據的簡單計算、以及透過豐富的展現手段表現數據。。。
access的優勢是海量數據的管理(相對excel而言)能夠有組織、高效率的存放和提取
⑤ 如何將ACCESS資料庫內容導入EXCEL模板
EXCEL表裡
數據
導入外部數據-導入數據-文件類型選到
ACCESS的類型
然後導入
⑥ Access與Excel區別是什麼
Excel只要一種對象Sheet。
Acesss(2003)有七種對象:表、查詢、窗體、報表、宏、模塊和數據頁。
Excel一個工作簿中可以有多個工作表,工作表之間基本是相互獨立,沒有關聯性或者有很弱的關聯性。
Access在各種對象之間不是獨立的,是存在著關聯性。一種對象的多個子對象,例如各個表之間、查詢之間、窗體之間、報表之間也存在關聯性。這種關聯性造就了Access強大處理能力。
二、使用方式不同
Access在處理大量數據上是比Excel具有更強的能力。但是使用Access完成數據處理的任務,在實現起來要比Excel復雜很多。這種復雜性的回報就是更強的能力。
Access是一種規范的,各個對象之間存在嚴格的關聯。這個規范性和關聯性都是Access強大數據處理功能的基礎。因此在設計表過程中,必須遵守這種規范性。可以把Access處理數據的方式比作一個大公司的管理。
Excel是一種自由的,表之間的關聯性任意的。可以把Excel處理數據的方式比作一個小公司的管理。
一個小公司的管理模式是不能直接套用到大公司的管理上。所以Excel表必須按照規范模式改造,才能在Access中使用並完成預想的任務。
三、Access表和Excel表
從外觀上看Access與Excel表似乎相同,實際上兩者有很大的。
1.主題:對於一個主題Access只有一個表,而Excel可以有多個表。例如工資表,在很多財務人員使用Excel是月創建工資表,例如1月工資、2月工資,…。而Access則所有的工資部分月份都放在一個表。
2.多表關系:Access表各個表間存在嚴格的關聯。Excel表各個表間的關系隨意。
3.數據計算:Excel表中單元格中可以存儲數據,也可以存儲公式,可以進行計算。Access表只能存儲數據,不能存儲公式,沒有計算功能。Excel這種計算能力,使得Excel具有靈活的強大的計算能力(但計算能力受到數據量大小的限制)。Access計算功能是由查詢和程序來完成的。Access的特點正好發揮計算能力的強大作用。
4.數據容量:Excel表處理數據的容量有限,數據量大時速度較慢;Access表可以存儲2GB數據。
5.索引:Access表有索引,Excel表沒有索引。這種索引使得Access在查找篩選數據時,具有Excel不可比擬的速度。
6.數據類型:Access表設計時首先定義數據類型,Eexcel表沒有這樣的要求。
7.數據格式:Excel表中每個單元格都可以定義自己的格式。Access表每一列的數據格式一致。數據格式顯示特性由窗體和報表實現。
8.其他差異:數據篩選、排序等方面在實現起來有很大的差別。
⑦ 如何將access資料庫導成為excel表
Access和Excel都是微軟的產品,其最大特點就是有較好的兼容性。所以使用微軟的office套件。打開access資料庫表,通過簡單的拷貝就可以直接復制到excel表格中。
這里不知道你的用途是什麼,如果是程序設計需要,需要通過相應的API來實現。各種程序設計語言提供了不同方式與方法。最簡單的是微軟公司自己的在.net開發環境下提供有dll的動態連接庫介面
不知道你是不是在做.net編程,下面的答案也許對你有用,我以前做過,應該對大數據有效
一些系統可能需求把數據導出到Access或者Excel文件格式,以方便的傳遞數據、列印等。
Excel 文件或者 Access這兩種需要導出的文件可能並不是事先就存在的,這就需要我們自己編程生成他們,下面整理一下生成這兩個文件的一些方法,只羅列最常用的。並不全。
一、首先生成Excel文件。
方案一、如果用Excel保存的只是二維數據,也就是把他當資料庫的來用。
最簡單,你不用引用任何額外組件,只需要用 OLEDB 就可以完成創建Excel文件。 範例代碼如下。
using System.Data.OleDb;public static void CreateExcelFile2() ...{ string OLEDBConnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\\aa2.xls;"; OLEDBConnStr += " Extended Properties=Excel 8.0;"; string strCreateTableSQL = @" CREATE TABLE "; strCreateTableSQL += @" 測試表 "; strCreateTableSQL += @" ( "; strCreateTableSQL += @" ID INTEGER, "; strCreateTableSQL += @" UserID INTEGER, "; strCreateTableSQL += @" UserIP VARCHAR , "; strCreateTableSQL += @" PostTime DATETIME , "; strCreateTableSQL += @" FromParm VARCHAR "; strCreateTableSQL += @" ) "; OleDbConnection oConn = new OleDbConnection(); oConn.ConnectionString = OLEDBConnStr; OleDbCommand oCreateComm = new OleDbCommand(); oCreateComm.Connection = oConn; oCreateComm.CommandText = strCreateTableSQL; oConn.Open(); oCreateComm.ExecuteNonQuery(); oConn.Close();}
using System.Data.OleDb;public static void CreateExcelFile2() ...{ string OLEDBConnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\\aa2.xls;"; OLEDBConnStr += " Extended Properties=Excel 8.0;"; string strCreateTableSQL = @" CREATE TABLE "; strCreateTableSQL += @" 測試表 "; strCreateTableSQL += @" ( "; strCreateTableSQL += @" ID INTEGER, "; strCreateTableSQL += @" UserID INTEGER, "; strCreateTableSQL += @" UserIP VARCHAR , "; strCreateTableSQL += @" PostTime DATETIME , "; strCreateTableSQL += @" FromParm VARCHAR "; strCreateTableSQL += @" ) "; OleDbConnection oConn = new OleDbConnection(); oConn.ConnectionString = OLEDBConnStr; OleDbCommand oCreateComm = new OleDbCommand(); oCreateComm.Connection = oConn; oCreateComm.CommandText = strCreateTableSQL; oConn.Open(); oCreateComm.ExecuteNonQuery(); oConn.Close();}
在你執行創建表的同時,系統如果發現Excel文件不存在,就自動完成了Excel文件的創建。這點如果沒接觸過的人,可能會不知道的。
至於對其中的增加、修改操作, 跟普通資料庫沒啥兩樣,就不描述了。
可以參考以下文章:
http://www.cnblogs.com/meyer/archive/2004/12/08/6977.html
方案二、直接生成一個使用間隔符號隔開每一項數據的純文本文件,但是文件的後綴是 XLS 。
注意:這時候,如果你直接用Excel打開這樣的文件,沒問題,一切正常,但是如果你用ADO.net 讀取這個文件的時候,你的鏈接引擎不應該是Excel,而是文本文件(Microsoft Text Driver)。也就是鏈接字元串不應該是
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\\aa2.xls;Extended Properties=Excel 8.0;"
而應該是下面的方式:
OLEDB的方式連接字元串:
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\11.txt;Extended Properties='text;HDR=No;FMT=TabDelimited'
ODBC的方式讀TXT字元串寫法:
Driver={Microsoft Text Driver (*.txt; *.csv)};Dbq=C:\\11.txt;Extensions=asc,csv,tab,txt;
請參考以下文章:
http://www.codeguru.com/Cpp/Cpp/cpp_managed/nfc/print.php/c8299/
方案三、你要創建的Excel文件,有一些Excel自己的特色需要創建,這就需要使用 Com 了,即:Microsoft Excel Object Library了
請添加 Microsoft Excel 11.0 Object Library 對它的引用,根據你裝的Office的版本,這個組件庫的版本也不一樣。
範例代碼:
public static void CreateExcelFile() ...{ string FileName = "c:\\aa.xls"; Missing miss = Missing.Value; Excel.Application m_objExcel = new Excel.Application(); m_objExcel.Visible = false; Excel.Workbooks m_objBooks = (Excel.Workbooks)m_objExcel.Workbooks; Excel.Workbook m_objBook = (Excel.Workbook)(m_objBooks.Add(miss)); m_objBook.SaveAs(FileName, miss, miss, miss, miss, miss, Excel.XlSaveAsAccessMode.xlNoChange, miss, miss,miss, miss, miss); m_objBook.Close(false, miss, miss); m_objExcel.Quit(); }
我這里只是簡單的創建了Excel文件,沒有更多的操作Excel,如果希望看到更多的操作方法,請參考以下幾篇文章:
http://blog.csdn.net/lluiss/archive/2004/08/29/88341.aspx
http://support.microsoft.com/default.aspx?scid=kb;en-us;306023&Proct=vcSnet#6
http://expert.csdn.net/Expert/topic/3086/3086690.xml
http://expert.csdn.net/Expert/topic/3068/3068466.xml
二、生成Access 資料庫
Access 畢竟是一個資料庫,所以Excel上述第一種方法,無法適用。
創建Access 資料庫文件可以使用 ADOX,
ADOX與OleDB的區別:ADOX是 data api 只是一個介面, OLEDB 是數據提供者,API 去調用 數據提供者。
範例代碼:
使用前,請添加引用 Microsoft ADO Ext. 2.x for DDL and Security 根據你的操作系統,可能這里的版本也不一樣。
using ADOX;using System.IO; public static void CreateAccessFile(string FileName) ...{ if(!File.Exists(FileName)) ...{ ADOX.CatalogClass cat = new ADOX.CatalogClass(); cat.Create("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + FileName +";"); cat = null; } }
上述代碼只是生成了Access資料庫,適用ADOX你也可以操作資料庫,增加表等等操作,具體請參考以下文章:
http://blog.csdn.net/net_lover/archive/2004/06/08/6963.aspx
http://support.microsoft.com/kb/317881/EN-US/
http://study.99net.net/study/program/vb/1049955696.html
引自
http://blog.csdn.net/zjj2816_163com/archive/2005/10/26/516721.aspx
⑧ 數據小於等於1000行,用EXCEL存儲好還是用ACCESS或是SQL,MYSQL
要看你查詢的頻率和用戶數量,如果只是自己用,Excel簡單易用,如果查詢頻率很高並且用戶較多的話,ACCESS會稍微好點,只是ACCESS復雜,得花點時間學習才能入門.
對資料庫的選擇其實不單獨取決於數據有多少行,最主要的因素來自並發性需求,簡單的講就是這個表由多少人來維護,有多少人會查詢並且大家對數據及時性和一致性的要求怎麼樣.
⑨ 簡述ACCESS資料庫、EXECL之間的差別,同時請列舉出一至兩項屬於資料庫的應用軟體名稱。
ACCESS與Excel的區別
Access--中小型資料庫開發系統,內嵌VBA編程語言,面向對象編程
Excel--數據表格處理系統,編程能力有限.
DBaseX--專業級資料庫開發系統,專門編程語言支持.
FoxPro--中小型資料庫開發系統,面向對象+結構化程序設計,內置獨立編程語言.
這個問題在我開始時也想問過啊……
其實Excel是表格方面的應用,對於數據的處理也只是附加的功能。就從它的行列來說,好像最多隻有60000多行列,在一般的小數據應用上,和Access看不出什麼區別。
接著就是Access的功能了,它是「資料庫」,擁有「資料庫」的強大功能(看看SQL文),像圖書館管理的話(當然,實際上圖書館管理一般Access還不夠用,要用SQL Server),Excel就力不從心了。這個你可以在學習SQL和相關的資料庫知識後有所體會。
excel普通電子表格,用於日常簡單的數據處理。
access資料庫程序,用於稍為復雜的數據處理,安全性不高。
sqlserver大型資料庫程序,用復雜的數據處理,安全性高。
Access是資料庫管理軟體,內含的是資料庫(基本對象),一個資料庫包含多張表
主要用於開發系統
而Excel只是一般的表格處理軟體,主要用於一些日常的辦公而已
兩都所用到的地方不一樣.
Office專欄:http://www.pconline.com.cn/pce/soft/office/
excel與access有什麼區別,不都是表格嗎?同樣管理數據?
Access是資料庫管理軟體,內含的是資料庫(基本對象),一個資料庫包含多張表 主要用於開發系統 ,日常辦公用起來不方便,他主要是做軟體的後台的。
而Excel只是一般的表格處理軟體,主要用於一些日常的辦公而已
兩都所用到的地方不一樣.
請問:Excel制的工作表與Access制的工作表有什麼不同?Excel與Access有什麼不同呢?
access是一個資料庫軟體,一個access文件由存儲特定結構化數據集的表集合組成。表中包含行(有時稱作記錄或元組)和列(有時稱作特性)的集合。表中的每一列都設計為存儲某種類型的信息(例如,日期、名稱、美元金額或數字)。表上有幾種控制(約束、規則、觸發器、默認值和自定義用戶數據類型)用於確保數據的有效性。表上可以有索引(與書中的索引非常相似),利用索引可以快速地找到行。可將聲明引用完整性 (DRI) 約束添加到表上,以確保不同表中相互關聯的數據保持一致。
而excel是一個電子表格製作軟體,其表格可以進行排序、計算等操作.
access專輯(20071009加入):
http://access911.net/index.asp?board=4&recordid=73FAB31E11DC
access資料庫最大記錄數為多少時影響性能。
http://..com/question/6026231.html?si=1
access的最大錄入記錄是多少條啊
http://..com/question/8164331.html?si=6
Access2000中單個表最大允許添加的記錄數是多少啊?我的資料庫中單表記錄已經30多萬了仍然沒什麼問題.肯定不是65536條,知道的請回答.
access 的 mdb 格式資料庫,單表的記錄上限沒有規定,但是單個 MDB 資料庫的文件體積不得超過 2G,但是由於可以使用鏈接表以及 UNION ALL 查詢,理論上記錄沒有上限。
Excel的各類指標:
高效建立Excel 2000工作表
用戶需要在工作簿中使用100張工作表,只需啟動Excel程序,然後單擊「工具」菜單下「選項」命令,在「選項」對話窗口中單擊「常規」標簽卡,將「新工作簿中工作表數」由3修改成100(最大可以設為255)。然後單擊工具欄上「新建」按鈕,此時新建的工作簿中就包含有100張空白工作表。
65536行,256列==>http://..com/question/37346497.html
⑩ Access與 Excel區別
Access與 Excel區別:ACCESS是資料庫軟體,Excel是電子表格處理軟體。
Excel表與表之間的關系是孤立的,實屬單機軟體。如果需與他人共享Excel數據,一般都藉助郵箱,因此Excel適合數據分析,卻不適合數據搜集和大量數據的管理。它在數據的存儲、共享協作、數據查詢、報告生成上,都遠不及Access。
Access定位於數據管理,作為一個關系資料庫管理系統,Access結合SQL可以儲存大量數據,而且Access各個對象之間可以建立關聯,方便用戶快速查詢與調用數據。因此Access常被用來搭建管理應用,如庫存管理、檔案管理等。管理員可將搭建好的應用共享給企業內部同事,其他同事也可同時錄入、查詢數據。從企業長遠管理來看,用Access搭建一個管理應用比Excel高效得多。
Access的局限性:
不能用於互聯網:使用Access製作好的管理軟體,訪問頁只能在區域網中使用;
只能在Windows上運行:Access僅支持windows的運行環境,不能在Mac 、 iPhone、 android 系統和其他手機平台使用;