Autor Beitrag
OliverN_26
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 252

Win7 64-Bit, WinXP SP3
Delphi 7 Enterprise
BeitragVerfasst: Do 14.09.06 19:22 
Hi!

Ich denke das Problem wird sicher ganz einfach sein, aber ich weiß noch nicht ganz, wie ich es beschreiben soll.
Also, ich möchte mir nen kleines Prog machen, um ein Table in der Datenbank anzulegen.
Ich habe also für jedes Datenfeld eigene Objekte, wie ne CheckList (Primary Kex / NULL), oder ne ComboBox (Feldtyp --> Integer, String...), Edit-Feld (Bezeichnung des Datenfeldes / Größe des Feldtyps).

Da nun mal nicht jedes Table gleich aussieht, also auch nicht dieselbe Anzahl Datenfelder hat, möchte ich mir eigentlich gern ne Tabelle machen, die ich unten gleich mal eben aufmale, die mir in ner FOR-Schleife genau die Anzahl Zeilen ausgibt die ich für mein Table benötige ( kann ich zuvor eingeben ... bin für bessere Vorschläge auch gern offen :-) )


LfD.Nr Bezeichnung Typ Größe PK NOT NULL
(nur zur
Übersicht) (Eingabe) (DropDown) (Eingabe) (Checkbox) (Checkbox)


Kann man diese Sachen alle miteinander kombinieren in einer Tabelle, oder wie soll ich das machen?
Ich will ja nicht 100 Edit-Felder, 100 ComboBoxen, 100 CheckBoxen,..., anlegen und die ständig abfragen müssen!!

Daaaannnnkkkeeeee :-)
oldmax
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 380


D3 Prof, D4 Prof
BeitragVerfasst: Fr 15.09.06 06:53 
Hi
Vielleicht ist dir hilfreich, wenn du dir mal anschaust, was ich zum erstellen von Tabellen geschrieben habe. (Suche über meinen Namen und Titel Datenbank für Adressbuch gesucht)
Ist zwar nur ein kleiner Ansatz, aber du kannst es sicherlich ausbauen. Um beliebig viele Felder zu erzeugen, kannst du auch eine For - Schleife benutzen und die Feldnamen einfach mit "Feld_'+InttoStr(i) benennen. Oder aber, du erzeugst Editfelder, in denen du Namen vergibst sowie Listfelder, in denen du den Typ bestimmst.
Ich hab es mal für eine Anwendung so aufgebaut:

Editfeld für Namen
Listfeld mit Zahl, String, Boolean, Datum, etc.
Zusatzfeld mit Integer, Float, Word Byte oder Angabe der Stringlänge usw. abhängig von Listfeldauswahl
Und das für die Anzahl, die ich in einem Editfeld eingeben konnte. Diese wurden ausgefüllt und dann die Tabelle erzeugt, wobei auf die eingegebenen Informationen zurückgegriffen wurde. Das geht dann wieder in einer Schleife. So kannst du mit einem kleinen Programm (fast) jede Tabelle erzeugen. Aber es ist nicht ganz so einfach, wie es scheint. Ich habe Wochen gebraucht, um dann auch die entsprechenden Ein- und Ausgaberoutinen für die Datenbank ebenso universell aufzubauen. Doch dafür steht z. B. FieldCount, FieldName, FieldType usw. zur Verfügung. Damit geht's dann auch wieder rückwärts....
Ich hoffe, dir ein wenig geholfen zu haben.
Gruß oldmax

_________________
Zier dich nich so, ich krieg dich schon....
OliverN_26 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 252

Win7 64-Bit, WinXP SP3
Delphi 7 Enterprise
BeitragVerfasst: So 17.09.06 14:29 
Hi. Danke vorab :-)

Mein Problem bezieht sich in erster Linie nicht auf das Programmieren im Hintergrund (dAs krieg i schon irgendwie hin...hoffe ich), sondern eher auf die Eingabemaske.
Ich möchte, dass dem Benutzer in einer Tabelle die jeweilige Anzahl von Feldern angezeigt werden. Kann ja auch vorkommen, dass ein Table 40 Felder hat.

Das mit dem "Namen-Vergeben" hört sich ganz OK an, aber wie mache ich das?
Gibt es denn ne Funktion die irgendwie besagt

for zaehler := 1 to anzahl_felder do
begin
create_EditFeld
create_ComboBox
create_CheckBox
end;

Verstehst du worum es mir geht?
Dachte, dass dies halt mit ner vernünftigen Tabelle zu lösen wäre, allerdings habe ich da das Problem, dass ich ComboBox und CheckBox mit einbeziehen will.
Bin natürlich auch für andere Vorschläge offen...

thx
oldmax
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 380


D3 Prof, D4 Prof
BeitragVerfasst: Mo 18.09.06 06:36 
Hi Oliver
Ich verstehe schon, was du möchtest, aber das ist nicht in 5 min. erklärt. Es ist eine ziemlich komplizierte und umfangreiche Programmierung fällig und das gemeine, du kannst den Erfolg auch nur zur Laufzeit sehen. Wenn du noch etwas Zeit hast, versuche ich mal den Weg zu beschreiben, aber es dauert ein wenig. Vielleicht versuchst du erst mal, meine Beschreibung zu einem Adressbuch nachzuvollziehen. Das macht es dir hinterher etwas leichter, die Vorgehensweise zu verstehen. Der Beitrag steht unter Datenbanken.
Gruß oldmax

_________________
Zier dich nich so, ich krieg dich schon....
OliverN_26 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 252

Win7 64-Bit, WinXP SP3
Delphi 7 Enterprise
BeitragVerfasst: Di 19.09.06 13:31 
Hi!

Ich finde schon, dass du dieses Thema sehr ausführlich beschrieben hast und man kann das eigentlich alles auch sehr gut nachvollziehen.
Allerdings erstellst du bereits am Anfang eine Tabelle (mit Vorname, Name usw.).
Das soll ja mein Programm machen. Im weiteren Verlauf meines Programmes finde ich deine Beschreibung sehr hilfreich, aber das was du direkt am Anfang machst, weiß ich ja gar nicht!
Mein Programm soll ja dafür da sein, das man sich das Table manuell und indivuduell einrichten kann, ohne im Quelltext rum zu fummeln.
Also weiss ich nich gar nicht, wie das Table heißt oder wie viele Felder es gibt. Und die Namen auch nicht. Soll alles eingebbar sein. Ud genau dafür brauch ich eine Tabelle, die mir zur Laufzeit die Anzahl Zeilen anzeigt, die ich benötige (die Anzahl geb ich vorher fest).

ich verzweifel :-(
oldmax
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 380


D3 Prof, D4 Prof
BeitragVerfasst: Di 19.09.06 15:45 
Hi oliver
genau das meinte ich, das ist nicht in 5 min. erklärt, aber es geht. Geau sowas habe ich bereits in einer fertigen Anwendung, nur so wirst du es nicht verstehen, daher habe ich ein Tutorial angefangen. Es wird in Word sein, damit du einiges nachvollziehen kannst, andere natürlich auch, aber es dauert ein Weilchen, bis ich damit fertig bin. Ich bin mir sicher, es wird genau deinen Geschmack treffen. Aber wie gesagt, das ist ein kleiner Brocken.
Gruß oldmax

_________________
Zier dich nich so, ich krieg dich schon....
OliverN_26 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 252

Win7 64-Bit, WinXP SP3
Delphi 7 Enterprise
BeitragVerfasst: Do 21.09.06 15:58 
Titel: Danke nochmal
Hi oldmax.

Wollt dir nochmal für deine Antworten und Tips danken.
Hab das jetzt doch mit nem StringGrid gelöst und ich muss sogar sagen,
dass mir das 1000 mal besser gefällt, wie ich das eigentlich vor hatte.
Hab bissl gelesen...wusste gar net, dass man so viel mit nem StringGrid
anstellen kann.

thx...c u @next Post ;-)