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ß
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.
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 :)
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 ?
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ß
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.
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.
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.
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ß
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.
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
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ß
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.
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ß
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. ?
Hallo Henfoni,
ZitatNun 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.
Hast Du #7 nicht gelesen?
ZitatStadt: Stadt_ID, Land_ID, Stadt_Name, Kurzbeschreibung
Periode: Periode_ID, Stadt_ID, von, bis, Parkgebühr
Diese Tabellen setzt Du 1:n in Beziehung über die Stadt_ID, -
Tabelle "Stadt" = 1 - Tabelle "Periode" = n
Hauptformular gebunden an Tabelle "Stadt" mit einem UFo, das an die
Tabelle "Periode" gebunden ist, und mit dem HFo über die Felder mit
der/den Stadt_IDs verknüpft ist.
1 : n heisst: EINE (1) Stadt mit BELIEBIG VIELEN (n) Perioden.
hth
gruss ekkehard
@ekkehard
lies mal #10.
Die Tabelle Stadt gibt es ja gar nicht. Er erklärt hier Tabellen, die er gar nicht hat, was ich besonders ärgerlich fand. (siehe #12). Wobei nach den neueren Erklärungen er doch wieder ein Ufo braucht für die Perioden. Und damit natürlich Deine Antwort sinngemäß auch für Hotelperioden zutreffend ist.
Hallo,
@MzKlMu
Ja, ich hatte nur noch den zitierten Post gelesen, und
gedacht, das ist doch schon beantwortet. Die anderen
Posts hatte ich da nicht mehr im Kopf/noch mal gelesen.
@henfoni
Replace( _
Expression:="MeinPost", _
Find:="Stadt", _
Replace:="Hotel")
gruss ekkehard
Moin,
danke für eure Mühen. Ja ich weiß ich sollte reale Beispiele verwenden, mach ich in Zukunft! ;)
Folgenden Tabellen möchte ich befüllen: Hotel, Land, Währung, Perioden.
Die Beziehungen habe ich schon über die IDs hergestellt.
Ein Hotel gehört zu genau einem Land und hat genau eine Währung. Ein Hotel hat mehrere Perioden, dies sind Zeiträume von 1-2 Monaten, variiert je Hotel. Die Tabellen Land und Währung sind von mir bereits gefüllt. Zu jedem Hotel soll über eine Combobox jeweils das Land und die Währung gewählt werden.
Ich habe wie ihr es vorgeschlagen habt, gebundene Hafos und Ufos mal erstellt. Das Problem ist nur, ich möchte ein Hotel gleichzeitig mit den Perioden in einem Schritt anlegen. Da kann ich ja nicht gebundenen Formularen arbeiten, da ich ja noch keine vergebene Hotel_ID habe...
Gruß
HAllo,
"ich möchte ein Hotel gleichzeitig mit den Perioden in einem Schritt anlegen." ??
Wenn Du ein Formular mit Basis zu Tabelle "tblHotels" (an diese Tabelle "gebunden") machst, dann wird/kann
1) der Primärschlüssel (sofern Autowert) von Access automatisch eingesetzt.
2) die Auswahl des zugehörenden Landes über ein Kombifeld geschehen, das an das Feld "Hotel_LandID" in Tabelle "tblHotels" gebunden ist und seine Listenfelddaten aus Tabelle "tblLaender" bezieht.
3) dito für die Währung: Ein an Feld "Hotel-Waehrung" in "tblHotels" gebundenes Kombifeld eingebaut werden, das die Auswahl aus den Währungen, die in "tblWaehrungen" gespeichert sind ermöglicht.
Für die "Perioden" eines Hotels wird eine weitere Zuordnungs-Tabelle "tblHotelPerioden" benötigt, die mind. folgende Felder haben sollte:
HPID (PK,Autowert)
HP_PID (Zahl, Long , Fremdschlüsselfeld für die Perioden-ID aus "tblPerioden")
HP_HID (Zahl, Long, Fremdschlüsselfeld für die Hotel-ID aus "tblHotels"
Auf Basis dieser Tabelle wird ein Endlosform erstellt, das im (Haupt)-Form "frmHotels" als Unterformular(-Steuerelement) eingebaut wird. Die Eigenschaften "Verknüpfen von/Nach" dieses UFO-St.-El. werden jeweils auf die Felder "HP_PID" und "HPID" gesetzt.
Hallo,
ZitatDa kann ich ja nicht gebundenen Formularen arbeiten, da ich ja noch keine vergebene Hotel_ID habe...
Selbstverständlich kannst Du da mit gebunden Formularen wie gehabt arbeiten. Sobald ein Hotel im Hafo angelegt ist, ist die ID bekannt und wird autoamtisch im Ufo zum Anlegen der Perioden verwendet. Du musst nur die Reihgenfolge einhalten, erst Hotel dann Perioden, was ja auch Sinn macht.
Und außerdem fehlt noch die von Franz vorgeschlagene Tabelle zur Herstellung der n:m Beziehung zwischen Hotel und Perioden.
Wie ich bereits in #14 vermutet habe.
Und löse Dich von dem Gedanken irgendwo ungebundene Formulare einsetzen zu müssen. Das geht
ausnahmslos alles mit gebundenen Formularen, ohne Einschränkung.
Hey Leute,
danke für eure Hilfe. War ne schwere Geburt, aber habs nun hinbekommen! Ich kam die ganze Zeit nicht auf die Idee, dass ich die gebundenen Formulare ja auch beliebig anpassen kann mit den Komboboxen...
Eine Frage hätte ich dann aber noch. Wie kann ich Bedingungen fürs Unterformular einbauen? Im Sinne von: der nächsteingetragene Wert bei den Perioden muss weiter in der Zukunft liegen als der vorherige?
Danke und Gruß
Zitat von: MzKlMu am Juni 28, 2012, 15:18:09
Und außerdem fehlt noch die von Franz vorgeschlagene Tabelle zur Herstellung der n:m Beziehung zwischen Hotel und Perioden.
Wie ich bereits in #14 vermutet habe.
hier mal die Beziehungen zur Verdeutlichung
[Anhang gelöscht durch Administrator]
Hallo,
hat eine Periode keinen Namen oder Bezeichnung?
Welchen Sinn soll es haben, einfach das Datum zu erfassen, wenn man nicht weis, was das für eine Periode ist.
Vieleicht erklärst Du mal die Bedeutung einer Periode.
Hier nun mal alle Beziehungen. Ein Hotel hat mehrere Perioden, in jeder Periode gibt es zu unterschiedlichen Zimmerkategorien Einzel- und Doppelzimmerkosten sowie Dritte-Person-Kosten. Diese hängen von einer Altersstaffelung ab, die pro Hotel variabel ist (0-4, 4-11, 11-100 z.B.).
Es gibt dann noch Transferkosten, die nur vom Hotel abhängig sind.
Die Verpflegungskosten variieren von Periode zu Periode. Hierbei kann es allerdings sein, dass es verschiedene Altersstaffelung im Hotel bzgl. 3. Person und Verpflegung gibt.
EK steht in den Tabellen jeweils für Einkaufspreis
[Anhang gelöscht durch Administrator]