Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 2311|回复: 10

[已解决]如何从ACCESS提取黄色区域的数据按报考职位升序来排列

[复制链接]
发表于 2013-6-12 17:08 | 显示全部楼层 |阅读模式
求助:如何从ACCESS数据库提取黄色区域的数据(姓名、身份证号码、报考职位)按报考职位升序来排列。注:提取时试室号、座位号、准考证号将不能受此影响。
求助.rar (27.86 KB, 下载次数: 4)
发表于 2013-6-12 17:41 | 显示全部楼层
提完了你再用EXCEL的排序功能就成了。职位的排序可以添加自定义序列。
回复

使用道具 举报

 楼主| 发表于 2013-6-12 17:46 | 显示全部楼层
hwc2ycy 发表于 2013-6-12 17:41
提完了你再用EXCEL的排序功能就成了。职位的排序可以添加自定义序列。

好的老师!我试试看下。谢谢。手工排序是会的,但是写代码排序就不懂了
回复

使用道具 举报

发表于 2013-6-12 17:57 | 显示全部楼层
直接录排序的操作就会了。
回复

使用道具 举报

 楼主| 发表于 2013-6-12 18:03 | 显示全部楼层
hwc2ycy 发表于 2013-6-12 17:57
直接录排序的操作就会了。

好的谢谢
回复

使用道具 举报

 楼主| 发表于 2013-6-12 20:03 | 显示全部楼层
hwc2ycy 发表于 2013-6-12 17:57
直接录排序的操作就会了。

老师如果我用此条代码的话(现在是提取数据表全部项目的,如果只取三项:姓名、身份证号、报考职位)的话又如何改呢?谢谢。
Private Sub CommandButton1_Click()
Dim cnn As Object, SQL$
    Set cnn = CreateObject("adodb.connection")
    cnn.Open "provider=microsoft.jet.oledb.4.0;data source=" & ThisWorkbook.Path & "\GKZP.mdb;Jet OLEDB:Database Password=695360052"
    SQL = "select * from GKZP where 操作员='小邓' and 操作员='小邓'"
    Range("a1").CurrentRegion.Offset(5).ClearContents
    Range("a3").CopyFromRecordset cnn.Execute(SQL)
    cnn.Close
    Set cnn = Nothing
End Sub
回复

使用道具 举报

发表于 2013-6-12 20:33 | 显示全部楼层    本楼为最佳答案   
把*换成要取的字段名
sql="select 姓名,身份证号,报考职位 from GKZP where 操作员='小邓'"

你之前的WHERE条件是一样的,只要一个就够了。

评分

参与人数 1 +3 收起 理由
qinhuan66 + 3 老师神马难题都能解决,谢谢

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2013-6-12 20:57 | 显示全部楼层
本帖最后由 qinhuan66 于 2013-6-12 21:05 编辑
hwc2ycy 发表于 2013-6-12 20:33
把*换成要取的字段名
sql="select 姓名,身份证号,报考职位 from GKZP where 操作员='小邓'"

老师按照你的要求如果在后面加上排序好像原有数据会乱,如下图:谢谢

Private Sub CommandButton1_Click()
Dim cnn As Object, SQL$
    Set cnn = CreateObject("adodb.connection")
    cnn.Open "provider=microsoft.jet.oledb.4.0;data source=" & ThisWorkbook.Path & "\GKZP.mdb;Jet OLEDB:Database Password=695360052"
    'SQL = "select * from GKZP where 操作员='小邓' and 操作员='小邓'" '*号提取全部
    SQL = "select 姓名,身份证号,报考职位 from GKZP where 操作员='小邓'" '取姓名、身份证号、报考职位
    Range("a1").CurrentRegion.Offset(5).ClearContents
    Range("a3").CopyFromRecordset cnn.Execute(SQL)
    cnn.Close
    Set cnn = Nothing
    '以下为按报考职位排序(升序)
    Range("A3:C1000").Sort Key1:=Range("C3"), Order1:=xlAscending, Header:= _
        xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        SortMethod:=xlPinYin, DataOption1:=xlSortNormal
End Sub
没有执行命令前的图
2013-06-12_205419.gif

执行命令后的图片如下图
2013-06-12_205442.gif

回复

使用道具 举报

发表于 2013-6-12 21:03 | 显示全部楼层
你到底显示哪几列数据啊。录的代码有时需要改的。
回复

使用道具 举报

 楼主| 发表于 2013-6-12 21:07 | 显示全部楼层
hwc2ycy 发表于 2013-6-12 21:03
你到底显示哪几列数据啊。录的代码有时需要改的。

我是要提取A列、B列、C列的数据,其他不要动。谢谢。排序是以报考职位来排序
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-25 01:56 , Processed in 0.599837 second(s), 12 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表