[VB6] Fragenkatalog erstellen

Hallo,

ich sitzer hier vor einem kleinen Problem und verhau mich andauernd.

Ich soll einen kleinen Fragenkatalog erstellen, bei dem man die Fragen nacheinander in Abhaengigkeit von der zuvor gegebenen Antwort gestellt bekommt.

Hier mal ein Bespiel mit Essen:

Fruehstueck
 Kaffe
 ein Stueck Zucker
 mit Milch
 ohne Milch
 zwei Stueck Zucker
 mit Milch
 ohne Milch
 drei Stueck Zucker
 mit Milch
 ohne Milch
 Milch
 mit Kakao
 ohne Kakao
 Tee
 Schwarztee
 Kandis
 ein Stueck
 ...
 Zucker
 ein Stueck
 ...
 Gruener Tee
 Kandis
 ein Stueck
 ...
 Zucker
 ein Stueck
 ...
 Kuemmeltee
 Kandis
 ein Stueck
 ...
 Zucker
 ein Stueck
 ...
Mittagessen
 Bier
 Alt
 0,3
 0,5
 Pils
 0,3
 0,5
 Cola
 Pepsi
 Light
 normal
 Coca Cola
 light
 normal
 Wasser
 Wein
Abendbrot
 ...

Ich hoffe, es ist jetzt jedem klar geworden, was ich moechte.

Ich dachte an eine Datenbank mit Eintraegen, die jeweils einen ParentNode und einen ChildNode sowie eine ID erhalten.

Schon bei der manuellen Erstellung der Datenbank komme ich logischerweise durcheinander.

Aber auch beim Programmieren setzt bei mir immer an einer Stelle alles aus.

Gibt es eventuell eine kleines Hilfeprojekt, welches sich schon mal genau mit diesem Thema beschaeftigt hat und im Internet einsehbar ist?

Danke und Ciao! Bjoern

Hi!
Würd ich auch mit ner Datenbank machen.
Felder : id name unterelement_von

oberste ebene ist 0

also
1 kaffee 0
2 zucker 1
3 milch 1
4 dosenmilch 3
5 vollmilch 3

dim aktuell as integer
aktuell = 0
datensätze_vorhanden=true
while datensätze_vorhanden = true

dann abfrage starten „SELECT * from tbl_ordnung WHERE unterelement von =“ & aktuell

if rs.recordcount = 0 then datensätze_vorhanden=false

frage stellen und id der gegebenen antwort als neuen wert für aktuell nehmen.

wend

Das war nur schematisch.Aber eine Richtung.
Gruß.Timo Engel

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo.

Ich soll einen kleinen Fragenkatalog erstellen, bei dem man

Solange der Fragenkatalog klein, z.B. unter mehreren tausend Datensätzen, bleibt, brauchst Du nicht unbedingt eine Datenbank.

Ich dachte an eine Datenbank mit Eintraegen, die jeweils einen
ParentNode und einen ChildNode sowie eine ID erhalten.

Möglichkeit 1 : Binäre Entscheidungstabelle (Long Integer- Wert nimmt alles auf, was geritten und gefahren kommt). Ich nehme mal etwas weniger Ausgangsdaten als Du, aber das Prinzip wird Dir sicherlich klar.

Heißgetränk : Kaffee=1, Tee=2, Milch=4
dazu gibt’s : Milch=8, Zitrone=16, Ketchup=32
Brötchen=64, Toast=128, Rührei=256, Spiegelei=512

Capisce? Ich hätte gern die 321, und schon weißt Du, dass Du mir einen Kaffee, ein Brötchen und ein Rührei servieren darfst … wer dagegen gern einen Tee mit Ketchup zum Spiegelei auf Toast möchte, wird Dir einfach die 674 an den Kopp werfen. Wenn Dir kein Algorithmus einfällt, um eine solche Zahl in VB wieder auseinander zu dröseln - ich habe eine fertige Funktion dafür; bitte Mail an [email protected]

Möglichkeit 2 (bei der ersten Variante musst Du Dir, wenn es zu viele Einzelpositionen gibt, etwas einfallen lassen, z.B. ein anderes Zahlenformat) funktioniert über ein Array, das so viele Dimensionen hat, wie es unterschiedliche „Gänge“ gibt - ggf. musst Du dann einzelne Dimensionen doppeln, wenn es nicht auszuschließen ist, das jemand Kaffee und Tee haben will. Definierst Du dann mehrere Arrays, kannst Du wunderbar einen kompletten Hauptverpflegungsplan für’s Ritz darin abbilden, ohne eine Datenbank auch nur in Erwägung zu ziehen.

Willst Du allerdings mit Gewalt eine Datenbank machen, empfehle ich eine 1:n- Relation von tbl_Bestellung zu tbl_EssenUndGetränke. Flexibler geht’s nimmer …

Gruß kw