如何使用VB .Net中的相同OleDbConnection一起从Access数据库和Excel中读取数据

时间:2018-06-12 13:01:01

标签: excel oledbconnection

我在Access数据库中有一个表,在Excel中有另一个表,其中有一个名为[Number]的唯一列。 我想知道如何使用单个 OleDbConnection 连接这两个源,以便我可以在VB .Net中执行类似这样的查询。

SELECT [Sheet1$].[Number], [Sheet1$].[Vendor],[Sheet1$].[Details], ,TableinAccess.[Datefield], TableinAccess.[Agreement],TableinAccess.Comments 
FROM  ([Sheet1$] LEFT OUTER JOIN TableinAccess ON [Sheet1$].[Number] = TableinAccess.[Number])

想法是使用来自两个来源的数据填充Gridview。

例如:

Excel有下表(Sheet1),

数卖方详细
1 vend1 XXX
2 vend2 xxx
3 vend3 xxx

访问权限位于下表(TableinAccess),
号码的DateField协议评论
1 vend1 xxx东西
2 vend2 xxx东西

我必须像这样填写我的Gridview,

数卖方详细的DateField协议评论
1 vend1 xxx vend1 xxx东西
2 vend2 xxx vend2 xxx东西
3 vend3 xxx null null null

1 个答案:

答案 0 :(得分:0)

您无法完成所描述的内容,因为这两个数据源彼此完全隔离。

OLEDB连接只能连接到单个"" (DB服务器,文件等)一次。

要进行JOIN,您需要将Excel数据复制到Access中的临时表或从Access链接到它,然后在Access中进行连接。