【问题标题】:How to copy an embedded picture如何复制嵌入的图片
【发布时间】:2016-03-24 17:52:41
【问题描述】:

如何将嵌入的图片复制到新的图像控件?

背景:在运行时,我需要使用两个客户端徽标之一作为各种表单的标题。表单的数量至少为三个,但该数量和徽标选择会根据用户所做的选择而变化。用户是我无法控制的各种笔记本电脑上的众多销售人员之一,这些笔记本电脑在程序运行时可能具有网络访问权限,也可能没有网络访问权限。我所知道的是,我们至少有 Access 2007、2010、2013 或 2016,可能是 Windows……或 Mac。 我已经将徽标嵌入到数据库中。

我希望能够CreateControl acImage,将其移动到正确的位置,然后MyImage.Picture = EmbeddedPicture,但我愿意选择。

如何在 VBA 中引用已经嵌入的图片?

【问题讨论】:

    标签: vba ms-access


    【解决方案1】:

    如果您已经将图片嵌入到数据库中,它将可用于按图片名称的所有控件,并且您可以使用如下代码在表单上创建新图片:

    Dim ctlImage As Image
    
    DoCmd.OpenForm "Form2", acDesign
    
    Set ctlImage = CreateControl("Form2", acImage, acDetail, , , 1000, 1000, 5000, 2000)
    ctlImage.Picture = "image001.jpg"
    
    DoCmd.Close acForm, "Form2", acSaveYes
    

    在创建之前确保图片嵌入并且您可以在任何具有该属性的对象的Picture属性的下拉列表框中看到图片文件名。先在Picture Type属性中选择“Embedded”。

    嵌入图片最简单的方法是选择图片文件并将图片类型更改为嵌入。在此之后,图片将被复制到数据库的系统表之一,并可供任何带有图片的控件使用。

    请注意,要创建新控件,表单应在设计模式下打开。我建议避免这种情况,因为如果您将应用程序编译为 accde,此操作会产生错误。

    更好的方法是手动创建图片对象,然后根据需要的图片更改图片属性。您还可以创建一些对象并在运行时使它们可见/不可见。

    【讨论】:

    • 谢谢。这很尴尬。我无法想象它就像使用以前的文件名一样简单。顺便说一句,我的只有在我去掉“.jpg”扩展名的情况下才有效,但也许我一开始就嵌入了错误。
    • 另外,我注意到您编辑了问题,将我几乎是伪代码放入代码标签中。是否有某个地方的教程可以告诉我这个社区在什么时候说代码成为足以将其包含在标签中的代码?
    • 首先,您的问题/答案应该易于阅读和理解。格式化对此有帮助。这是格式化帮助:stackoverflow.com/help/formatting 和有关询问的常见建议:stackoverflow.com/help/how-to-ask
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-07-27
    • 2018-08-24
    • 2018-05-10
    • 2017-01-08
    • 1970-01-01
    • 2020-12-26
    • 1970-01-01
    相关资源
    最近更新 更多