Ik heb een vrij lange SQL instructie, deze is nu zo lang dat ik ze van VB niet meer op 1 lijn code mag zetten. Dit is de gewenste lijn code:
[CODE=vb]
adoPrimaryRS.Open "SHAPE { SELECT Orders.OrderID, FactuurNummer.FactuurNummer, Orders.OrderDate, Customers.CustomerID, Customers.CompanyName, Customers.CompanyBTW, Customers.ContactFirstName, Customers.ContactLastName, Customers.Address, Customers.City, Customers.PostalCode, Customers.Country FROM Customers INNER JOIN (Orders INNER JOIN FactuurNummer ON Orders.OrderID = FactuurNummer.OrderID) ON Customers.CustomerID = Orders.CustomerID ORDER BY Orders.OrderID;} AS ParentCMD APPEND ({ SELECT Orders.OrderID, Products.ProductName AS Productnaam, Products.UnitPriceSell AS Stukprijs, [Order Details].Quantity AS Aantal, [Totaal Incl]-[Totaal Excl] AS BTW, Products!UnitPriceSell*[Order Details]!Quantity AS [Totaal Excl], [Totaal Excl]*1.21 AS [Totaal Incl], Brands!BrandName & Chr(32) & Products!ProductName AS Omschrijving FROM Brands INNER JOIN (Products INNER JOIN (Orders INNER JOIN [Order Details] ON Orders.OrderID = [Order Details].OrderID) ON Products.ProductID = [Order Details].ProductID) ON Brands.BrandID = Products.BrandID; } AS ChildCMD RELATE OrderID TO OrderID) AS ChildCMD", db, adOpenStatic, adLockOptimistic
[/CODE=vb]
Dan dacht ik er dit van te maken:
[CODE=vb]
Dim SQLString As String
Dim SQLString1 As String
Dim SQLString2 As String
SQLString1 = "SHAPE { SELECT Orders.OrderID, FactuurNummer.FactuurNummer, Orders.OrderDate, Customers.CustomerID, Customers.CompanyName, Customers.CompanyBTW, Customers.ContactFirstName, Customers.ContactLastName, Customers.Address, Customers.City, Customers.PostalCode, Customers.Country FROM Customers INNER JOIN (Orders INNER JOIN FactuurNummer ON Orders.OrderID = FactuurNummer.OrderID) ON Customers.CustomerID = Orders.CustomerID ORDER BY Orders.OrderID;}"
SQLString2 = " AS ParentCMD APPEND ({ SELECT Orders.OrderID, Products.ProductName AS Productnaam, Products.UnitPriceSell AS Stukprijs, [Order Details].Quantity AS Aantal, [Totaal Incl]-[Totaal Excl] AS BTW, Products!UnitPriceSell*[Order Details]!Quantity AS [Totaal Excl], [Totaal Excl]*1.21 AS [Totaal Incl], Brands!BrandName & Chr(32) & Products!ProductName AS Omschrijving FROM Brands INNER JOIN (Products INNER JOIN (Orders INNER JOIN [Order Details] ON Orders.OrderID = [Order Details].OrderID) ON Products.ProductID = [Order Details].ProductID) ON Brands.BrandID = Products.BrandID;} AS ChildCMD RELATE OrderID TO OrderID) AS ChildCMD, db, adOpenStatic, adLockOptimistic"
SQLString = SQLString1 + SQLString2
adoPrimaryRS.Open SQLString
[/CODE=vb]
Maar om de 1 of andere reden werkt dit niet.
Ik krijg van VB een runtime error ( 3709 ):
"De verbinding is ongeldig of gesloten."
[CODE=vb]
adoPrimaryRS.Open "SHAPE { SELECT Orders.OrderID, FactuurNummer.FactuurNummer, Orders.OrderDate, Customers.CustomerID, Customers.CompanyName, Customers.CompanyBTW, Customers.ContactFirstName, Customers.ContactLastName, Customers.Address, Customers.City, Customers.PostalCode, Customers.Country FROM Customers INNER JOIN (Orders INNER JOIN FactuurNummer ON Orders.OrderID = FactuurNummer.OrderID) ON Customers.CustomerID = Orders.CustomerID ORDER BY Orders.OrderID;} AS ParentCMD APPEND ({ SELECT Orders.OrderID, Products.ProductName AS Productnaam, Products.UnitPriceSell AS Stukprijs, [Order Details].Quantity AS Aantal, [Totaal Incl]-[Totaal Excl] AS BTW, Products!UnitPriceSell*[Order Details]!Quantity AS [Totaal Excl], [Totaal Excl]*1.21 AS [Totaal Incl], Brands!BrandName & Chr(32) & Products!ProductName AS Omschrijving FROM Brands INNER JOIN (Products INNER JOIN (Orders INNER JOIN [Order Details] ON Orders.OrderID = [Order Details].OrderID) ON Products.ProductID = [Order Details].ProductID) ON Brands.BrandID = Products.BrandID; } AS ChildCMD RELATE OrderID TO OrderID) AS ChildCMD", db, adOpenStatic, adLockOptimistic
[/CODE=vb]
Dan dacht ik er dit van te maken:
[CODE=vb]
Dim SQLString As String
Dim SQLString1 As String
Dim SQLString2 As String
SQLString1 = "SHAPE { SELECT Orders.OrderID, FactuurNummer.FactuurNummer, Orders.OrderDate, Customers.CustomerID, Customers.CompanyName, Customers.CompanyBTW, Customers.ContactFirstName, Customers.ContactLastName, Customers.Address, Customers.City, Customers.PostalCode, Customers.Country FROM Customers INNER JOIN (Orders INNER JOIN FactuurNummer ON Orders.OrderID = FactuurNummer.OrderID) ON Customers.CustomerID = Orders.CustomerID ORDER BY Orders.OrderID;}"
SQLString2 = " AS ParentCMD APPEND ({ SELECT Orders.OrderID, Products.ProductName AS Productnaam, Products.UnitPriceSell AS Stukprijs, [Order Details].Quantity AS Aantal, [Totaal Incl]-[Totaal Excl] AS BTW, Products!UnitPriceSell*[Order Details]!Quantity AS [Totaal Excl], [Totaal Excl]*1.21 AS [Totaal Incl], Brands!BrandName & Chr(32) & Products!ProductName AS Omschrijving FROM Brands INNER JOIN (Products INNER JOIN (Orders INNER JOIN [Order Details] ON Orders.OrderID = [Order Details].OrderID) ON Products.ProductID = [Order Details].ProductID) ON Brands.BrandID = Products.BrandID;} AS ChildCMD RELATE OrderID TO OrderID) AS ChildCMD, db, adOpenStatic, adLockOptimistic"
SQLString = SQLString1 + SQLString2
adoPrimaryRS.Open SQLString
[/CODE=vb]
Maar om de 1 of andere reden werkt dit niet.
Ik krijg van VB een runtime error ( 3709 ):
"De verbinding is ongeldig of gesloten."