Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » Allgemeines (OffTopic) » Access Unterabfragen mit Sql

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
08.12.2003, 10:26 Uhr
Puschel
Dr. med. Dipl. Prof. Virus


Sorry. Ich weiß das das eigentlich nicht das richtige Forum hierfür ist aber da mir keiner in den Access Froen helfen will(hat zumindestens den Anschein).
Dachte ich mir ich frag euch mal. Kann mir jemand mal eine Beschreibung machen mit oder ohne Quelltext wie man unterabfragen im Abfragenmodus bei Access erstellt. Also zwei SQL Befehle in einer Abfrage
Z.B: 1.Anweisung: Select......
2.Anweisung: Delete......
Und das in einer Abfrage
--
Wenn man nichts tut, glaubt man, daß man für alles die Verantwortung trägt.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
08.12.2003, 10:55 Uhr
mike
Pinguinhüpfer
(Operator)


Hi!
Also normalerweise werden Unterabfragen eingeklammert DELETE ... (SELECT XY)
Aber du kannst bei DELETE, wenn es dein Anwedungsfall erlaubt, auch angeben, was genau gelöscht werden soll.
z.B.: DELETE FROM tbltest WHERE kunde ~* 'mustermann';

mfg
--

Dieser Post wurde am 08.12.2003 um 10:55 Uhr von mike editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
08.12.2003, 11:34 Uhr
Puschel
Dr. med. Dipl. Prof. Virus


Also ich habe drei Tabellen.

1. Tabelle: Bezeichnung: Auto
AutoNr->Primary Key
Kennzeichen
TypNr->Fremdschlüssel
FarbNr->Fremdschlüssel
Tagespreis
Anzahl Türen
2.Tabelle: Bezeichnung: Typ
TypNr->Primary Key
Typ
3.Tabelle: Bezeichnung: Farbe
FarbNr->Primary Key
Farbe

Aufgabe:
Löschen aller Datensätze aus Tabelle Auto welche einen Tagespreis
unter 20 haben, orange sind und vom Typ Mittelklassewagen

Außerdem:
Löschen des Attributes Anzahl Türen, löschen der Farbe

Das muss ich realisieren und dazu brauch ich ein paar Hilfen wäre nett wenn du mir das mit Quelltext geben könntest
--
Wenn man nichts tut, glaubt man, daß man für alles die Verantwortung trägt.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
08.12.2003, 14:47 Uhr
mike
Pinguinhüpfer
(Operator)


Hi!
Bin mir jetzt net ganz so sicher, aber probier mal
DELETE from auto WHERE tagespreis < 20 AND typnr = (SELECT typnr FROM tbltyp WHERE typ = 'Mittelklassewagen') AND farbnr = (SELECT farbnr FROM tblfrabe WHERE farbe = 'orange');
Sonst kannst du nur mehr joins verwenden - keine AHnung ob das MS Access kann

mfg
--
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
08.12.2003, 14:59 Uhr
~virtual-wo-cooky-at-work
Gast



Code:
typnr in (select ...)


bzw.

Code:
farbnr in (select ...)

 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
08.12.2003, 16:20 Uhr
~Puschel
Gast


Ich habe das jetzt so probiert also es funzt auch. Nun habe ich aber noch folgendes Problem. er fragt mich jetzt immer nach der TypNr und der FarbNr.

Also ich weiß das ich die Tabellen noch verknüpfen muss, das habe ich auch schon erledigt. und auserdem muss ich diese noch aufrufen damit ermich das nicht mehr fragt. Bloss wie??
Vielleich so: DELETE * FROM tbl_auto (SELECT tbl_Typ.Typ,tbl_Farbe.Farbe FROM tblTyp,tbl_Farbe)???????????????????????????
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
08.12.2003, 18:48 Uhr
mike
Pinguinhüpfer
(Operator)


Hi!
Ich habs gerade ausprobiert. Bei mir hats funktioniert. Er hat mich nur nach Werten gefragt, wenn ich im SQL Statement was falsch geschrieben hab.
Bsp.:
SQL Statment -> WHERE TypNr = ....
tbltyp -> typnr

Also auf Groß- und Kleinschreibung und vorallem auf die Syntax achten. Dann müsste es eigentlich gehen.

mfg
--
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
09.12.2003, 08:16 Uhr
~Puschel
Gast


Sag mal hast du das genauso eingegeben wie dun es oben geschrieben hast???

Wenn ja dann funzt es bei mir nicht. Also er fragt mich immer nach tbl_Typ.TypNr und nach tbl_Farbe.FarbNr.

Also keine Ahnung, hast du noch was anderes gemacht. also so sieht mein Quelltext aus:


Code:
DELETE from tbl_auto WHERE tbl_auto.Tagespreis < 20 AND tbl_Typ.TypNr = (SELECT tbl_Typ.TypNr FROM tbl_Typ WHERE tbl_Typ.Typ = 'Mittelklassewagen') AND tbl_Farbe.FarbNr = (SELECT tbl_Farbe.FarbNr FROM tbl_Farbe WHERE tbl_Farbe.Farbe = 'orange');


 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
09.12.2003, 09:37 Uhr
mike
Pinguinhüpfer
(Operator)


Hi!
Also ich habs so gemacht:
http://schueler.bulme.at/~vodep_mi/db1.mdb
Hab nur statt dem DELETE ein SELECT eingefügt - sonst is es ja weg

mfg
--
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ Allgemeines (OffTopic) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: