Access交流中心

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

[5分]百思不得其解的问题,子窗体数据导出excel, 按钮只能点击一次,第二次excel无数据,除非窗体重启

阿四  发表于:2020-09-01 20:32:51  
复制

点击下载此附件



 

Top
阿四 发表于:2020-09-01 20:38:31
补充:我弄不明白的是,导出代码问题出于哪里,该如何修改? 其它方法也能解决,但不是我提问的本意。

随心飞去 发表于:2020-09-01 22:30:58
可能按钮少了一点点,只要把大神的更新语法复制后,放在按钮中,就可以解决了你讲的问题

Private Sub Command6_Click()


If Me.cobmc = "所有" Then
        Me.sftrlist.Form.Filter = ""
       Me.sftrlist.Form.FilterOn = False
    Else
        Me.sftrlist.Form.Filter = "公司名称='" & Me.cobmc & "'"
    Me.sftrlist.Form.FilterOn = True
    End If


    Me.sftrlist.Form.Requery


ExportToExcel Me.sftrlist.Form.Recordset, "c:\test.xlsx"
End Sub



阿四 发表于:2020-09-01 22:53:36
确实行。 前面的红字部分是我写的,是组合框更新事件。 那个导出万能函数是网上大神写的。单独用的。本来两个应该是不相干的,没想到扯在一起了。是不是函数本身有什么局限性,朋需要修改的地方?

阿四 发表于:2020-09-01 22:56:33
大神在写函数的时候,也不可能预料到我会写红字的部分。函数应该可以独立使用,要不然函数本身有问题

阿四 发表于:2020-09-01 23:34:21
。我将组合框去掉。 只留一个导出按钮,问题依然存在,只能导出一次。 说明根本问题还没解决,不知导出函数本身哪个地方出了问题,望大师们指教

西出阳关无故人 发表于:2020-09-02 11:30:44

修改如下后可以多次成功:

...

    Set objExcelSheet = objExcelBook.Worksheets("sheet1")
    rst.MoveFirst   '添加这一句
    Set objExcelQuery = objExcelSheet.QueryTables.Add(rst, objExcelSheet.Range("A1"))

...


估计是objExcelQuery.Refresh方法对rst的书签之类产生了偏移导致的.具体原因还得高手指教



阿四 发表于:2020-09-02 11:45:12
谢谢兄弟!高人. 又是指针问题. 明明有记录,怎么返回空记录. 看来指针问题不得不防. 上次也是类似的问题,大师帮我解决了,谢谢

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