自动取数据库
㈠ 如何用access自动获取excel里面的数据
通过代码的方式导入Excel数据到Access数据库,是一个高效且实用的技巧。首先,你需要在Access中创建一个新的工程,并在其中引用ADO对象,用于连接Access数据库。接着,添加一个窗体,命名为from1,并在窗体上添加以下控件:两个文本框,分别用来显示Excel文件路径和Access路径;四个按钮,两个用于浏览文件,另两个是导入和退出;两个通用对话框控件,用于打开Access和Excel文件;一个进度条控件,显示导入进程。为了保证导入过程的准确性,实例中将Access数据库中的表的字段名单独存放在另一个表中,导入时按字段名顺序进行,而非按Excel表的顺序。这样可以避免字段顺序不一致带来的问题。
接下来,我们需要编写代码。示例代码首先检查是否选择了Excel文件路径,如果没有选择,则弹出提示框要求选择。然后,通过Excel.Application对象打开选定的Excel文件,读取记录数,并根据记录数设置进度条的最大值。接下来,打开两个记录集,一个用于表字段名的查询,另一个用于数据的查询。通过两层循环,逐行读取Excel中的数据,并根据字段名顺序插入到Access表中。
此外,代码中还包括了关闭Excel工作簿和退出Access的部分,确保操作完成后不会影响Excel的运行状态。最后,显示成功导入的记录数,并将鼠标指针恢复为默认状态。
窗体上的其他按钮分别用于打开Access和Excel文件、退出程序。这些按钮的点击事件分别调用CommonDialog控件的ShowOpen方法,并将文件路径显示在相应的文本框中。
在模块(mole1)中,定义了连接字符串、记录集等变量,并提供了连接数据库的lianjie子程序。这个子程序首先关闭当前打开的连接,然后使用指定的连接字符串打开Access数据库,并设置记录集的连接对象。
通过以上步骤,可以实现从Excel自动导入数据到Access数据库的功能。这种自动化处理方式不仅节省了手动输入的时间,还提高了数据处理的准确性。
㈡ 关于提取某一个网站的数据库
数据库的提取方式有多种,其中两种主要方法是直接服务器提权和使用特定工具进行操作。服务器提权涉及直接获取服务器上的数据库访问权限,这种方式较为直接,但操作较为复杂,需要一定的技术水平。
另一种方法是利用诸如“帝国备份王”之类的备份工具,或者直接运行特定程序来实现数据库的提取。这种方法更为简便,特别是对于Access数据库而言,可以直接下载 mdb 文件,无需复杂的操作步骤。而对于 Mysql 数据库,则需要在服务器上进行操作。
帝国备份王可以用来提取 Access 数据库,用户只需简单几步即可完成提取过程,非常适合不具备高级技术知识的用户使用。相比之下,MySQL 数据库的提取则需要在服务器端进行,过程相对复杂。
除了使用工具外,还有一些图文说明可以帮助用户更好地理解整个操作流程。这些说明通常包括详细的步骤指导,以及可能遇到的问题和解决方案,从而帮助用户顺利完成数据库的提取。
需要注意的是,无论是哪种方法,操作过程中都应当遵守相关法律法规,确保数据安全和合法使用。不当的操作可能会导致数据泄露或服务器受损,因此在进行数据库提取时务必谨慎行事。
对于不具备技术背景的用户,建议寻找专业的技术支持或使用易于操作的工具来提取数据库,以避免操作失误带来的风险。
㈢ 如何在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