提问人:evilhomer 提问时间:9/19/2008 最后编辑:evilhomer 更新时间:6/20/2021 访问量:3672
剪贴板问题
Issue with clipboard
问:
我有一个我目前支持的旧应用程序,当人们从数据表视图复制大量数据时,它遇到了问题。
该应用程序内置于 MS Access 中,复制的行数可能会变得非常大(有时达到数千行)。
有趣的是,您可以将数据粘贴出来,但随后 Access 会不断将数据“呈现”为不同的格式,并在很长一段时间内受到 CPU 限制。
MS Access 窗口右下角进度条旁边的状态消息是
将数据呈现为格式:Biff5
根据消息来源,Biff5 是“二进制交换文件格式 (BIFF) 版本 5”
应用程序代码在任何地方都没有使用 BIFF5,所以我认为这不是应用程序问题。
我在网络上的任何地方都找不到有关此错误的任何数据,因此我认为这是stackoverflow的好问题。
那么,谁能帮忙呢?
答:
我不确定问题出在哪里,但有时您可能会遇到一些非常古怪的错误。您是否尝试过在不同的机器上运行它?不同的操作系统?是否可以将数据粘贴到 Excel 中,然后使用导入功能导入到 Access 中?您可以直接导入数据而不是粘贴数据吗?
为此,我们都在同一个操作系统上,我正在调查在上一个维护窗口中发送的某些更新导致这种情况的可能性,因为在此之前这不是问题,并且该时间段内没有软件的新版本。
在很多机器上尝试过,它们都存在同样的问题。
问题实际上在于从 Access 中的数据表视图复制并粘贴到 Excel,而不是相反。
这是用例
访问 --> “从数据表复制”(普通 +) --> “粘贴到 Excel”(普通 +) (这很好用!CtrlCCtrlV
当您返回 Access 继续工作时,我上面提到的“将数据呈现为格式化:”的事情是 CPU 限制的。
老实说,我被难住了,这一切都有点奇怪。
您不能将查询导出到 Excel 而不是尝试复制粘贴吗?
尝试通过VBA进行复制粘贴操作:
一旦用户选择了要复制的数据,您可以在单击表单中的按钮时执行以下代码,然后在excel中执行粘贴:
--- 用户---选择的数据
RunCommand acCmdCopy
Dim xlApp As Object
Set xlApp = CreateObject(Class:="Excel.Application")
'New Excel Workbook
Dim xlWbook As Object 'Excel.Workbook
Set xlWbook = xlApp.Workbooks.Add
'Paste in excel
xlWSheet.Range("A1").Select
xlWSheet.PasteSpecial Link:=False, DisplayAsIcon:=False, Format:="Biff5"
评论