Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Parametrisierte Abfrage

Begonnen von Hondo, Oktober 03, 2016, 18:05:32

⏪ vorheriges - nächstes ⏩

Hondo

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

Josef P.

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

Hondo


ebs17

Inhaltlich könnte man die Frage stellen, warum gleiche Daten in variable Tabellen eingefügt werden sollen.
Mit freundlichem Glück Auf!

Eberhard

Hondo

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

DF6GL

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?