MS-Office-Forum

Zurück   MS-Office-Forum > Microsoft Access & Datenbanken > Microsoft Access
Registrieren Forum Hilfe Alle Foren als gelesen markieren

Banner und Co.

Antworten
Ads
Themen-Optionen Ansicht
Alt 11.07.2018, 15:11   #1
Rafii1
MOF User
MOF User
Standard SQL - SQLListe in String in VBA

Hi,

ich würde gerne über VBA einen SQL Code schreiben, aber komme jetzt nicht weiter, wie ich SQLListen darin integrieren kann.

Wenn ich den Code aus der Abfrage kopiere und dann ganz normal ans Ende jeder Zeile " & _ schreibe komme ich nicht weiter...

So sieht der Code momentan aus:

Code:

sql = "SELECT tblCustomer.CustomerId, tblCustomer.CustomerName, tblCustomer.CustomerZipCode,  " & _
                " tblCustomer.DateOfBirth, tblCustomer.TotalOrderValue, SQLListe("SELECT tblDokumentation.DokBezeichnung FROM tblDokumentation WHERE tblDokumentation.DokID = "3") AS DokListe, tblCustomer.LastOrderTime, " & _
                " tblOrder.OrderId, tblOrder.OrderDate, tblOrder.OrderStatus " & _
                " FROM tblCustomer " & _
                " INNER JOIN tblOrder " & _
                "   ON tblCustomer.CustomerId = tblOrder.CustomerId " & _
Danke für eure Hilfe!
Rafii1 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 11.07.2018, 15:26   #2
markusxy
MOF Meister
MOF Meister
Standard

Du hast auf jeden Fall ein Syntaxfehler.
Du verwendest ein Hochkomma beim Beginn der SQLListe welches aber nicht geschlossen wird.

Ist die DokID wirklich ein Text oder eine Zahl?

Ansonsten Fehlermeldungen?
markusxy ist gerade online  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 11.07.2018, 15:30   #3
Rafii1
Threadstarter Threadstarter
MOF User
MOF User
Standard

Hey!

Ich hatte hier ein Beispiel aus dem Internet genommen, bei meinem richtigen Code wird der ganze Text rot angezeigt. Vielleicht hätte ich den direkt posten sollen:

Code:

sSQL = "SELECT tblRisikoart.Risikoname, tblReports.ReportBezeichnung, tblReports.ZielundZweck, tblReports.Turnus, tblProzesse.Bezeichnung, tblOrganigramm.Bezeichnung, tblReports.Adressaten,    " & _
               " SQLListe("SELECT tblDokumentation.DokBezeichnung FROM tblDokumentation INNER JOIN (tblReports INNER JOIN tblReports_Dokumentation ON tblReports.RepID = tblReports_Dokumentation.RepFK) ON tblDokumentation.DokID = tblReports_Dokumentation.DokFK WHERE tblReports.ReportBezeichnung = '" & tblReports.[ReportBezeichnung] & "'") AS DokListe, " & _
                " SQLListe("SELECT tblProzesse.Bezeichnung FROM tblReports INNER JOIN (tblProzesse INNER JOIN tblReport_VorgelagerteProzesse ON tblProzesse.ProID = tblReport_VorgelagerteProzesse.VProFK) ON tblReports.RepID = tblReport_VorgelagerteProzesse.RepFK WHERE tblReports.ReportBezeichnung = '" & tblReports.[ReportBezeichnung] & "'") AS VorgelagerteProzessListe, " & _
                " SQLListe("SELECT tblProzesse.Bezeichnung FROM tblReports INNER JOIN (tblProzesse INNER JOIN tblReports_NachgelagerteProzesse ON tblProzesse.ProID = tblReports_NachgelagerteProzesse.NProFk) ON tblReports.RepID = tblReports_NachgelagerteProzesse.RepFK WHERE tblReports.ReportBezeichnung = '" & tblReports.[ReportBezeichnung] & "'") AS NachgelagerteProzessListe " & _
        " FROM tblRisikoart INNER JOIN ((tblProzesse INNER JOIN (tblOrganigramm INNER JOIN tblReports ON tblOrganigramm.OrgID = tblReports.PZV) ON tblProzesse.ProID = tblReports.Prozess) INNER JOIN tblRisikoart_Reports ON tblReports.RepID = tblRisikoart_Reports.RepFK) ON tblRisikoart.Risikonummer = tblRisikoart_Reports.RiskFK "
Wie gesagt in der Eingabe in VBA wird direkt alles Rot angezeigt, egal wie ich es drehe und wende... Vielleicht findest du ja hier einen Fehler.
Rafii1 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 11.07.2018, 15:54   #4
markusxy
MOF Meister
MOF Meister
Standard

Na ja, wenn du den String einer Variable zuweist, darfst du innerhalb des Strings kein doppeltes Hochkomma verwenden. Das bedeutet, dass der String endet. Das geht nur innerhalb des Query Tools.
Bei der Zuweisung zu einer Variable einfache Hochkommas verwenden, oder doppelte Hochkommas verdoppeln.

Viel besser allerdings, du machst eines gepeicherte Abfrage.

Abgesehen davon:

Code:

 WHERE tblReports.ReportBezeichnung = '" & tblReports.[ReportBezeichnung] & "'"

Verwende einen Alias in der äußeren Abfrage, damit klar ist welcher Wert gemeint ist. Hier mit Alias r in der "Hauptabfrage"
Code:

 WHERE tblReports.ReportBezeichnung = '" & r.ReportBezeichnung & "'"

Geändert von markusxy (11.07.2018 um 16:14 Uhr). Grund: Korrektur
markusxy ist gerade online  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 11.07.2018, 16:26   #5
Rafii1
Threadstarter Threadstarter
MOF User
MOF User
Standard

Moin!

Das mit den doppelten Hochkommas hat prima geklappt, danke für den Tipp!

Hierzu:

Zitat:

Das kann doch nicht funktionieren.

In der Abfrage funktioniert es genau so wie es das soll. Warum sollte es das nicht tun?

Code:

Verwende einen Alias in der äußeren Abfrage und dann ganz normal zuweisen. Hier mit Alias r in der "Hauptabfrage"
Hier weiß ich nicht was genau du damit meinst, möchtest du mir da nochmal einen Denkanstoß geben?

Grüße
Rafii1 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 11.07.2018, 17:33   #6
Beaker s.a.
MOF Koryphäe
MOF Koryphäe
Standard

Code:

SELECT T.Feld FROM Tabelle As T
Reicht das als Anstoss?

__________________

--
S.M.I.²L.E.
Beaker s.a. ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Ads
Antworten


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Besucher: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge anzufügen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

vB Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist An.
Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:47 Uhr.


Partner und Co.
Access-Paradies -Alles rund um die Datenbank Microsoft Access -Code -Programme-Tools -Tipps   Kostenlose Tipps & Tricks, Downloads und Programme   www.kulpa-online.com - Tipps - Tricks - Tutorials - Meinungen - Downloads uvm...   vb@rchiv · Willkommen in der Welt der VB Programmierung   Access-Garhammer - Hier finden Sie jede Menge Beispiel-Datenbanken zu Access und mehr ...   mcseboard.de   Die Top Seite für Excel-VBA-Makros uvm.

Powered by: vBulletin Version 3.6.2 (Deutsch)
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

Copyright ©2000-2018 MS-Office-Forum. Alle Rechte vorbehalten.
Copyright ©Design: Manuela Kulpa ©Rechte: Günter Kramer
Eine Verwendung der Inhalte in anderen Publikationen, auch auszugsweise,
ist ohne ausdrückliche Zustimmung der Autoren nicht gestattet.