Supportnet / Forum / Anwendungen(Java,C++...)
HTML-Tabelle mit VB dynamisch füllen
Frage
Hallo, ich habe folgendes Problem.
Ich möchte mit VB eine HTML-Tabelle erzeugen, die durch SQL mit Datenbankinhalten gefüllt wird.
Als Überschrift will ich Jahreszahlen angegeben. Unter jeder Jahreszahl soll dann das Ergebnis der SQL-Abfrage.
Allerdings platziert er mir die Ergebnisse der Reihe nach, d. h. sollte. D. h. sollte es zu einem bestimmten Jahr keine Stückzahl zu einem Artikel geben (was möglich ist) füllt er die Spalte der HTML-Tabelle mit dem nächsten Wert.
Z. B.
Jahr 1990 1991 1992 1993 1994
Stück 1 2 3 4 5
Gibt es allerdings in 1990 keinen Artikel, dann würde die Tablle wie folgt aussehen.
Jahr 1990 1991 1992 1993 1994
Stück 2 3 4 5
Frage: Wie mache ich es also, daß er mir bei den Jahren, in denen die SQL-Abfrage nichts zurückgibt, eine 0 in die Spalte setzt???
Ich hoffe es war einigermaßen verständlich.
Für Eure Hilfe im voraus besten Dank.
Bye,
Bernie.
Antwort 1 von Bernie123
Rauf damit
Antwort 2 von semi
Wie sehen die Tabellen aus?
Wie fragst Du es ab?
Wie fragst Du es ab?
Antwort 3 von semi
War wohl doch nicht so dringend.
Antwort 4 von bernie123
@semi:
Leider war gestern mein Internet-Anschluss dauernd besetzt.
Habe aber mittlerweile die Lösung gefunden. Über Select Count(*) ermittel ich die Anzahl für das jewilige Jahr. Ich bekomme folglich nun auch für 1998 ein Ergebnis.
Über 2 For-Next-Schleifen baue ich dann die HTML-Tabelle auf. In der ersten mache ich díe Jahresüberschriften In der 2. platziere ich die jeweilige Anzahl unter den Jahreszahlen.
Trotzdem vielen Dank für die schnelle Antwort.
Bye!
Leider war gestern mein Internet-Anschluss dauernd besetzt.
Habe aber mittlerweile die Lösung gefunden. Über Select Count(*) ermittel ich die Anzahl für das jewilige Jahr. Ich bekomme folglich nun auch für 1998 ein Ergebnis.
Über 2 For-Next-Schleifen baue ich dann die HTML-Tabelle auf. In der ersten mache ich díe Jahresüberschriften In der 2. platziere ich die jeweilige Anzahl unter den Jahreszahlen.
Trotzdem vielen Dank für die schnelle Antwort.
Bye!
Antwort 5 von semi
Du kannst es auch direkt abfragen.
Angenommen die Tabellen sehen so aus:
Gruß,
Michael
Angenommen die Tabellen sehen so aus:
Artikel
artikel_nr
bezeichnung
Bestellpos
datum (datetime)
artikel_nr
menge
dann kannst Du mit left join alle Artikel sortiert nach Jahr mit der dazugehörigen Menge ausgeben lassen.
select a.artikel_nr, year(b.datum), sum(b.menge)
from artikel a
left join bestellpos b
on (b.artikel_nr=a.artikel_nr)
group by year(b.datum), a.artikel_nr
// bzw. group by a.artikel_nr, year(b.datum) Gruß,
Michael
Antwort 6 von bernie123
Hallo Michael,
vielen Dank auch für diesen Tip. Ich werde ihn auf jeden Fall mal ausprobieren.
Happy Halloween!
Bye,
Bernie
vielen Dank auch für diesen Tip. Ich werde ihn auf jeden Fall mal ausprobieren.
Happy Halloween!
Bye,
Bernie

