我有一些看起来像这样的VBA代码,目的是查询csv文件并带回一些记录。但是,我希望能够从两台计算机同时查询同一个文件(位于网络驱动器上)。我尝试使用readOnly模式,但它仍然无法正常工作。请帮帮忙?
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
答案 0 :(得分:1)
可能更容易制作csv的本地临时副本并从中导入。
如果由于.csv的大小而不实用,您可以检查文件是否被其他用户锁定并坐在循环中直到它可用。
答案 1 :(得分:0)
使用CSV无法完成。