从Excel粘贴到Access中-非数字条目不';我打不通

从Excel粘贴到Access中-非数字条目不';我打不通,excel,ms-access,ms-access-2013,Excel,Ms Access,Ms Access 2013,每隔一段时间,用户就会抱怨我的Access应用程序丢失字段。我发现他们是对的。在某些情况下,访问只需从某个字段的复制粘贴操作中删除接受数据即可 这几乎就像Access认为粘贴的数据只是数字数据一样,一旦看到Alpha,它就会尝试转换为数字,失败后将其忽略 下图不是自定义应用程序,而是一个新的Access文件,我只是在其中复制并粘贴Excel数据。我已经使用查看了原始剪贴板数据,但没有发现任何明显的问题或格式问题 想法 据我所知,这是一个公认的小故障。如果是真的,那么你所能做的就是解决它,不幸的是

每隔一段时间,用户就会抱怨我的Access应用程序丢失字段。我发现他们是对的。在某些情况下,访问只需从某个字段的复制粘贴操作中删除接受数据即可

这几乎就像Access认为粘贴的数据只是数字数据一样,一旦看到Alpha,它就会尝试转换为数字,失败后将其忽略

下图不是自定义应用程序,而是一个新的Access文件,我只是在其中复制并粘贴Excel数据。我已经使用查看了原始剪贴板数据,但没有发现任何明显的问题或格式问题

想法


据我所知,这是一个公认的小故障。如果是真的,那么你所能做的就是解决它,不幸的是,这会影响到你的最终用户,而不仅仅是你自己


在上找到了类似的描述


Hmmm.那么,如果Excel中的数据被排序,使其中一个字母数字条目位于顶行,会发生什么情况呢?

执行“特殊粘贴”操作,并将其粘贴为纯文本。为了便于使用,我建议将“粘贴特殊”按钮固定到快速访问工具栏上

有时,当您让Access猜测粘贴的内容时,它会感到困惑。将其粘贴为纯文本是强制其工作的最佳方式

编辑

右键单击菜单的示例代码

Public Function CreateGeneralClipBoardMenu()
    On Error Resume Next
    CommandBars("GeneralClipboardMenu").Delete

    Dim cmb As Office.CommandBar

    Set cmb = CommandBars.Add("GeneralClipboardMenu", msoBarPopup, False, False)

        With cmb
            .Controls.Add msoControlButton, 21, , , True  ' Cut
            .Controls.Add msoControlButton, 19, , , True  ' Copy
            .Controls.Add msoControlButton, 755, , , True  ' Paste Special
        End With

    Set cmb = Nothing
End Function
ID#755是Paste Special的一个神奇数字,我在下面的列表中找到了它:

在Access 2013中设置它的位置。Access选项-当前数据库-快捷功能区栏


在复制数据之前,必须放置一个页眉[String,以便Access将考虑所有以下数据作为字符串)。在标题上方插入新列,然后将数据(包括标题和空列)复制/粘贴到access表中。

在上找到了类似的描述。基于这个响应,你应该开发一个导入,这样这个小故障就不会出现了。是的,我想这是一个确认的错误,如果它追溯到那么远的时候。我将考虑导入向导,但它在我的进程用例中可能不起作用。+ 1引用实用工具查看剪贴板数据。除了漂亮之外,这也构成了研究!但是,嘿,给它一天看看聪明人说什么!我注意到它只工作一次,但不足以让用户理解正在发生的事情。但是我想我是对的,Access试图猜测数据类型,但后来在数据流中失败了。我正在使用Access运行时,因此典型的右键单击上下文菜单不可用。我使用自己的右键单击菜单,但粘贴操作命令由Access提供。据我所知,没有特别的粘贴程序。@Lopez-你能用你创建的新Access文件来验证我的建议吗?至少我们会知道我的方法在正常情况下是否有效:-)实际粘贴特殊作品,但效果不同。它将第一行作为标题,但其他行似乎粘贴得很好。