| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 657 人关注过本帖, 3 人收藏
标题:我想用ADO+SQL语句查询EXCEL,但得不到结果,大侠帮忙查找一下原因,谢谢
取消只看楼主 加入收藏
yiyaozjk
Rank: 2
等 级:论坛游民
帖 子:231
专家分:30
注 册:2010-3-10
结帖率:51.67%
收藏(3)
已结贴  问题点数:20 回复次数:3 
我想用ADO+SQL语句查询EXCEL,但得不到结果,大侠帮忙查找一下原因,谢谢
Public xlApp As Excel.Application          '定义EXCEL类
 Public xlBook As Excel.Workbook            '定义工件簿类
 Public xlsheet As Excel.Worksheet          '定义工作表类
Private Sub Command1_Click()
   FileName = "仓库.xls"
Set xlApp = GetObject(, "Excel.Application")     '判断Excel是否打开
xlApp.WindowState = xlMaximized
           Set xlBook = xlApp.Workbooks.Open(App.Path & "\" & FileName) '打开工件簿文件
           xlApp.Visible = True
 Set cnn = CreateObject("ADODB.Connection")
    Set rst2 = CreateObject("ADODB.Recordset")
'    Set xlsheet = xlBook.Worksheets(4)
    ' xlsheet.Unprotect "123abc"
   ' xlsheet.Range("J:J").ClearContents

    cnn.Open "provider=microsoft.jet.oledb.4.0;extended properties=Excel 8.0;data source=" & App.Path & "\" & FileName
   ' StrSQL = "SELECT * FROM [" & Sh.Name & "$]"
     StrSQL = "SELECT * FROM [结存$] where 物料名称='JACK IN THE BOX'"
     StrSQL = "SELECT * FROM [结存$] "
    ' Set rst2 = cnn.Execute("SELECT 物料名称,规格型号,出库地点,出库人 FROM [出库$] where 物料名称 =''and 出库方式='采购入库'")
      Set rst2 = cnn.Execute(StrSQL)
       Set xlsheet = xlBook.Worksheets(2)
      xlsheet.Range("a5").CopyFromRecordset rst2
      For i = 1 To 2  'rst2.Fields.Count '获得SQL结果的列标题
      ' MsgBox rst2.Fields(i - 1).Name '字段名,
     '  MsgBox rst2.Fields(i - 1) '字段名,

    Next
End Sub
跟踪没有提示错误,我错了哪里?
SQLCX.zip (21.09 KB)
搜索更多相关主题的帖子: 工作表 EXCEL Excel 仓库 
2014-03-21 18:51
yiyaozjk
Rank: 2
等 级:论坛游民
帖 子:231
专家分:30
注 册:2010-3-10
收藏
得分:0 
拜读,二楼正确。

但我写在上面的代码,是网上搬过来的,为什么就不能用Set rst2 = cnn.Execute(StrSQL)???不解
2014-03-22 07:28
yiyaozjk
Rank: 2
等 级:论坛游民
帖 子:231
专家分:30
注 册:2010-3-10
收藏
得分:0 
又出现新问题了。。
   一般的查询都没有问题,
   但我发现:
    物料名称中一旦含有'时,就会出现操作符丢失的错误的。。。。
    比如:30行:WILKINSONS'S HARDWARE STORES LIMITED
          49行: SAINSBURY'S SUPERMARKETS LTD   
高手再帮我解决一下这个问题。。谢谢
2014-03-22 11:24
yiyaozjk
Rank: 2
等 级:论坛游民
帖 子:231
专家分:30
注 册:2010-3-10
收藏
得分:0 
问题是:如果用 StrSQL = "SELECT * FROM [结存$] where 物料名称='"& 变量名 &"'"
   而这个字符串变量中又有单引号。。。。。。那如何再加单引号或双引号   啦??
2014-03-22 22:16
快速回复:我想用ADO+SQL语句查询EXCEL,但得不到结果,大侠帮忙查找一下原因,谢 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.028144 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved