CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
IBM Rational 系统开发最佳实践工具包 WebSphere MQ 最佳实践 TOP 15
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VB >  基础类

继续提问,多谢回答

楼主caslon01444(学习)2006-03-03 15:33:00 在 VB / 基础类 提问

刚次很多高手帮我弄好了如何打开excel的问题  
   
  现在如果我不知道数据确切的位置该如何写这段代码呢?  
   
  比如我的文件中有  
   
  时间         距离          
   
  当我输入一个距离A的时候,我同时会得到运动了这么长距离花费的时间。  
  而且如果距离这列没有A这个数字,那么就自动显示比A小并且和A的差最小的那一行的时间  
   
  期待高手给点提示。  
   
  问题点数:100、回复次数:21Top

1 楼wangchong(网虫)回复于 2006-03-03 15:50:51 得分 0

教你个方法解决用VB开发OFFICE的问题:  
  你用录制宏的方法,在office中模拟你要程序所做的事情。office会自动生产代码的!!!  
  我好多问题都是这么解决的!!Top

2 楼Modest(塞北雪貂)·(偶最欣赏楼主的分)回复于 2006-03-03 15:57:12 得分 0

楼上的是个好办法Top

3 楼caslon01444(学习)回复于 2006-03-03 15:58:35 得分 0

能不能具体的说下?  
   
  我过去没有用过这种功能?刚才我用了下那个功能,点了录制之后就不知道接下来要做什么了。。Top

4 楼wangchong(网虫)回复于 2006-03-03 16:05:01 得分 10

点击“录制”,这时你可以在OFFIC中做些操作:比如你在word中插入表格。然后点击  
  “停止录制”。然后打开“visual   basic编辑”就可以看到代码了!!Top

5 楼lv1(CODER不易做)回复于 2006-03-03 16:07:08 得分 0

好办法啊好办法,录制后你放单步运行,会进入到设计界面的,里面的代码都有Top

6 楼Silo(炽天之翼)回复于 2006-03-03 16:08:06 得分 0

进来学习Top

7 楼caslon01444(学习)回复于 2006-03-03 16:19:52 得分 0

但是看看我的要求  
   
  首先输入一个距离,然后找出相对应的时间,感觉没有进行什么操作阿?Top

8 楼ZOU_SEAFARER(颓废程序员^_^)回复于 2006-03-03 16:37:48 得分 30

你的问题还是需要查询!  
      当初告诉你的方法是读取csv文件,没有说要查找数据,  
      现在你要查找数据要不你就像打开数据库方式一样打开csv文件,要不就循环找距离的那一列,得到和你输入数据相等的直后再取当条数据的时间列数据就是你要的结果!Top

9 楼caslon01444(学习)回复于 2006-03-03 16:46:11 得分 0

。。。。。  
   
  那么应该怎么实现呢Top

10 楼wxrwan(无奈小飞不耻上问)回复于 2006-03-04 00:50:33 得分 0

用录制宏的方法来学习太好了Top

11 楼DengXingJie(杰西)回复于 2006-03-04 08:57:20 得分 0

如果需要具體顯示在Excel中哪一行,那需要循環  
  如果只需知道距離所對應的時間,可以直接用ADO打開Excel,再用SQL語句就可輕松實現Top

12 楼IamDeane(冷冷的风(Deane))回复于 2006-03-04 10:47:36 得分 0

好办法啊,支持下Top

13 楼caslon01444(学习)回复于 2006-03-04 14:07:08 得分 0

我只需要知道所在行的其他数据就可以了,不用具体知道位置  
   
  如果用ADO怎么实现?  
   
  我如果输入的这个数字在表中没有的话,那么自动选择所有比输入数字小的数据中最大的一个Top

14 楼DengXingJie(杰西)回复于 2006-03-04 15:20:15 得分 60

Dim   Cn   As   New   ADODB.Connection  
  Cn.ConnectionString   =   "Driver={Microsoft   Excel   Driver(*.xls)};DriverId=790;Dbq=F:\TEST.xls;DefaultDir=F:\;"        
  Cn.Open  
   
        Dim   Rst   As   New   ADODB.Recordset  
        Dim   Sql   As   String  
        Sql   =   "select   *   from   [Sheet1$]   where   距離<=A   order   by   距離   desc"  
        Rst.CursorLocation   =   adUseClient  
        Rst.Open   Sql,   Cn,   adOpenStatic,   adLockPessimistic  
         
        Rst數據集中第一筆就是你要的記錄  
   
  Top

15 楼caslon01444(学习)回复于 2006-03-06 08:43:30 得分 0

感谢杰西的回答!  
   
  我还是有几个问题,如果这个距离换成时间的话应该如何处理?  
   
  还有就是Dbq=F:\TEST.xls;DefaultDir=F:\这一行的路径可以由我自己设置吧?如果想让这里能够由操作者选择文件路径该怎么做?Top

16 楼DengXingJie(杰西)回复于 2006-03-06 10:28:49 得分 0

1.如果是時間可以換成:Sql   =   "select   *   from   [Sheet1$]   where   時間<=A   order   by   時間   desc"即可  
   
  2.路徑可以更改,如你的xls文件存放在C:\XLS\下,則可改為:Dbq=C:\XLS\TEST.xls;DefaultDir=C:\XLS\即可  
   
  有些參數自己可以更改,然後再測試Top

17 楼caslon01444(学习)回复于 2006-03-06 10:32:23 得分 0

而且系统说“用户未定义类”。。Top

18 楼DengXingJie(杰西)回复于 2006-03-06 10:40:34 得分 0

最好是把代碼貼出來並且指出錯誤出現在的位置及提示Top

19 楼caslon01444(学习)回复于 2006-03-06 10:48:05 得分 0

Dim   Rst   As   New   ADODB.Recordset  
   
  这行  
   
  还有您能不能留个联系方式,我们详细说下Top

20 楼DengXingJie(杰西)回复于 2006-03-06 11:03:39 得分 0

好啊  
  JESSE@VS138.COM  
  184551473Top

21 楼caslon01444(学习)回复于 2006-03-06 11:17:53 得分 0

上面是MSN,下面是QQ吧?您常用哪个?Top

相关问题

  • 提问?回答。
  • 继续提问
  • vc问题,多谢回答。
  • 提问:66603.6-64603.6-2000 = 0 ? VB回答: No.
  • *** 高分,请尽快回答,多谢! ***
  • isa+exchange+sharepoint+www网络方案提问,多谢了!
  • 继续提问(送分)
  • 菜鸟继续提问
  • 新手提问!请大家回答!
  • 菜鸟提问,请高手回答!

关键词

  • 数据
  • 代码
  • 文件
  • 数字
  • excel
  • sql
  • 录制
  • 距离
  • 输入
  • 打开

得分解答快速导航

  • 帖主:caslon01444
  • wangchong
  • ZOU_SEAFARER
  • DengXingJie

相关链接

  • Visual Basic类图书
  • Visual Basic类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo