Monika
08-02-05, 12:12
Hallo,
bin angehende Informatikkauffrau und habe kaum Erfahrung mit der AS/400.
Greife aus VBA(EXCEL 2000) auf die DB via ADO zu. Z.Zt. mit folgendem SelectBefehl:
sqlString = "Select AA.aa, BB.bb, BB.gg, CC.cc, DD.dd, (BB.ee + BB.aa - BB.dd) as BAddiert, (BB.ff + BB.gg) as BBAddiert
from {oj Datenbank.Library1.AA AA inner join Library1.BB BB on AA.ww = BB.xx
left outer join Library2.CC CC on BB.xx = CC.yy
left outer join Library2.DD DD on AA.ww = DD.zz}
where ((BB.bb = '320001') and ((BB.gg = 'AD') or (BB.gg= 'EG') or (BB.gg = 'LH') or (BB.gg = 'EB) or (BB.gg = 'KU')))"
Das Ergebnis ist eine Excel-Tabelle, deren relevanter Tabellenbereich ich benenne (Bsp: "Markierung") und als Datenbank in der Systemsteuerung angebe.
Anschließend greife ich mit folgendem Select auf das Ergebnis zu (z.Zt. DAO):
Abfrage.Sql = "Select aa, bb, cc, dd, Count(gg) as Anzahl, SUM(BAddiert) as SumBAddiert, SUM(BBAddiert) as SumBBAddiert from Markierung group by aa,
bb, cc, dd;"
Beides funktioniert; Nun meine Frage: ich möchte gerne beide Abfragen verbinden, entweder als Subselect oder indem ich die 1.Abfrage als View erstelle, auf den ich mit der 2.Abfrage zugreifen kann.
1.Problem: Kenne die Syntax zur View-Erstellung auf der AS/400 nicht (Ist mir schon aufgefallen, daß hier alles etwas anders ist.....)
2.Problem: Der Versuch einer Abfrage auf eine Abfrage funktioniert nicht; auch mit * nicht:
sqlString = "Select * from (Select AA.aa, BB.bb, BB.gg, CC.cc, DD.dd, (BB.ee + BB.aa - BB.dd) as BAddiert, (BB.ff + BB.gg) as BBAddiert from {oj Datenbank.Library1.AA AA inner join Library1.BB BB on AA.ww = BB.xx left outer join Library2.CC CC on BB.xx = CC.yy left outer join Library2.DD DD on AA.ww = DD.zz}
where ((BB.bb = '320001') and ((BB.gg = 'AD') or (BB.gg= 'EG') or (BB.gg = 'LH') or (BB.gg = 'EB) or (BB.gg = 'KU')))"
Könnte mir jemand ein Beispiel geben? Wäre echt froh!!
Danke Moni
bin angehende Informatikkauffrau und habe kaum Erfahrung mit der AS/400.
Greife aus VBA(EXCEL 2000) auf die DB via ADO zu. Z.Zt. mit folgendem SelectBefehl:
sqlString = "Select AA.aa, BB.bb, BB.gg, CC.cc, DD.dd, (BB.ee + BB.aa - BB.dd) as BAddiert, (BB.ff + BB.gg) as BBAddiert
from {oj Datenbank.Library1.AA AA inner join Library1.BB BB on AA.ww = BB.xx
left outer join Library2.CC CC on BB.xx = CC.yy
left outer join Library2.DD DD on AA.ww = DD.zz}
where ((BB.bb = '320001') and ((BB.gg = 'AD') or (BB.gg= 'EG') or (BB.gg = 'LH') or (BB.gg = 'EB) or (BB.gg = 'KU')))"
Das Ergebnis ist eine Excel-Tabelle, deren relevanter Tabellenbereich ich benenne (Bsp: "Markierung") und als Datenbank in der Systemsteuerung angebe.
Anschließend greife ich mit folgendem Select auf das Ergebnis zu (z.Zt. DAO):
Abfrage.Sql = "Select aa, bb, cc, dd, Count(gg) as Anzahl, SUM(BAddiert) as SumBAddiert, SUM(BBAddiert) as SumBBAddiert from Markierung group by aa,
bb, cc, dd;"
Beides funktioniert; Nun meine Frage: ich möchte gerne beide Abfragen verbinden, entweder als Subselect oder indem ich die 1.Abfrage als View erstelle, auf den ich mit der 2.Abfrage zugreifen kann.
1.Problem: Kenne die Syntax zur View-Erstellung auf der AS/400 nicht (Ist mir schon aufgefallen, daß hier alles etwas anders ist.....)
2.Problem: Der Versuch einer Abfrage auf eine Abfrage funktioniert nicht; auch mit * nicht:
sqlString = "Select * from (Select AA.aa, BB.bb, BB.gg, CC.cc, DD.dd, (BB.ee + BB.aa - BB.dd) as BAddiert, (BB.ff + BB.gg) as BBAddiert from {oj Datenbank.Library1.AA AA inner join Library1.BB BB on AA.ww = BB.xx left outer join Library2.CC CC on BB.xx = CC.yy left outer join Library2.DD DD on AA.ww = DD.zz}
where ((BB.bb = '320001') and ((BB.gg = 'AD') or (BB.gg= 'EG') or (BB.gg = 'LH') or (BB.gg = 'EB) or (BB.gg = 'KU')))"
Könnte mir jemand ein Beispiel geben? Wäre echt froh!!
Danke Moni