Hallo,
ich möchte in meiner Abfrage den Tabellennamen als Parameter verwenden, bekomme aber Fehler dass der Tabellennamen fehlt:
strSQL = "PARAMETERS prmTable Text (255), prmSpacer Text (255);" & _
"INSERT INTO [prmTable] ( NodeKey, NodeCaption, IsGroup, ChildrenCount, IconID00 ) " & _
"SELECT C.CustomerID, [prmSpacer] & chr(32) & C.CompanyName AS Expr2, IIf(Count(O.OrderID)>0, True, False) AS Expr3, Count(O.OrderID) AS Expr4, 328 As Expr5 " & _
"FROM tblCustomers AS C LEFT JOIN tblOrders AS O ON C.CustomerID = O.CustomerID " & _
"GROUP BY C.CustomerID, C.CompanyName " & _
"ORDER BY Count(O.OrderID)"
Set qd = db.CreateQueryDef("", strSQL)
qd.Parameters!prmTable = "Tabellennamen"
qd.Parameters!prmSpacer = Space$(3)
qd.Execute dbFailOnError
qd.Close
Ist es generell so dass man den Tabellennamen nicht Parametrisieren kann?
Gruß Andreas
Hallo!
Tabellen- oder Feldnamen sind keine Werte, daher kannst du diese nicht über einen Parameter in einer Abfrage dynamisch einbinden.
Wenn du das benötigst, musst du die SQL-Anweisung dynamisch zusammenstellen.
mfg
Josef
Danke Josef
Inhaltlich könnte man die Frage stellen, warum gleiche Daten in variable Tabellen eingefügt werden sollen.
Hallo,
ja könnte man. ;-)
Es geht um ein natives TreeView in Access (siehe AEK 2016).
Da werden die Daten in eine Tabelle fester Struktur geschrieben an das das "Treeview" gebunden wird.
Man könnte aber auch mehrere TreeViews auf einem Form haben, also muss der Tabellennamen als Parameter beim Initialisieren des TreeViews übergeben werden.
Eine Alternative wäre die Tabelle anhand des "Controlnamens" (hier der Namen des UnterformularObjektes) da dieser ja eindeutig ist, zu erstellen und zu verwenden.
Gruß Andreas
Hallo,
und warum verwendest Du nicht nur eine Tabelle, bei der der Treeviewname in einer Spalte geführt wird und somit für ein Kriterium (--> Parameter) zur Verfügung steht?