如何从Access 2010(vba)中运行vb.NET代码?在Access 2010中通过vb.NET访问win 32 OpenSqlFilestream API

如何从Access 2010(vba)中运行vb.NET代码?在Access 2010中通过vb.NET访问win 32 OpenSqlFilestream API,vb.net,vba,winapi,ms-access-2010,sqlfilestream,Vb.net,Vba,Winapi,Ms Access 2010,Sqlfilestream,谢谢你们的时间,好朋友 我正在调整Access 2010客户端,以便与新的SQL Express Server 2008后端配合使用。后端已启动并正在运行。没问题。Filestream已配置且工作正常 我的问题与从客户端访问存储在SQL Express Server 2008实例中的filestream BLOB数据有关。特别是通过win 32 OpenSqlFilestream API访问数据,详情如下: 我知道我无法在VBA中访问此API。我必须用不同的语言编写所有相关的代码。因此,我计划在

谢谢你们的时间,好朋友

我正在调整Access 2010客户端,以便与新的SQL Express Server 2008后端配合使用。后端已启动并正在运行。没问题。Filestream已配置且工作正常

我的问题与从客户端访问存储在SQL Express Server 2008实例中的filestream BLOB数据有关。特别是通过win 32 OpenSqlFilestream API访问数据,详情如下:

我知道我无法在VBA中访问此API。我必须用不同的语言编写所有相关的代码。因此,我计划在VB.NET中编写一个小程序,该程序将包含一个弹出表单,允许用户添加、编辑、删除通过filestream存储的文件

我想从Access 2010中以弹出形式打开这个迷你VB.NET程序。

我该怎么做?我从未在vb.NET中编写或编译过程序,而且我不知道如何从Access 2010客户端的VBA代码中调用该程序

请帮忙

谢谢


帕特里克·奎格利(Patrick Quigley)

你是不是把这个复杂化了?ADO可以简单地读/写文件流数据:()-如果出于任何原因您不能这样做,您将把VB.Net代码构建到COM可见的程序集DLL中,并通过引用从VBA调用它。嗨,Alex,我已经尝试使用adodb.stream来读BLOB数据。我遇到了一个问题,就是不知道每个文件扩展名或原始文件名(在添加到filestream列之前)是什么。如果我能够访问这些信息,我将能够使用ADO sure。然而,第二个建议听起来不错。你能给我指一下构建COM可见程序集DLL的资源吗?我知道如何在编写引用后添加引用,但我自己不知道如何编写引用。您可以使用select查询来执行此操作:
select file\u strm\u col.PathName(),从您的表中选择id=x
PathName(),不幸的是,这不好。PathName()返回文件容器中文件的当前路径。根据返回的内容,filestream系统为文件指定了自己的名称。例如,如果我将文件“mypdf.pdf”插入到启用filestream的列中,PathName()将返回一个不包含“mypdf”或“.pdf”的字符串。我需要知道“mypdf.pdf”的原始文件名。由于原始文件名没有公开,所以它得到了iirc。您打算如何使用您提到的API来实现它?