Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在VBA中,如何使用ADODB同时查询硬盘上的同一文件?_Vba_Csv_Oledb_Adodb - Fatal编程技术网

在VBA中,如何使用ADODB同时查询硬盘上的同一文件?

在VBA中,如何使用ADODB同时查询硬盘上的同一文件?,vba,csv,oledb,adodb,Vba,Csv,Oledb,Adodb,我有一些VBA代码,看起来像这样,目的是查询csv文件并带回一些记录。但是,我希望能够同时从两台计算机查询相同的文件(位于网络驱动器上)。我尝试使用只读模式,但仍然不起作用。请帮忙 Dim cnt_string As String cnt_string = "Provider = Microsoft.Jet.OLEDB.4.0;" & _ "Data Source=" & "V:\Data\;" & _ "Extended P

我有一些VBA代码,看起来像这样,目的是查询csv文件并带回一些记录。但是,我希望能够同时从两台计算机查询相同的文件(位于网络驱动器上)。我尝试使用只读模式,但仍然不起作用。请帮忙

   Dim cnt_string  As String
   cnt_string = "Provider = Microsoft.Jet.OLEDB.4.0;" & _
        "Data Source=" & "V:\Data\;" & _
        "Extended Properties = Text;"

    strSQL = "SELECT * FROM " & strData & ".csv " & strData & " WHERE (" & strData & ".APPLICATION_ASSIGNED_TO='" & strBrokerNumber & "')"
    Sheets("Broker").Activate

   Dim rs As ADODB.Recordset

   Set rs = New ADODB.Recordset
   Call rs.Open(strSQL, cnt_string, CursorTypeEnum.adOpenForwardOnly, LockTypeEnum.adLockReadOnly, CommandTypeEnum.adCmdText)
   Dim sh As Worksheet
   Set sh = Sheets("Broker")

   Call sh.Range("A10").CopyFromRecordset(rs)
   rs.Close
   Set rs = Nothing

只制作csv的本地临时副本并从中导入可能更容易


如果由于.csv的大小而不实用,您可以检查该文件是否已被其他用户锁定,并在可用之前一直处于循环状态。

使用csv无法完成此操作