ExcelHome技术论坛

标题: 在EXCEL中操作ACCESS库 [打印本页]

作者: zez    时间: 2008-10-10 08:32
标题: 在EXCEL中操作ACCESS库
在论坛里看到一些因为EXCEL数据量大而造成运算速度慢来寻求解决的问题,个人认为数据量大,最好是用ACCESS来解决.但考虑到大多数人对EXCEL较熟悉.还有一些分析需要EXCEL.这样,需要把EXCEL的ACCESS结合起来用.这里将我做的一个实例上传.里面从在EXCEL中创建ACCESS数据库开始.可以从EXCEL用向ACCESS添加数据,修改数据,删除数据.希望有人喜欢,并能切实帮助到有这方面需求的人
如喜欢的人多,以后还在这方面多作一些介绍
到今天为止(10月15日),要介绍的内容已全部介绍完毕,由于是陆陆续续的上传,所以显得分散,现在在这里作一个列表
创建数据库和数据表 在:6\7\8\12楼
获取数据库信息 在:13\18\19\22\23\24楼
查询获取ACCESS数据库记录数据 在: 27\32\33\34\40\41\50楼
编辑ACCESS数据库数据 在 52楼<br/>将EXCEL工作表数据导入到ACCESS数据库 在:53楼
超过65536条记录导入EXCEL及.txt的文件导入到Access数据库 在99楼
谢谢大家对本贴的关注

有人问,没有上传ACCESS文件。实际ACCESS是由用户自己建立:EXCEL文件一打开,页面上就有一个按纽:“新建数据库”,点击这个按纽,就建立了abc.mdb 这个文件
[此贴子已经被作者于2008-10-15 11:01:07编辑过]


[ 本帖最后由 zez 于 2009-9-9 16:07 编辑 ]
作者: ljx63426    时间: 2008-10-10 08:36
太好了,请楼主多多介绍这方面的知识。[em17][em17][em17]
作者: alzeng    时间: 2008-10-10 09:03
有心学习下这个,谢谢提供。
作者: xibeiakang    时间: 2008-10-10 09:06

hao


作者: xibeiakang    时间: 2008-10-10 09:13

楼主是不是同时传一个MDB文件来

---------------------------------------------

我看着了。原来是代码生成的啊。呵呵

[此贴子已经被作者于2008-10-10 9:17:07编辑过]

作者: zez    时间: 2008-10-10 09:56
标题: 创建数据库及数据表
(, 下载次数: 18705)

作者: zez    时间: 2008-10-10 10:04
标题: 在已有的数据库中创建数据表方法
(, 下载次数: 14238)

作者: zez    时间: 2008-10-10 10:16
标题: 利用工作表数据创建数据表方法
(, 下载次数: 14318)
数据库文件使用7楼的
作者: lizengyan705    时间: 2008-10-10 15:48

这方面的东西希望能多提供像我这样的初学者,谢谢!这些资料做的不错


作者: linzige    时间: 2008-10-10 22:53
太好了,请楼主多多介绍这方面的知识。图片点击可在新窗口打开查看图片点击可在新窗口打开查看图片点击可在新窗口打开查看
作者: SZ清影    时间: 2008-10-11 08:58
谢谢楼主。先下了,等有空看看。
作者: zez    时间: 2008-10-11 11:46
标题: 利用已有数据表创建的数据表方法

(, 下载次数: 6021)

数据库文件使用7楼的


作者: zez    时间: 2008-10-11 11:58
标题: 检查数据表是否存在方法

(, 下载次数: 6049)

发了那么多,居然没有人给个评价

[此贴子已经被作者于2008-10-11 12:05:57编辑过]

作者: xianla    时间: 2008-10-11 12:45
先下来看看,我想应该不会让我失望.
作者: juick    时间: 2008-10-11 14:05

我打开1楼的excel文件怎么出错!找不到工程或库
  data上显示错误

Private Sub Workbook_Open()
Sheet2.Select
[E10] = Date - 90
[E11] = Date
End Sub


作者: yjq2008    时间: 2008-10-11 16:42
谢谢,请楼主多多介绍这方面的知识。
作者: zez    时间: 2008-10-11 21:09
标题: 获取数据库中所有表的名称和类型方法

(, 下载次数: 5140)
MDB文件见13楼
[此贴子已经被作者于2008-10-12 8:02:40编辑过]

作者: zez    时间: 2008-10-11 21:19
标题: 获取数据库中所有数据表名称方法

(, 下载次数: 5022)

MDB文件见13楼

[此贴子已经被作者于2008-10-12 8:03:14编辑过]

作者: fanion    时间: 2008-10-11 21:50
太谢谢了,学习学习!!!!
作者: aweiwang    时间: 2008-10-11 23:28

很不错的学习机会,谢谢了。


作者: zez    时间: 2008-10-12 08:44
标题: 检查某字段是否存在
(, 下载次数: 4386)
MDB文件见13楼
作者: zez    时间: 2008-10-12 08:45
标题: 获取数据库中某数据表所有字段信息

(, 下载次数: 4991)

MDB文件见13楼


作者: zez    时间: 2008-10-12 08:46
标题: 获取数据库所有查询信息

(, 下载次数: 4999)

MDB文件见13楼


作者: xgphsq    时间: 2008-10-12 12:13
标题: 找不到文件
    在"销售管理"中,出现找不到文件abc.mdb,是要把其中的一个mdb文件改成"abc"吗,还是要自己做一个?
作者: 三十而立    时间: 2008-10-12 16:33

很好的学习


作者: zez    时间: 2008-10-12 20:52
标题: 将数据库记录全部导入EXCEL表中
QUOTE:
,以下是引用xgphsq在2008-10-12 12:13:00的发言:
    在"销售管理"中,出现找不到文件abc.mdb,是要把其中的一个mdb文件改成"abc"吗,还是要自己做一个?

点击主控表中的"新建数据库"按纽,就可以建立一个.MDB文件了

(, 下载次数: 4973)
[此贴子已经被作者于2008-10-12 21:30:33编辑过]

作者: lz889999    时间: 2008-10-12 21:14

zez老师:

    谢谢您的指导和付出!全部下载了。这个专题也非常值得学习和研究,在稍后学习中,再向您请教!!

     谢谢!!

[此贴子已经被作者于2008-10-12 21:16:15编辑过]

作者: jilijun    时间: 2008-10-12 21:20

请教LZ:

如何用代码生成ACCESS中的查询表(查询视图),谢谢!


作者: rockhaifeng    时间: 2008-10-12 22:30
标题: 回复:谢谢分享!
因工作需要,想修炼excel少侠,请多赐教!
作者: hhzjxss    时间: 2008-10-13 08:25
谢谢楼主的无私奉献,下载,慢慢学习之!
作者: zez    时间: 2008-10-13 09:48
标题: 导入部份字段数据

以后改为发代码,不再传附件,目前及以后所发代码需要的MDB文件见27楼,直到另传附件

Public Sub 导入部份字段数据1()
    Dim myData As String, myTable As String, SQL As String
    Dim cnn As ADODB.Connection
    Dim rs As ADODB.Recordset
    Dim i As Integer
    ActiveSheet.Cells.Clear
    myData = ThisWorkbook.Path & "\职工管理.mdb"
    myTable = "职工基本信息"
    Set cnn = New ADODB.Connection
    With cnn
        .Provider = "microsoft.jet.oledb.4.0"
        .Open myData
    End With
    SQL = "select 姓名,性别,所属部门,职务,职称,年龄,进本单位时间 from " _
        & myTable & " order by 职工编号"
    Set rs = New ADODB.Recordset
    rs.Open SQL, cnn, adOpenKeyset, adLockOptimistic
    '也可以使用下面的语句
'    Set rs = cnn.Execute(SQL)
    For i = 1 To rs.Fields.Count
        Cells(1, i) = rs.Fields(i - 1).Name
    Next i
    With Range(Cells(1, 1), Cells(1, rs.Fields.Count))
        .Font.Bold = True
        .HorizontalAlignment = xlCenter
    End With
    Range("A2").CopyFromRecordset rs
    ActiveSheet.Cells.Font.Size = 10
    ActiveSheet.Columns.AutoFit
    rs.Close
    cnn.Close
    Set rs = Nothing
    Set cnn = Nothing
End Sub

Public Sub 导入部份字段数据2()
    Dim myData As String, myTable As String, SQL As String
    Dim myDb As DAO.Database
    Dim myRs As DAO.Recordset
    Dim i As Integer
    ActiveSheet.Cells.Clear
    myData = ThisWorkbook.Path & "\职工管理.mdb"
    myTable = "职工基本信息"
    Set myDb = OpenDatabase(myData)
    SQL = "select 姓名,性别,所属部门,职务,职称,年龄,进本单位时间 from " _
        & myTable & " order by 职工编号"
    Set myRs = myDb.OpenRecordset(SQL)
    For i = 1 To myRs.Fields.Count
        Cells(1, i) = myRs.Fields(i - 1).Name
    Next i
    With Range(Cells(1, 1), Cells(1, myRs.Fields.Count))
        .Font.Bold = True
        .HorizontalAlignment = xlCenter
    End With
    Range("A2").CopyFromRecordset myRs
    ActiveSheet.Cells.Font.Size = 10
    ActiveSheet.Columns.AutoFit
    myRs.Close
    myDb.Close
    Set myRs = Nothing
    Set myDb = Nothing
End Sub


作者: zez    时间: 2008-10-13 09:49
标题: 查询方法1

Public Sub 查询全部字段前面若干条记录()
    Dim mydata As String, mytable As String, SQL As String
    Dim cnn As ADODB.Connection
    Dim rs As ADODB.Recordset
    Dim i As Integer
    ActiveSheet.Cells.Clear
    mydata = ThisWorkbook.Path & "\职工管理.mdb"    '指定数据库
    mytable = "职工基本信息"      '指定数据表
    Set cnn = New ADODB.Connection
    With cnn
        .Provider = "microsoft.jet.oledb.4.0"
        .Open mydata
    End With
    SQL = "select top 5 * from " & mytable _
        & " where 年龄>40 order by 年龄 DESC"
    Set rs = New ADODB.Recordset
    rs.Open SQL, cnn, adOpenKeyset, adLockOptimistic
    '也可以使用下面的语句
'    Set rs = cnn.Execute(SQL)
    For i = 1 To rs.Fields.Count
        Cells(1, i) = rs.Fields(i - 1).Name
    Next i
    With Range(Cells(1, 1), Cells(1, rs.Fields.Count))
        .Font.Bold = True
        .HorizontalAlignment = xlCenter
    End With
    Range("A2").CopyFromRecordset rs
    ActiveSheet.Cells.Font.Size = 10
    ActiveSheet.Columns.AutoFit
    rs.Close
    cnn.Close
    Set rs = Nothing
    Set cnn = Nothing
End Sub

Public Sub 查询部份字段前面若干条记录()
    Dim mydata As String, mytable As String, SQL As String
    Dim cnn As ADODB.Connection
    Dim rs As ADODB.Recordset
    Dim i As Integer
    ActiveSheet.Cells.Clear
    mydata = ThisWorkbook.Path & "\职工管理.mdb"
    mytable = "职工基本信息"
    Set cnn = New ADODB.Connection
    With cnn
        .Provider = "microsoft.jet.oledb.4.0"
        .Open mydata
    End With
    SQL = "select top 5 姓名,性别,所属部门,职务,职称,年龄,进本单位时间" _
        & " from " & mytable _
        & " where 年龄>40 order by 年龄 DESC"
    Set rs = New ADODB.Recordset
    rs.Open SQL, cnn, adOpenKeyset, adLockOptimistic
    '也可以使用下面的语句
'    Set rs = cnn.Execute(SQL)
    For i = 1 To rs.Fields.Count
        Cells(1, i) = rs.Fields(i - 1).Name
    Next i
    With Range(Cells(1, 1), Cells(1, rs.Fields.Count))
        .Font.Bold = True
        .HorizontalAlignment = xlCenter
    End With
    Range("A2").CopyFromRecordset rs
    ActiveSheet.Cells.Font.Size = 10
    ActiveSheet.Columns.AutoFit
    rs.Close
    cnn.Close
    Set rs = Nothing
    Set cnn = Nothing
End Sub

Public Sub 查询不重复字段的内容()
    Dim mydata As String, mytable As String, SQL As String
    Dim cnn As ADODB.Connection
    Dim rs As ADODB.Recordset
    Dim i As Integer
    '清除工作表的全部数据
    ActiveSheet.Cells.Clear
    '输入标题
    With Range("A1:C1")
        .Value = Array("部门", "职称类别", "职务类别")
        .Font.Bold = True
        .HorizontalAlignment = xlCenter
    End With
    '指定数据库和数据表
    mydata = ThisWorkbook.Path & "\职工管理.mdb"    '指定数据库
    mytable = "职工基本信息"      '指定数据表
    '建立与数据库的连接
    Set cnn = New ADODB.Connection
    With cnn
        .Provider = "microsoft.jet.oledb.4.0"
        .Open mydata
    End With
    '查询数据表中不重复的部门名称,并复制数据
    SQL = "select distinct 所属部门 from " & mytable
    Set rs = New ADODB.Recordset
    rs.Open SQL, cnn, adOpenKeyset, adLockOptimistic
    Range("A2").CopyFromRecordset rs
    '查询数据表中不重复的职称类别名称,并复制数据
    SQL = "select distinct 职称 from " & mytable
    Set rs = New ADODB.Recordset
    rs.Open SQL, cnn, adOpenKeyset, adLockOptimistic
    Range("B2").CopyFromRecordset rs
    '查询数据表中不重复的职务名称,并复制数据
    SQL = "select distinct 职务 from " & mytable
    Set rs = New ADODB.Recordset
    rs.Open SQL, cnn, adOpenKeyset, adLockOptimistic
    Range("C2").CopyFromRecordset rs
    '设置工作表格式
    ActiveSheet.Cells.Font.Size = 10
    ActiveSheet.Columns.AutoFit
    '关闭记录集及数据库连接,并释放变量
    rs.Close
    cnn.Close
    Set rs = Nothing
    Set cnn = Nothing
End Sub
Public Sub 利用Like运算符进行模糊查询()
    Dim mydata As String, mytable As String, SQL As String
    Dim cnn As ADODB.Connection
    Dim rs As ADODB.Recordset
    Dim i As Integer
    '清除工作表的全部数据
    ActiveSheet.Cells.Clear
    '指定数据库和数据表
    mydata = ThisWorkbook.Path & "\职工管理.mdb"    '指定数据库
    mytable = "职工基本信息"      '指定数据表
    '建立与数据库的连接
    Set cnn = New ADODB.Connection
    With cnn
        .Provider = "microsoft.jet.oledb.4.0"
        .Open mydata
    End With
    '查询数据表
    SQL = "select * from " & mytable & " where 姓名 like '李%'"
    Set rs = New ADODB.Recordset
    rs.Open SQL, cnn, adOpenKeyset, adLockOptimistic
    '也可以使用下面的语句
'    Set rs = cnn.Execute(SQL)
    '复制字段名
    For i = 1 To rs.Fields.Count
        Cells(1, i) = rs.Fields(i - 1).Name
    Next i
    '设置字段名字体为加粗并居中对齐
    With Range(Cells(1, 1), Cells(1, rs.Fields.Count))
        .Font.Bold = True
        .HorizontalAlignment = xlCenter
    End With
    '复制全部数据
    Range("A2").CopyFromRecordset rs
    '设置工作表格式
    ActiveSheet.Cells.Font.Size = 10
    ActiveSheet.Columns.AutoFit
    '关闭记录集及数据库连接,并释放变量
    rs.Close
    cnn.Close
    Set rs = Nothing
    Set cnn = Nothing
End Sub
Public Sub 查询某一区间的记录()
    Dim mydata As String, mytable As String, SQL As String
    Dim cnn As ADODB.Connection
    Dim rs As ADODB.Recordset
    Dim i As Integer
    '清除工作表的全部数据
    ActiveSheet.Cells.Clear
    '指定数据库和数据表
    mydata = ThisWorkbook.Path & "\职工管理.mdb"    '指定数据库
    mytable = "职工基本信息"      '指定数据表
    '建立与数据库的连接
    Set cnn = New ADODB.Connection
    With cnn
        .Provider = "microsoft.jet.oledb.4.0"
        .Open mydata
    End With
    '查询数据表
    SQL = "select * from " & mytable _
        & " where 年龄 between 30 and 40 order by 年龄 DESC"
    Set rs = New ADODB.Recordset
    rs.Open SQL, cnn, adOpenKeyset, adLockOptimistic
    '也可以使用下面的语句
'    Set rs = cnn.Execute(SQL)
    '复制字段名
    For i = 1 To rs.Fields.Count
        Cells(1, i) = rs.Fields(i - 1).Name
    Next i
    '设置字段名字体为加粗并居中对齐
    With Range(Cells(1, 1), Cells(1, rs.Fields.Count))
        .Font.Bold = True
        .HorizontalAlignment = xlCenter
    End With
    '复制全部数据
    Range("A2").CopyFromRecordset rs
    '设置工作表格式
    ActiveSheet.Cells.Font.Size = 10
    ActiveSheet.Columns.AutoFit
    '关闭记录集及数据库连接,并释放变量
    rs.Close
    cnn.Close
    Set rs = Nothing
    Set cnn = Nothing
End Sub
Public Sub 查询存在于某集合里面的记录()
    Dim mydata As String, mytable As String, SQL As String
    Dim cnn As ADODB.Connection
    Dim rs As ADODB.Recordset
    Dim i As Integer
    ActiveSheet.Cells.Clear
    mydata = ThisWorkbook.Path & "\职工管理.mdb"
    mytable = "职工基本信息"
    Set cnn = New ADODB.Connection
    With cnn
        .Provider = "microsoft.jet.oledb.4.0"
        .Open mydata
    End With
    SQL = "select * from " & mytable _
        & " where 年龄> 40 and 职称 in('工程师','经济师') order by 年龄 DESC"
    Set rs = cnn.Execute(SQL)
    For i = 1 To rs.Fields.Count
        Cells(1, i) = rs.Fields(i - 1).Name
    Next i
    With Range(Cells(1, 1), Cells(1, rs.Fields.Count))
        .Font.Bold = True
        .HorizontalAlignment = xlCenter
    End With
    Range("A2").CopyFromRecordset rs
    ActiveSheet.Cells.Font.Size = 10
    ActiveSheet.Columns.AutoFit
    rs.Close
    cnn.Close
    Set rs = Nothing
    Set cnn = Nothing
End Sub



作者: zez    时间: 2008-10-13 10:00
标题: 查询2

Public Sub 将查询结果进行排序()
    Dim mydata As String, mytable As String, SQL As String
    Dim cnn As ADODB.Connection
    Dim rs As ADODB.Recordset
    Dim i As Integer
    ActiveSheet.Cells.Clear
    mydata = ThisWorkbook.Path & "\职工管理.mdb"
    mytable = "职工基本信息"
    Set cnn = New ADODB.Connection
    With cnn
        .Provider = "microsoft.jet.oledb.4.0"
        .Open mydata
    End With
    SQL = "select * from " & mytable _
        & " order by 年龄 DESC, 工龄 DESC, 本单位工龄 DESC"
    Set rs = New ADODB.Recordset
    rs.Open SQL, cnn, adOpenKeyset, adLockOptimistic
    '也可以使用下面的语句
'    Set rs = cnn.Execute(SQL)
    For i = 1 To rs.Fields.Count
        Cells(1, i) = rs.Fields(i - 1).Name
    Next i
    With Range(Cells(1, 1), Cells(1, rs.Fields.Count))
        .Font.Bold = True
        .HorizontalAlignment = xlCenter
    End With
    Range("A2").CopyFromRecordset rs
    ActiveSheet.Cells.Font.Size = 10
    ActiveSheet.Columns.AutoFit
    rs.Close
    cnn.Close
    Set rs = Nothing
    Set cnn = Nothing
End Sub

Public Sub 复杂条件查询()
    Dim mydata As String, mytable As String, SQL As String
    Dim cnn As ADODB.Connection
    Dim rs As ADODB.Recordset
    Dim i As Integer
    ActiveSheet.Cells.Clear
    mydata = ThisWorkbook.Path & "\职工管理.mdb"
    mytable = "职工基本信息"
    Set cnn = New ADODB.Connection
    With cnn
        .Provider = "microsoft.jet.oledb.4.0"
        .Open mydata
    End With
    SQL = "select * from " & mytable _
        & " where 职称='工程师' and (年龄 between 30 and 40)" _
        & " and 文化程度 in('硕士','博士') order by 职工编号"
    Set rs = New ADODB.Recordset
    rs.Open SQL, cnn, adOpenKeyset, adLockOptimistic
    '也可以使用下面的语句
'    Set rs = cnn.Execute(SQL)
    '复制字段名
    For i = 1 To rs.Fields.Count
        Cells(1, i) = rs.Fields(i - 1).Name
    Next i
    With Range(Cells(1, 1), Cells(1, rs.Fields.Count))
        .Font.Bold = True
        .HorizontalAlignment = xlCenter
    End With
    Range("A2").CopyFromRecordset rs
    ActiveSheet.Cells.Font.Size = 10
    ActiveSheet.Columns.AutoFit
    rs.Close
    cnn.Close
    Set rs = Nothing
    Set cnn = Nothing
End Sub

Public Sub 查询最大值和最小值()
    Dim mydata As String, mytable As String, SQL As String
    Dim cnn As ADODB.Connection
    Dim rs As ADODB.Recordset
    Dim i As Integer
    '清除工作表的全部数据
    ActiveSheet.Cells.Clear
    '指定数据库和数据表
    mydata = ThisWorkbook.Path & "\职工管理.mdb"    '指定数据库
    mytable = "职工基本信息"      '指定数据表
    '建立与数据库的连接
    Set cnn = New ADODB.Connection
    With cnn
        .Provider = "microsoft.jet.oledb.4.0"
        .Open mydata
    End With
    '查询数据表
    SQL = "select max(年龄) as Age1,min(年龄) as Age2," _
        & "max(工龄) as Workage1,min(工龄) as Workage2," _
        & "max(本单位工龄) as Dage1,min(本单位工龄) as Dage2 " _
        & "from " & mytable
    Set rs = New ADODB.Recordset
    rs.Open SQL, cnn, adOpenKeyset, adLockOptimistic
    '也可以使用下面的语句
'    Set rs = cnn.Execute(SQL)
    '复制数据
    Range("A1:F1") = Array("最大年龄", "最小年龄", "最大工龄", _
        "最小工龄", "最大本单位工龄", "最小本单位工龄")
    Range("A2:F2") = Array(rs!Age1, rs!Age2, _
        rs!Workage1, rs!Workage2, rs!Dage1, rs!Dage2)
    '设置工作表格式
    ActiveSheet.Cells.Font.Size = 10
    ActiveSheet.Columns.AutoFit
    '关闭记录集及数据库连接,并释放变量
    rs.Close
    cnn.Close
    Set rs = Nothing
    Set cnn = Nothing
End Sub

Public Sub 查询合计值和平均值()
    Dim mydata As String, mytable As String, SQL As String
    Dim cnn As ADODB.Connection
    Dim rs As ADODB.Recordset
    Dim i As Integer, DeptTotal As Integer
    '清除工作表的全部数据
    ActiveSheet.Cells.Clear
    '指定数据库和数据表
    mydata = ThisWorkbook.Path & "\职工管理.mdb"    '指定数据库
    mytable = "职工基本信息"      '指定数据表
    '建立与数据库的连接
    Set cnn = New ADODB.Connection
    With cnn
        .Provider = "microsoft.jet.oledb.4.0"
        .Open mydata
    End With
    '查询不重复的部门名称
    SQL = "select distinct 所属部门 from " & mytable
    Set rs = New ADODB.Recordset
    rs.Open SQL, cnn, adOpenKeyset, adLockOptimistic
    DeptTotal = rs.RecordCount
    ReDim myDept(1 To DeptTotal)
    For i = 1 To DeptTotal
        myDept(i) = rs.Fields("所属部门")
        rs.MoveNext
    Next i
    '开始查询计算各部门的平均年龄
    Range("A1:B1") = Array("部门", "平均年龄")
    For i = 1 To DeptTotal
        Cells(i + 1, 1) = myDept(i)
        SQL = "select avg(年龄) as myAvg from " & mytable _
            & " where 所属部门='" & myDept(i) & "'"
        Set rs = cnn.Execute(SQL)
        Cells(i + 1, 2) = Round(rs!myAvg, 2)
    Next i
    '开始查询计算本单位全部职工的平均年龄
    Range("C1:E1") = Array("本单位全部职工", "本单位男职工", "本单位女职工")
    SQL = "select avg(年龄) as myAvg from " & mytable
    Set rs = cnn.Execute(SQL)
    Cells(2, 3) = Round(rs!myAvg, 2)
    '开始查询计算本单位男职工的平均年龄
    SQL = "select avg(年龄) as myAvg from " & mytable & " where 性别='男'"
    Set rs = cnn.Execute(SQL)
    Cells(2, 4) = Round(rs!myAvg, 2)
    '开始查询计算本单位女职工的平均年龄
    SQL = "select avg(年龄) as myAvg from " & mytable & " where 性别='女'"
    Set rs = cnn.Execute(SQL)
    Cells(2, 5) = Round(rs!myAvg, 2)
    '设置工作表格式
    ActiveSheet.Cells.Font.Size = 10
    ActiveSheet.Columns.AutoFit
    '关闭记录集及数据库连接,并释放变量
    rs.Close
    cnn.Close
    Set rs = Nothing
    Set cnn = Nothing
End Sub


作者: kinglw    时间: 2008-10-13 13:40

这个对我来说还太难,现在还要学习初级的呢,不过还是非常感谢LZ的无私奉献精神,等学的小有所成的时候再来拜师


作者: 幸福的学习    时间: 2008-10-13 21:16

多谢!


作者: xylf    时间: 2008-10-14 07:36
利用工作表数据创建数据表方法
作者: feilong5xian    时间: 2008-10-14 08:40

送楼主鲜花一朵!

[em22]
作者: wuhanp005    时间: 2008-10-14 08:58
本人菜鸟一个,多谢多谢.
作者: zez    时间: 2008-10-14 09:45
标题: 查询3
(, 下载次数: 3271)

作者: zez    时间: 2008-10-14 09:51
标题: 窗体控件
(, 下载次数: 3769)

作者: liutonggeng    时间: 2008-10-14 10:11

非常感谢楼主的无私奉献!资料都下载了.代码非常详实.一定认真学习.再次感谢!!!!!!!!!!!!!!!


作者: jsmiaopu    时间: 2008-10-14 10:25
谢谢提供!!!!!!!
作者: 晨曦矇眬    时间: 2008-10-14 13:15
如果在同一工作薄的40个工作表(内容相同)中自动查找单元格A1>0的所有工作表
作者: fengyehong    时间: 2008-10-14 15:01

一并收下,谢谢楼主


作者: amd2000    时间: 2008-10-14 15:11
本人初学者 感谢楼主提供范例 一定认真学习

作者: lzdjr    时间: 2008-10-14 15:23

谢谢 excelhome

谢谢 zez老师


作者: sunya_0529    时间: 2008-10-14 15:42

送上鲜花一朵,聊表敬意。

非常感谢楼主之奉献,正好需要,有不明白的再另行请教,祝好~~


作者: chenglu009    时间: 2008-10-14 15:49
感谢LZ提供此方面的学习资源!
作者: zez    时间: 2008-10-14 18:00
标题: 查询4-5

(, 下载次数: 3391)

查询到此已介绍完

[此贴子已经被作者于2008-10-14 18:00:47编辑过]

作者: luanyu6688    时间: 2008-10-14 20:46
真的求错,学习
作者: zez    时间: 2008-10-15 10:40
标题: 编辑ACCESS数据库数据
(, 下载次数: 6817)

作者: zez    时间: 2008-10-15 10:45
标题: 将EXCEL工作表数据导入到ACCESS数据库

(, 下载次数: 9143)

到现在为止,我要介绍的内容已全部介绍完毕.所上传的代码只要简单地修改一下,就可以做出自己所想要的数据库.祝愿大家都能做出更好的成绩.并谢谢大家对我上传的这个贴子的关注


作者: laoyebin    时间: 2008-10-15 10:57
不错,收藏了慢慢研究
作者: tclnxc    时间: 2008-10-15 13:45
先谢谢楼主!请问52楼的附件里包含了前面所有内容吗?是不是只要下载这个就不用下载前面的了呢?
作者: tclnxc    时间: 2008-10-15 13:49
哦,看懂了.内容不同
作者: zhoubinghou    时间: 2008-10-15 19:14

都下来了,还不知有没有用,先对楼主的无私表示由衷的敬意和感谢了再说。


作者: coolbabe    时间: 2008-10-15 19:39
全部下载,学习
作者: gzls    时间: 2008-10-15 20:07
谢谢!向你学习
作者: mingg    时间: 2008-10-15 21:21
谢谢!
作者: sd1234487    时间: 2008-10-15 22:15

谢谢楼主的传授!

顶!


作者: redscarf    时间: 2008-10-16 02:17

非常感谢zez 老师,我正在这方面的资料,这是及时雨啊

不过我还是个菜鸟,还要向您多多请教


作者: dsp5000    时间: 2008-10-16 21:14
多谢分享
作者: kx158    时间: 2008-10-16 22:59
非常感谢楼主老师的无私奉献!一定要好好看看,学习学习![em24][em17]
作者: kk203    时间: 2008-10-16 23:09

很好很好


作者: redscarf    时间: 2008-10-17 00:02

zez 老师你好,我的系统是英文版的,office也是英文版的,所以打开你的这些数据库代码里面每一张表的名称都是乱码,有什么方法可以解决这个问题吗?

很想学学这方面的东西,现在不能用觉得很遗憾,望指教,不胜感激!!


作者: JOETHOR    时间: 2008-10-17 11:16

多谢楼主的无私奉献,我一定好好研读。


作者: JOETHOR    时间: 2008-10-17 11:20

多谢楼主的无私奉献,我一定好好研读。


作者: lgc7887    时间: 2008-10-17 14:59

十分感谢!


作者: lsh225    时间: 2008-10-17 23:53

这个好呀,我正需要,谢谢


作者: flow2000    时间: 2008-10-18 21:04

全部下载,不懂再来请教!


作者: laosanjie    时间: 2008-10-19 10:15
非常感谢楼主zez 的无私奉献!已经下载收藏,抓紧学习![em02]
作者: homego    时间: 2008-10-20 01:23
谢谢无私奉献的精神....表扬.(我说了不算,但心意是实在的!)
作者: yjycy    时间: 2008-10-20 22:12
下载学习了!谢谢分享!!!
作者: yangwenna    时间: 2008-10-21 10:21

全部收藏!感谢楼主辛勤工作!


作者: zjlxlrg    时间: 2008-10-21 12:48
我全下了,谢谢楼主的分享
作者: wangfen1002    时间: 2008-10-21 14:41

非常感谢!


作者: fandk    时间: 2008-10-21 17:32

一直有这种想法,即苦于没有这方面的教材!强烈支持楼主!谢谢


作者: nnnnnnnnn    时间: 2008-10-21 19:14

早就想找这方面的资料,太谢谢了!


作者: na_naoo    时间: 2008-10-22 01:22

 


作者: sdsgwj    时间: 2008-10-22 11:14
太好了,请楼主多多介绍这方面的知识,这方面的东西希望能多提供像我这样的初学者,谢谢!
作者: pengeb5198    时间: 2008-10-22 21:51
标题: 太感谢楼主了,正用得到,谢了 !!
谢谢楼主了,收益非浅啊!
作者: samwang_sos    时间: 2008-10-22 22:29
谢谢~~~不过我是初学这,能否有比较初级的?谢谢~~
作者: hhzjxss    时间: 2008-10-23 08:34
谢谢楼主和大侠们,再次下载,标记一下!
作者: lmj8260    时间: 2008-10-23 08:41

我也想学习这方面的知识,谢谢楼主提供


作者: oneopen    时间: 2008-10-23 17:09

留名,慢慢学习中~~

谢谢lz.


作者: 西部狂翔    时间: 2008-10-23 20:39
有心学习下这个,谢谢提供。
作者: 芈黎    时间: 2008-10-23 23:42

谢谢楼主   

[em45]
作者: lijin800    时间: 2008-10-24 09:09
谢谢楼主,正需要这方面的东西!
作者: yvw    时间: 2008-10-24 09:32
谢谢楼主 
作者: tiann70    时间: 2008-10-24 11:08
标题: 回复:(zez)在EXCEL中操作ACCESS库

多谢老师,收藏了了


作者: LM4278    时间: 2008-10-24 15:14

谢谢!太好了!


作者: zh8224    时间: 2008-10-24 17:03
谢谢楼主,学习一下
作者: 键盘小子001    时间: 2008-10-27 13:41
这个太犀利了
支持下
多学习LZ了~~
作者: YeahJo    时间: 2008-10-27 20:49
正想学这方面的东东,感谢分享!
作者: ilovexiahua    时间: 2008-10-28 17:02
谢谢,楼主的分享。
我是个初学者,我想请教一下,如何写代码将.txt的文件导入到Access数据库呢?因为Excel的文件只能保存6万多条,而我的数据超出了这么多,所以只能用.txt的文件,希望楼主赐教!谢谢了!
作者: zez    时间: 2008-10-29 10:05
原帖由 ilovexiahua 于 2008-10-28 17:02 发表 [url=http://club.excelhome.net/redirect.php?谢谢,楼主的分享。
我是个初学者,我想请教一下,如何写代码将.txt的文件导入到Access数据库呢?因为Excel的文件只能保存6万多条,而我的数据超出了这么多,所以只能用.txt的文件,希望楼主赐教!谢谢了!

超过65536条记录也可以导入EXCEL.这里提供方法,同时也提供将.txt的文件导入到Access数据库的方法

[ 本帖最后由 zez 于 2008-10-29 13:45 编辑 ]
作者: wosisei    时间: 2008-11-2 17:26
dddddddddddddd
作者: ilovexiahua    时间: 2008-11-4 16:05
楼主:
在Excel将超过65536条的外部文本文件直接导入Access中是如何操作的?因为你的方法是先将用excel作为临时存放,然后再导入Access中,如果超过65536条的话就会有数据会被拉掉!还望楼主指教!谢谢!
作者: zez    时间: 2008-11-8 08:47
标题: 回复101楼
原帖由 ilovexiahua 于 2008-11-4 16:05 发表
楼主:
在Excel将超过65536条的外部文本文件直接导入Access中是如何操作的?因为你的方法是先将用excel作为临时存放,然后再导入Access中,如果超过65536条的话就会有数据会被拉掉!还望楼主指教!谢谢!

附件是在Excel将超过65536条的外部文本文件直接导入Access中是的操作方法
作者: chibao4    时间: 2008-11-9 01:35
太感谢楼主了,正用得到,谢了 !!
谢谢楼主了,收益非浅啊!




欢迎光临 ExcelHome技术论坛 (https://club.excelhome.net/) Powered by Discuz! X3.4