soword科技言
永久公益免费API接口
提供永久免费的API接口,查看更多API接口,如果您有其他免费API资源,请联系我们,造福人类。
提供商务开发:小程序,系统,APP
定制开发,免费评估,免费咨询,价格便宜,售后保障,前往开发服务中心联系开发客服中心
将两个不同的Access文件查询到Excel中

我以各种方式无法获得正确的代码。

我尝试了不同的方法,但是我无法让Join工作。

一个文件是.sep,另一个文件是.ses都是可以通过Access查看的CAD文件。

表一是该产品中包含的产品列表。它应该参考表二,表二对此有描述。

Option Explicit

SubStücklisteJoinAbfrage()

Dim con As Object
Dim con2As Object
Dim rsAs Object
Dim AccessFileAs String
Dim AccessPfad2 As String
Dim AccessFile2 As String
Dim strTableAs String
Dim strTable2 As String
Dim AccessPasswordAs String
Dim SQL As String
Dim i As Integer
Application.ScreenUpdating = False
AccessFile = "C:\Users\FE3\Desktop\SEP-Dateien\Ansicht-Netze_BW.sep"
AccessFile2 = "C:\Users\FE3\Desktop\Symbols\Types.ses"
AccessPfad2 = "C:\Users\FE3\Desktop\Symbols\"
AccessPassword = "HIDDEN"
strTable = "AllComponentTypesCount"
strTable2 = "Type"
On Error Resume Next
Set con = CreateObject("ADODB.connection")
Set con2 = CreateObject("ADODB.connection")
If Err.Number <> 0 Then
MsgBox "Connection was not created!", vbCritical, "Connection Error"
Exit Sub
End If
On Error GoTo 0
con.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & AccessFile & ";" & _
"Jet OLEDB:Database Password=" & AccessPassword
con2.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & AccessFile2 & ";" & _
"Jet OLEDB:Database Password=" & AccessPassword
SQL = "SELECT * " _
 & "FROM Ansicht-Netze_BW.sep AllComponentTypesCount AS 'Products' " _
 & "LEFT JOIN [text;database=" & AccessPfad2 & "].Types.ses AS Types " _
 '& "ON AllComponentTypesCount.160040 = Types.Type"
On Error Resume Next
Set rs = CreateObject("ADODB.Recordset")
If Err.Number <> 0 Then
Set rs = Nothing
Set con = Nothing
MsgBox "Recordset wurde nicht erstellt!", vbCritical, "Recordset Error"
Exit Sub
End If
On Error GoTo 0
rs.CursorLocation = 3 'adUseClient on earlybinding
rs.CursorType = 1 'adOpenKeyset on earlybinding
rs.Open SQL, con
If rs.EOF And rs.BOF Then
rs.Close
con.Close
Set rs = Nothing
Set con = Nothing
Set con2 = Nothing
Application.ScreenUpdating = True
MsgBox "Keine Aufzeichnungen im Recordset!", vbCritical, "No Records"
Exit Sub
End If
For i = 0 To rs.Fields.count - 1
Sheets("Stückliste").Cells(1, i + 1) = rs.Fields(i).Name
Next i
Sheets("Stückliste").Range("A2").CopyFromRecordset rs
rs.Close
con.Close
Set rs = Nothing
Set con = Nothing
Sheets("Stückliste").Columns("A:E").AutoFit
Application.ScreenUpdating = True
MsgBox "Produktliste wurde erfolgreich aus '" & strTable & "' generiert!", vbInformation, "Done"
    为什么要加上括号()语法如下:SELECT CategoryName, ProductName FROM Categories LEFT JOIN Products ON Categories.CategoryID = Products.CategoryID;•这里不应该有AS 某个地方Ansicht-Netze_BW.sep AllComponentTypesCount吗? 
  • 我按照您的描述进行了更改,现在我收到FROM子句的语法错误。而且我不必将路径添加到查询中吗?SQL =“ SELECT 160040 AS'Produkt',Kurzbeschreibung AS'Description'FROM AllComponentTypesCount LEFT JOIN Types _&” ON AllComponentTypesCount.160040 = Types.Type“ 



2023-03-22 10:04:19

新人小程序+APP定制199元起


发放福利,助力中小企业发展,真正在互联网中受益

点击询问定制

广告服务展示