forTeesSake Geschrieben 24. Mai 2004 Teilen Geschrieben 24. Mai 2004 hi und hallo, ich stoss mal wieder an meine db-grenzen. ich habe eine tabelle mit folgenden feldern id bezeichnung preis1 preis2 preis3 preis4 ... preisX können unendlich viele sein. nun muss ich rausfinden wieviele preisX felder es in dieser tabelle gibt. hast jemandne ahnung wie ich das mache??? vielen dank Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Nachtgeist Geschrieben 24. Mai 2004 Teilen Geschrieben 24. Mai 2004 Du solltest dein DB-Design neu ueberdenken. Warum willst du die Preise in einer Spalte speichern? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
robotto7831a Geschrieben 25. Mai 2004 Teilen Geschrieben 25. Mai 2004 Womit bzw. wo willst Du die Anzahl der Spalten herausfinden? In MySQL selber, in PHP, ....? Du solltest den Hinweis von Nachtgeist mal aufnehmen. Dann hättest Du das Problem nicht. Frank Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Nachtgeist Geschrieben 25. Mai 2004 Teilen Geschrieben 25. Mai 2004 Warum willst du die Preise in einer Spalte speichern? Ich meinte natuerlich Reihe/Zeile Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
robotto7831a Geschrieben 25. Mai 2004 Teilen Geschrieben 25. Mai 2004 Also pro Reihe ein Datensatz. select count(*) from tabelle where preisX= xx Frank Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
forTeesSake Geschrieben 25. Mai 2004 Autor Teilen Geschrieben 25. Mai 2004 wow, so viele antworten auf einmal. da muss ich nochmal ran: ich habe eine vba-word anwendung, ein rechnungsprogramm. in meiner datenbank habe ich alle posten hinterlegt wie z.b. "beratung" kosten pro stunde 60 € (preisliste 1) 50 € preisliste 2 40 € etc. oder "bildbearbeitung" kosten pro stunde 60 € (preisliste 1) 50 € preisliste 2 40 € etc. sieht in der tabelle dann so aus: postenID Preis1 Preis2 Preis3 Preis4 111 beratung 50 40 30 20 221 bildbearbeitung 50 40 30 20 . . . so, wenn nun ne neue preisliste dazukommt, also zum beispiel Preis5 "ultraUltrabillich" dann möchte ich das gerne über meine vba-anwendung auslesen können. also: mein chef trägt in der tabelle in eine neue spalte "Preis5" alle preise für alle posten ein. mehr kann er und will er nicht machen. nun soll ich in meinem vba-prog checken wieviele preislisten, also spalten die mit "preisX" benannt sind existieren. wichtig ist das, da ich in einem dropdownfeld eine auswahl aller preislisten anbiete um meinem chef die möglichkeit zu geben von kunde zu kunde zu variieren. verständlich? bitte korrigiert mein tabellendesign wenns falschist, aber ich kann daran nix finden.. vielen dank Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
robotto7831a Geschrieben 25. Mai 2004 Teilen Geschrieben 25. Mai 2004 Wie greifst Du denn auf MySQL zu? ODBC? Frank Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kingofbrain Geschrieben 25. Mai 2004 Teilen Geschrieben 25. Mai 2004 Das Tabellendesign ist auf jeden Fall falsch. Wenn also ein neuer Preis dazukommt, dann willst Du eine Spalte anfügen? Schlecht! Die Preise stehen nämlich in einer 1:n-Beziehung. Ein Preis gehört zu einem Artikel, ein Artikel kann mehrere Preise haben. Also gibt es eine Preisetabelle, in der die Preise mit einem Verweis auf den Artikel liegen (PK von Artikel wird FK in Preise). Zusätzlich hat der Preis noch einen Namen oder was auch immer. So wie Du das jetzt hast, wird das nichts. Und dann ist auch das herausfinden, wie viele Preise es pro Artikel gibt, einfach. Einfach einen count über die Preise mit der Artikelnummer, fertig. Peter Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
forTeesSake Geschrieben 25. Mai 2004 Autor Teilen Geschrieben 25. Mai 2004 ja, es ist odbc. und ok, es leuchtet mir jetzt ein dass das design nicht gut ist, trotzdem würde ich gerne wissen wies geht. in php geht das ja auch... das design rührt übrigens daher, dass es vorher eine excel-tabelle gab in der das halt die übersichtliche lösung ist. zum pflegen ist es auch einfacher für den chef, da er einfach alles (preise und posten) zusammen auf dem bildschirm hat... (aber nichts desto trotz isses nicht gut, das sehe ich ein) Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
robotto7831a Geschrieben 25. Mai 2004 Teilen Geschrieben 25. Mai 2004 Schau doch mal hier. Laut der Liste gibt es den Befel SQLColumns. Frank Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
forTeesSake Geschrieben 25. Mai 2004 Autor Teilen Geschrieben 25. Mai 2004 great! das sieht gut aus. denke das klappt dann so Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
forTeesSake Geschrieben 25. Mai 2004 Autor Teilen Geschrieben 25. Mai 2004 nö, ich glaub ich bin zu blöd dafür, das klappt dann doch nicht. ich kann hier mal php-code posten mit dem es geht. kanns vielleicht jemand nach vb/vba/asp übersetzen oder weiss jemand wo es steht?? $result = mysql_query ("SELECT * FROM `table` WHERE 1"); if($result && ($field_amount = mysql_field_len ($result)) > 0) { for($i = 0; $i < $field_amount; $i ++) { $field = mysql_fetch_field ($i); if(strtolower (substr ($field->name, 5)) == "preis") { // do any stuff here } } } Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Jaraz Geschrieben 25. Mai 2004 Teilen Geschrieben 25. Mai 2004 nö, ich glaub ich bin zu blöd dafür, das klappt dann doch nicht. ich kann hier mal php-code posten mit dem es geht. kanns vielleicht jemand nach vb/vba/asp übersetzen oder weiss jemand wo es steht?? $result = mysql_query ("SELECT * FROM `table` WHERE 1"); if($result && ($field_amount = mysql_field_len ($result)) > 0) { for($i = 0; $i < $field_amount; $i ++) { $field = mysql_fetch_field ($i); if(strtolower (substr ($field->name, 5)) == "preis") { // do any stuff here } } } Sorry, aber wenn ich sowas lese ziehen sich mir echt die Zehnägel hoch. :eek: Wenn du nun schon erkannt hast, das du/dein Chef etwas nicht optimal gelöst habt, warum änderst du es dann nicht? Entweder Excel oder Datenbankanwendung aber bitte keine ExcelDatenbank. Erkläre deinem Chef sachlich, das du erkannt hast, dass die momentane Lösung schlecht ist und das du das gerne ändern möchtest. Wenn er dann immer noch sagt ne, ich will das so, dann kündige Ne Scherz beiseite, dann musst du es halt so machen, Aber alleine schon als Lerneffekt würde ich erst versuchen es richtig zu machen. Gruß Jaraz Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Nachtgeist Geschrieben 26. Mai 2004 Teilen Geschrieben 26. Mai 2004 Ne Scherz beiseite, dann musst du es halt so machen, Aber alleine schon als Lerneffekt würde ich erst versuchen es richtig zu machen. Ich wuerde es richtig machen, damit ich nachher nicht in Schwierigkeiten komme und mir Arbeit/Stress erspare. Die gewuenschte Tabellenstruktur bekommt man mit den Selects dann (meistens) entsprechend hin. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
mme Geschrieben 28. Mai 2004 Teilen Geschrieben 28. Mai 2004 Ich denke du wirst dein Problem irgendwie jetzt hinbekommen, aber wehe dein Chef kommt morgen mit noch einer kleinen Änderung. Dann bekommst du es mit einmal nicht mehr hin und dann schmeißt du dann alles weg und fängst von vorne an? Fang lieber gleich von vorne an..... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.