Zum Inhalt springen

mysql felder zählen


forTeesSake

Empfohlene Beiträge

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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)

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

}

}

}

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.....

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...