Forums Neueste Beiträge
 

SQL-Statement

23/11/2008 - 00:24 von Dieter Schirmer | Report spam
Hallo NG,

ich habe da ein kleines Problem, welches ich nicht lösen kann und hoffe da
auf eure Hilfe.

In einer Access-DB werden per SQL-Statement Daten in einem Grid angezeigt.
Das Statement sieht etwa aus wie folgt.

sSQL = "SELECT TableExt.ID, TableExt.Name, TableExt.Datum, TableExt.Nummer "
& _
"WHERE TableExt.Nummer=1"

Dabei werden alle Daten gezeigt dessen Feldinhalt der Externen Tabelle
(eingebunden und kann nicht geàndert werden) im Feld "Nummer" eine 1 zeigt.

Jetzt wird durch eine Programmfunktion eine interne Tabelle (TableInt) mit
dem Feld (View=Boolean) hinzugefügt, welches auf True gesetzt wird.
Damit möchte ich erreichen, das genau dieser Datensatz nicht mehr angezeigt
wird. Also, alle Datensàtze, die mit dem verknüpften Feld "View" ein True
enthalten,
sollen nicht mehr angezeigt werden.

sSQL = "SELECT TableExt.ID, TableExt.Name, TableExt.Datum, TableExt.Nummer,
TableInt.View " & _
"FROM TableInt RIGHT JOIN CONTACTS ON TableInt.SubID=TableExt.ID " &
_
"WHERE TableExt.Nummer=1 And TableInt.View=True"

Und hier liegt das Problem, ich weiss nicht wie ich das SQL-Statement
umbauen muss, damit nur der Datensatz ausgeblendet wird, der im
neuen Feld "View" ein True erhàlt.

Oder geht es so garnicht?

Danke für eure Hilfe

Gruß
Dieter
 

Lesen sie die antworten

#1 Peter Doering
23/11/2008 - 00:37 | Warnen spam
Hallo,

Dieter Schirmer wrote:

In einer Access-DB werden per SQL-Statement Daten in einem Grid angezeigt.
Das Statement sieht etwa aus wie folgt.

sSQL = "SELECT TableExt.ID, TableExt.Name, TableExt.Datum, TableExt.Nummer "
& _
"WHERE TableExt.Nummer=1"

Dabei werden alle Daten gezeigt dessen Feldinhalt der Externen Tabelle
(eingebunden und kann nicht geàndert werden) im Feld "Nummer" eine 1 zeigt.

Jetzt wird durch eine Programmfunktion eine interne Tabelle (TableInt) mit
dem Feld (View=Boolean) hinzugefügt, welches auf True gesetzt wird.
Damit möchte ich erreichen, das genau dieser Datensatz nicht mehr angezeigt
wird. Also, alle Datensàtze, die mit dem verknüpften Feld "View" ein True
enthalten,
sollen nicht mehr angezeigt werden.

sSQL = "SELECT TableExt.ID, TableExt.Name, TableExt.Datum, TableExt.Nummer,
TableInt.View " & _
"FROM TableInt RIGHT JOIN CONTACTS ON TableInt.SubID=TableExt.ID " &
_
"WHERE TableExt.Nummer=1 And TableInt.View=True"

Und hier liegt das Problem, ich weiss nicht wie ich das SQL-Statement
umbauen muss, damit nur der Datensatz ausgeblendet wird, der im
neuen Feld "View" ein True erhàlt.



Am besten du postest das echte Statement. In deinem Pseudostatement sind so
viele Fehler, dass es schwer ist, den Ansatz zu finden. Nach
Kristallkugelmodus koennte es folgendes sein:

SELECT
TE.ID, TE.Name, TE.Datum, TE.Nummer, TI.View
FROM
TableExt AS TE LEFT JOIN TableInt AS TI
ON TE.ID = TI.SubID
WHERE
TE.Nummer = 1
AND
( TI.View=True OR TI.SubID Is Null )

Gruss - Peter

Mitglied im http://www.dbdev.org
FAQ: http://www.donkarl.com

Ähnliche fragen