Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

[5分]请问如何将查询结果变为EXCEL表格

愉快  发表于:2009-10-31 21:35:14  
复制

 

即子窗体的查询结果。

 

 

点击下载此附件

 

Top
andymark 发表于:2009-10-31 22:53:56

自已用的代码

供你参考

 

 

点击下载此附件

愉快 发表于:2009-10-31 23:09:21

首先谢谢这么晚还答复,但是我下载了你的,按导出键好像没有反映。

 



愉快 发表于:2009-10-31 23:39:58

您的例子是可以的。谢谢。但是,我又另做了一个,做不出来。我是在“临时查询”中字段的名称不知道如何改过来。第一张图是您做的。第二张是我做的。

另,点击导出后,能否有一个存储路径的提示。

 

 



愉快 发表于:2009-10-31 23:47:07

 

这是我的错误提示

 



andymark 发表于:2009-11-01 00:44:13

你没有COPY模块的中的Out2Excel代码

 

临时查询是用代码生成的

 

Private Sub CreateQury()
  Dim StrWhere As String
  Dim Sql As String
  Dim AQueryDef As DAO.QueryDef
  '调用临时查询,为EXCEL的标题作准备
  '如果不考虑标题,直接调用窗体的查询也行
 
  Sql = "SELECT id as 序号,mingzi as 客户名字,danwei as 客户单位, leixing as 客户类型, dizhi as 客户地址, zdianhua as 联系电话, shouji as 手机, youxiang as 邮箱,hetongriqi as 合同签订日期,hetongjinge as 合同金额, dengjiriqi as 登记日期,hetonglianjie as 合同连接,hetongyuanwen as 合同原文, beizhu as 备注 FROM tblkehu"

           
  If Len(FiltFrmWhere) > 0 Then
  Sql = Sql & " where " & FiltFrmWhere
  End If
                 
  CurrentDb.QueryDefs.Refresh
  Set AQueryDef = CurrentDb.QueryDefs("临时查询")
  AQueryDef.Sql = Sql
 
  If (Err) Then
     Exit Sub
  End If
   
  AQueryDef.Close

 CurrentDb.QueryDefs.Refresh
End Sub



愉快 发表于:2009-11-01 11:21:59

 

不好意思,这么晚还答复。但是,上面的代码我是写进去了。还是不行。

另,您做的这个方法,它因为不能有存储路径的提示,所以,它会后面生成的EXCEL会将前面的覆盖。

 



andymark 发表于:2009-11-01 14:18:15

原来的EXCEL会被KILL的

 

修改了一下

 

 

 

点击下载此附件

愉快 发表于:2009-11-01 17:10:25

 

后面生成的EXCEL会将前面的覆盖的问题解决了。

但是,我把您的代码全部抄过去,我的文件还是做不出来。是否还有哪里关键点,我没有做到。

 



andymark 发表于:2009-11-01 18:19:11

在5楼不是提示你了吗

 

你没有COPY模块1的中的Out2Excel代码

 

Public Sub Out2Excel(strTableName As String, StrDestName As String)
  '导出询查和表 到 Excel
  'StrTableName 查询 或表 名
  'StrDestName  导出Excel的保存的名称
 
   Dim StrExcelName As String
   Dim StrFilename As String
   StrFilename = StrDestName & ".xls"
   StrExcelName = CurrentProject.Path & "\" & StrFilename
   If Dir(StrExcelName) <> "" Then
      Kill StrExcelName
   End If
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel8, strTableName, StrExcelName, True

End Sub



愉快 发表于:2009-11-01 21:00:05

 

是我自己太笨了。谢谢!

 

 



总记录:10篇  页次:1/1 9 1 :