Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Textfelder dynamisch erzeugen

Begonnen von henfoni, Juni 21, 2012, 16:06:40

⏪ vorheriges - nächstes ⏩

henfoni

Moin,
ich möchte ein Formular basteln, mit dem ich meine komplette Datenbank befülle.
In einer Tabelle kann man Zeiträume zu bestimmten Objekten eintragen, allerdings ist die Anzahl der Zeiträume nicht bekannt (soll also dynamisch gestaltet werden).

Gibt es einen eleganten Weg, dazu jeweils dynamische Textfelder zu erzeugen. Ich könnte das natürlich auch alles über 2 Textfelder lösen, bloß das ist mir zu viel unübersichtliche Klickarbeit.

Meine nächste Frage dazu wäre: Ich habe noch mehr Textfelder (für andere Tabellen). Wenn ich es dann dynamisch mache, müsste ich dann ja quasi alles dynamisch machen, weil ich vorher ja nie genau weiß, wieviel Zeiträume eingetragen werden. Seh ich das richtig?
Ich habe gelesen, dass man auch Reiter in einem Formular erstellen kann. Ich möchte allerdings am liebsten alles auf einer Maske.

Kann mir jmd. viell. Tips oder Links geben?

Danke und Gruß
Wer nicht fragt, bleibt dumm.

69bruno

Hm, da ja nicht bekannt ist, wie viele Textboxen das werden, wird der Bildschirmaufbau wohl schwierig werden.

Warum kein Unterformular, von mir aus in Datenblattansicht ?  :-\

Aber dafür sollte dann auch die Tabellenstruktur passen.
If Brain <= requestoutofPost then
  PostonForum "Ich verstehe Dein Problem nicht....."
Else
  PostonForum "Denk erst mal über die Normalisierung nach......"
End If

henfoni

Bin ziemlich neu in access-Formular-Entwicklung. Ein Unterformular klingt nicht schlecht, das wäre ne gute Möglichkeit für ne schnelle Eingabe. Nu muss ich das nur irgendwie aufs Formular bekommen :)
Wer nicht fragt, bleibt dumm.

MzKlMu

Hallo,
dynamisch Felder hinzufügen sollte in einer korrekten DB niemals erforderlich sein. Du hast mit ziemlicher Sicherheit ein falsches Datenmodell.
Und für ein Ufo muss das Datenmodell stimmen, wie das Bruno auch schon sagte.
Kannst Du die Zusammenhänge mal besser erläutern.
Was sind das für Zeiträume ?
Jeweils auch von bis ?
Gruß Klaus

henfoni

Moin,

also ganz einfach gesprochen: ich habe eine Tabelle Stadt und eine Tabelle Periode. Eine Stadt kann mehrere Perioden haben (1:n).

Stadt:        Stadt_ID, Land_ID, Stadt_Name, Kurzbeschreibung
Periode:     Periode_ID, Stadt_ID, von, bis, Parkgebühr

Jede Stadt hat unterschiedlichen Perioden. Wüsste nicht, wie ich die Informationen sonst speichern sollte.. Hast du ne Idee?

Danke und Gruß
Wer nicht fragt, bleibt dumm.

MzKlMu

#5
Hallo,
ich sehe da keine dynamischen Felder. Welche Felder sollen da noch hinzugefügt werden?
Wenn die Perioden nahtlos ineinander übergehen, ist das "bis" Feld nicht erforderlich.
Gruß Klaus

henfoni

Achso, glaub wir haben uns missverstanden.

Ich wollte ja übers Formular zu jeder Stadt die Perioden eintragen. Dabei kann es ja sein, dass eine Stadt 3 Perioden hat, eine andere 5. Also wollte ich Textfelder dynamisch auf die Form laden,  aber sowas geht wahrs. gar nich..

Naja, aber ich werde es ja jetzt sowieso über die gebundenen Formulare alles erledigen.
Wer nicht fragt, bleibt dumm.

MzKlMu

Hallo,
OK, dann passt es so. Wenn Du mit gebundenen Formlaren arbeitest, was ich unter allen Umständen empfehlen würde, wird das ja alles viel einfacher. Weil im Formular immer ein neuer leerer Datensatz mit den entsprechenden Feldern angezeigt wird.

In Deinem Fall würde ich die Stadt in einem Hauptformular und die Perioden in einen Endlosunterformular anzeigen. Hafo und Ufo werden über die Schlüsselfelder verknüpft. Dann wird die Stadt_ID automatisch übertragen. Du kannst dann zu jeder Stadt beliebig viele Perioden erfassen, die Du im Ufo auch immer alle passend siehst. Geht mit gebundenen Formularen alles ohne einen einzigen Buchstaben VBA Code, ganz automatisch.
Und wie gesagt, das Bis Feld halte ich für überflüssig. Wenn die Perioden nahtlos sind.
Gruß Klaus

henfoni

Hi,

ja stimmt, das bis-Feld kann eigentlich weg.
Mit Hauptformular und Unterformular habe ich gestern schon rumgespielt. Das wär echt ne gute Möglichkeit.

Ich habe noch ein weiteres "Problem" (siehe Mail). Ich möchte, dass ein User später ein Hotel anlegen kann.
Das Hotel hat die folgende Struktur: Hotel_ID, Land_ID, Waehrung_ID, Hotel_Name, Kurzbeschreibung

Wie mache ich das Formular am besten, so dass der User auch sieht welches Land und welche Waehrung er auswählt (es werden ja nur die IDs gespeichert)? Die Tabellen Hotel, Land und Waehrung habe schon in Beziehung gesetzt mit ref. Integrität, der User kann also nur vorhandene Werte eintragen. Die Länder und Währung-Tabellen befülle ich selbst bzw. habe ich schon befüllt.

Danke und Gruß
Wer nicht fragt, bleibt dumm.

MzKlMu

Hallo,
so reicht das:
ZitatHotel_ID, Stadt_ID, Hotel_Name, Kurzbeschreibung
Land und Währung ist völlig überflüssig. Diese ergeben sich völlig problemlos über die Stadt.
Stadt>Land>Währung.
Der User legt das Hotel an, wählt die Stadt aus einem Kombi aus und fertig.
Um es für den User einfacher zu machen, könnte man noch ein ungebundenes Kombi zur Vorauswahl des Landes machen.
Aber ob das notwendig ist?
Die Auswahl eines Kombis verfeinert sich immer weiter, mit jedem Buchstaben, sodass man sehr schnell bei der Stadt ist. Das Land sollte man im Kombi mit anzeigen.
Gruß Klaus

henfoni

Hey,

also die Tabelle Stadt gibt es nicht ;-) hatte ich nur als Beispiel vorhin, weil ich dachte es wär verständlicher.
Gibt nur Hotel, Land, Währung. Die Währung kann aber in zwei Hotels im gleichen Land unterschiedlich sein, deswegen ist sie nur abhängig vom Hotel.

Mir geht es wirklich, um die grundlegenden Schritte (sorry dass ich so wenig Plan hab). Also welches Formular muss ich auswählen? Ich will ja nicht die schon vorhandenen Hotels anzeigen lassen.

Dank dir
Wer nicht fragt, bleibt dumm.

henfoni

zu Hafo und Ufo noch ne Frage:
die Beziehung zwischen den Formularen, kann ich die über die Oberfläche herstellen? Habs bisher nur im VBA-Code mit LinkChildFields..

Gruß
Wer nicht fragt, bleibt dumm.

MzKlMu

#12
Hallo,
Zitatalso die Tabelle Stadt gibt es nicht ;-) hatte ich nur als Beispiel vorhin, weil ich dachte es wär verständlicher.
ich finde es ärgerlich, wenn man hier Beispiele zeigt die man gar nicht hat. Du musst doch bedenekn, dass Du hier völlig falsche Vorraussetzungen schaffst. Wie Du ja an meiner Antwort gesehen hast.
Unter den neuen Bedingungen brauchst Du kein Ufo.
Formular zum Anlegen der Hotels mit 2 Kombis für Währung und Land.

Zitatdie Beziehung zwischen den Formularen, kann ich die über die Oberfläche herstellen?
Ja, natürlich. Du brauchst für diese Grundfunktionalitäten von Access kein VBA. Ich sehe da bis jetzt noch nirgends eine Notwendigkeit.
Gruß Klaus

henfoni

Hey,

ja war nicht so klug, so ein Beispiel auszudenken ;)
Genau, das eine Formular mit den beiden Kombis hat ich ja schon.
Nun gibt es noch verschiedene Perioden zu den Hotels, die Hotels können unterschiedliche Anzahlen von Perioden haben.
An dem Punkt hapert es nun leider. Du hast mir ja hier als Tipp gegeben mit gebundenen Formularen zu arbeiten, da ich ja nicht genau weiß, wieviel Perioden hinzugefügt werden. Ich weiß leider nicht, wie ich dies umsetzen kann.

Schönen Gruß
Wer nicht fragt, bleibt dumm.

MzKlMu

#14
Hallo,
vermutlich fehlt hier noch eine Tabelle.
Zeige mal ein Bild der aktuellen Beziehungen, oder lade die aktuelle DB mal hoch.

Was sind denn das für Perioden, Haupt, Nebensaison etc. ?
Gruß Klaus