【问题标题】:is there equivalent code in VBA Access 2007?VBA Access 2007 中是否有等效代码?
【发布时间】:2010-08-03 02:43:31
【问题描述】:

这似乎是 .NET 框架代码。 ByteImage = System.IO.File.ReadAllBytes("C:\我的文件夹\我的文件")

由于我没有使用 .NET,VBA (Access 2007) 中是否有等效的代码可以做同样的事情?

【问题讨论】:

    标签: vba ms-access-2007


    【解决方案1】:
      Dim ByteImage() As Byte
    
      Open "C:\my folder\my file" For Binary Access Read As #1
    
      ReDim ByteImage(1 To LOF(1))
      Get #1, , ByteImage
    
      Close #1
    

    【讨论】:

      【解决方案2】:

      也许:

      ''Reference: Microsoft ActiveX Data Objects x.x Library
      Set mstream = New ADODB.Stream
      mstream.Type = adTypeBinary
      mstream.Open
      mstream.LoadFromFile "c:\docs\image.jpg" 'FileNameToLoadWithFullPath
      

      您可以像这样轻松地将其添加到记录集中:

      rs.AddNew
      rs.Fields("ImageCol").Value = mstream.Read
      rs.Update
      

      【讨论】:

      • 变量 mstream 的声明在哪里?
      • 这是一个sn-p,注意New ADODB.Stream
      • 我认为在没有变量声明的情况下发布代码的 sn-ps 是不可取的。甚至 rs 也需要有它的声明,因为它可以是 ADO 或 DAO 这两种记录集之一。
      • 我不知道 OP 希望使用哪种类型的记录集,或者在这种情况下同样适用,并且所提到的方法对两者完全相同。我只怀疑以前帖子中的记录集,问题中没有提到。因此,在这种情况下声明一个类型就是建议应该使用该类型,而事实并非如此。
      • 感谢大家的建议!我无法让 mstream 工作,可能是因为我没有正确的引用,但是“Open X for binary access read .....”解决了这个问题。非常感谢你们的回复!!
      猜你喜欢
      • 1970-01-01
      • 2018-06-24
      • 1970-01-01
      • 2010-10-02
      • 1970-01-01
      • 2016-01-14
      • 2016-05-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多