Bin grad dabei Formulare zu erstellen und geht auch ganz gut voran so weit.
Nur habe ich eine Frage und zwar ist es besser ein Unterformular in ein Registersteuerelement einzufügen oder ein Listenfeld?
Ich habe ein Registersteuerelement wo ich eben momentan noch Unterformulare eingefügt habe.
Dachte mir aber vieleicht soll ich es mit Listenfeldern machen damit die Spaltenbreiten und das design eventuel besser ist.
In jeden Fall muss ich dann vom Listenfeld oder UF klicken können und ein Formular zu öffnen.
2.Kann man mit einem Listenfeld dann auch eine Suchfunktion machen.
Also im HF ein Suchfeld und dann in dem Listenfeld den Eintrag finden?
Würde mich freun wenn mir jemand einige Tipps geben könnte :)
Danke
Albert
Hallo,
die (allererste) Frage ist schwierig zu beantworten.. Du mußt selber wissen/entscheiden, was Du machen willst. Listenfelder könne halt nur Daten anzeigen, Formulare dagegen können auch (standardmäßig) Dateneingaben akzeptieren und speichern, zudem sind die Formatierungsmöglichkeiten weitaus größer/besser als beim Listenfeld.
Man kann auch mit einem Listenfeld (Klick auf einen Eintrag) ein weiteres Form öffnen, das dann den entspr. Datensatz anzeigt.
Zur zweiten: Klar, kann man, wobei die "Suche" sich auf "den Eintrag markieren" reduziert. Man braucht nur dem Listenfeld den Wert (für die gebundene Spalte) aus dem Suchfeld zuzuweisen .
Hallo Franz,
danke für Deine Antwort.
Na ich habe es nun mit Listenfelder erstellt und kann auch schon ein neues Registerformular öffnen wenn ich den Datensatz anklicke.
Also so weit sogut :)
Nur zu der zweiten Frage wie muss ich denn das machen? Damit ich im Textfeld das Listenfeld filtern kann.
Hast Du zwar schon gesagt aber leider hab ich das noch nicht gemacht und weis es leider noch nicht. :(
Dazu noch eine Frage wie kann man den dem Listenfeld sagen das es die in der Spalte Firmenkunden den Vor und Nachnamen anzeigen soll wenn eben kein Eintrag enthalten ist?
Vielen Dank
Albert
Hallo,
die zweite Frage hab ich soeben im Originalthread beatwortet.
Grundsätzlich muß man beim Listenfeld zwischen "Filtern" und "Markieren" (nicht "suchen") unterscheiden.
Gefiltert (d. h. Anzeige von gefilterten Datensätzen) passiert über die Zuweisung einer Abfrage mit aktuellem Kriterium an das Listenfeld (oder Neueinlesen der Datensätze --> Requery) mittels Abfrage, die einen Kriteriumsparameter hat.)
"Markieren" sorgt für das Setzen des Cursors (Markierung) auf den betreffenden Eintrag.
Was willst Du nun genau machen?
Also fangen wir ganz von vorne an :)
Ich möchte ein Listenfeld im unteren Berreich haben das mir nur gewisse Daten anzeigt also Vorname Nachname oder Firmenname und Vor und Nachname wenn es in der Tabelle enthalten ist.
Dazu habe ich in meiner Tabelle ein Feld mit Ja/Nein angelegt also wie erwähnt Firmenkunde Ja/Nein.
Im oberen Bereich habe ich ein Textfeld eingefügt das mir dann wenn möglich den Vornamen Nachnamen und den Firmennamen suchen könnte damit dieser selektiert wird. Dann kann ich mittels doppelklick das Register für entweder Kunden aufmachen wo eben alle anderen Infos diesbezüglich enthalten sind.
Du hast im anderen thread geantwortet und danke aber geht nun das auch mit ja und nein feld??
Hoffe das es so verständlich ist?
Danke!!
Hallo,
ja, zumindest fast.... ;) (Oberer Bereich ?, entweder Kunden ... oder ..?? , Doppelklick worauf ?, warum Register (für mehrere Formulalre), wenn es sich um nur eine Tabelle (tblKudnen) handelt ? usw... )
Im anderen Thread hab ich den Code auf ein ja/nein-Feld bezogen...
Ok ;D
Also ich habe ja ziehmlich viele Tabellen und verschiedene Bereiche also ein Kunde hat Projekte und dergleichen.
Lieferanten haben Mitarbeiter..
Mitarbeiter haben Angehörige und und... deshalb habe ich ein registersteuerelement entworfen mit folgenden Seiten pgeKunden, pgeLieferanten, pgeMitarbeiter.
In diesen Registersteuerelement habe ich dann Listenfelder also zu jeder Seite ein Listenfeld eingefügt.
Dazu noch ein txtfeld wo ich eben nach Kundne, Lieferanten, Mitarbeiter suchen könnte damit ich nicht durch alle einträge scrolen muss.
Wenn ich nun auf das Listenfeld doppel klicke öffnet es mir den angeklickten Datensatz also schon gefiltert mit dem neuen Register.
Also Kunde # 1 öffnet mir das regfrmKunde mit dem Kunden # 1 angezeigt. Und dort hab ich dann noch die anderen zusätzlichen Infos die ich über den Kunden brauche auf den anderen Seiten.
Hallo,
dass es mehrere Tabellen in einer DB gibt , ist eher die Regel denn die Ausnahme ;).
Ih sehe eher eine chaotische Daten(gruppen)-Verwaltung in/mit diesen Reg-Elementen (wenn ich den Aufbau nun richtig verstanden habe)
Warum machst Du Bedienfunktionen (Anlegen ,Löschen, Ändern, Suchen/Selektieren usw. ) nicht komplett in demjenigen Formular, das diese Datengruppe (z. B. Kunden --> Datenherkunft Tabelle Kunden) anzeigt ? Um unterschiedliche, aber irgendwie zusammenhangende Einzeldaten eines Kunden zu "gruppieren", kannst Du ja ein Formular mit Datenherkunft zu Tabelle Kunden benutzen und darin mit einem Reg-El. die zusammenzufassenden Kundendaten auf je eine Registerseite aufteilen. Weiterhin kannst Du im selben (und einzigen) Kundenform die Suchfunktionen unterbringen (z. B. Suchen mittels abhängigen Kombifeldern oder auch mittels Such-Textfeld).
Eine weitere Problematik bei der Verwendung mehrerer separater Formulare, die auf dieselbe Tabelle (Datensätze) zugreifen, liegt in dem Risiko der "Selbstsperrung" bei Datenänderungen.
Hallo,
eigentlich sind schon alle seperat.
Also ich erkläre wie ich es habe.
Ein register die mit 3 Seiten beinhaltet mit Kunden Lieferanten und Mitarbeiter.
Wenn ich nun einen Mmitarbeiter in dem Listenfeld anklicke dann öffnet es mir das Formular frmregMitarbeiter wo eben Stammdaten des Mitarbeiters in der ersten Seite angegeben sind und eben alle anderen relevanten Daten zu dem Mitarbeitern auf anderen Seiten angelegt sind.
So kann ich von dort aus Daten eingeben und ändern.
Ich habe leider noch nie so eine umfangreiche Db erstellt und auch keine dazugehörigen Formulare deshalb hab ich auch schon lange hier um Antworten gebeten um mir mit dem Design zu helfen.
Hab viele Tipps bekommen aber leider für mich war es zu wenig um ein gutes Design zu erstellen.
Nun habe ich eben eine Software oder besser das Design kopiert und diese Software hat es eben genau so erstellt.
Ob es nun gut oder schlecht ist kann ich nicht beurteilen da ich wie gesagt doch nicht so geübt darin bin.
Hallo,
kannst Du mal diese DB hochladen?
"Ein register die mit 3 Seiten WO befindet sich dieses Register?? beinhaltet mit Kunden Lieferanten und Mitarbeiter. Ich nehme an, das sind 3 unterschiedliche Formulare "
"Wenn ich nun einen Mmitarbeiter in dem Listenfeld WO befindet sich dieses Listenfeld ?? anklicke dann öffnet es mir das Formular frmregMitarbeiter Ich dachte, das Mitarbeiterform liegt auf einer der 3 o. g. Registerseiten? Da wird nichts geöffnet (es ist schon offen), es wird nur die Reg-Seite angezeigt .. wo eben Stammdaten des Mitarbeiters in der ersten Seite des o. g. Reg-St.-Elementes angegeben sind und eben alle anderen relevanten Daten welche sind das denn? zu dem Mitarbeitern auf anderen Seiten von WELCHEM Reg.-Steuerelement? angelegt sind. "
Hallo Franz na die DB hochladen ist jetzt wahrscheinlich nicht mehr möglich da diese ja sehr gross schon ist. Und natürlich auch schon Daten eingegeben sind:(
Habe aber par Screenshots mit dazugegeben.
Die datenbank Struktur ist auch schon auf diesen Forum muss aber erst den thread suchen :(
Wäre ja sehr nett wenn Du mir etwas Hilfe leisten könntest damit ich diese DB eventuell mal fertig bekomme :)
Hoffe das hat geholfen? Meld mich gleich wieder mit den Thread wo die DB zu sehen sein sollte!
Danke
Albert
[Anhang gelöscht durch Administrator]
Hier ist die DB ohne Daten hoffe das es jemanden Hilft?
Danke und viele Grüße
Albert
[Anhang gelöscht durch Administrator]
Hallo,
naja, die Tabellen allein nützen nichts, um etwas über die Formularstruktur sagen zu können..
Die Screenshots geben auch nicht allzuviel her...
Ich hätte aber einen anderen Vorschlag, um eine Navigation einzubauen:
Statt der Register, die unterschiedliche Formulare anzeigen/beinhalten, könntest Du ein ungebundenes Formular erzeugen, das ein Treeview-Steuerelement enthält, das wiederum als Knotenpunkte die einzelnen Funktionalitäten, die die DB insgesamt bietet, auflistet. Neben dem Treeview-St.-El. platzierst Du ein genügend großes UFO-Steuerelement, das je nach Klick auf einen TV-Knotenpunkt das entspr. Formular in das UFO-St.-Element läd und dadurch anzeigt.
Anstelle des TV kann auch eine Reihe von Schaltflächen genommen werden, um beim Klick auf eine dieser Buttons das entspr. Form ins UFO zu laden.
Die Registerelemente werden lediglich in einigen Formularen benutzt, wenn dort sehr viele Einzeldaten den Detailbereich des Form "zustopfen" würden.
[Anhang gelöscht durch Administrator]
Hallo,
ja danke für die Antwort leider würde ich mit TV schon wieder bei null anfangen da ich das auch noch überhaupt nie gemacht habe und nicht mal ansatzweise wüßte wo ich dort beginnen sollte.
Ich kann mir vorstellen das es etwas nervt wenn jemand keine Ahnung hat aber ist halt leider so :(
Das Problem liegt halt immer darin das es mir einfach etwas zu gross ist und ich immer wieder im Kreis laufe... die DB denk ich stimmt schon recht gut aber halt das umsetzen mit Formularen und dergleichen ist halt nicht so einfach.
Zumiendest für jemanden wie mich :(
Danke auf alle Fälle!!!
Hallo,
ja, das versteh ich, die Komplexität der Tabellenstruktur ist ja nun auch nicht gerade ohne... und daran ist auf den ersten Blick nicht auszusetzen.
Aber letztendlich muß die Tabellestrukur auch mit den Formularen abzubilden sein, d. h.:
Mach für jede(!) Tabelle ein Formular, dabei bei 1-Tabellen jeweils ein "Einzel"-Form, für n-Tabellen (Detailtabellen) jeweils ein Endlos-Form. Für 1-n Tabellenbeziehungen (Master-Detailtabellen) baust Du in das "1-Einzel-Form" ein UFO-St.-Element ein, das das "n-Endlos-Form" anzeigt.
Für Felder in Forms , die Daten aus Stammtabellen beziehen , nimmst Du zur Auswahl Kombifelder.
Grundsätzlich sollte man zusammenhängende Datenkomplexe (z. B. Rechnungen) möglichst in einem(!) Formular darstellen (Das geht natürlich nicht immer, kann aber angestrebt werden), um die "Kapselung" der Daten möglichst einzuhalten.
Bei Verlaufs-/ Historientabellen (z. B. Kontierungen, Lagerbewegungen) ist es ratsam, dafür eigene (Endlos-) Formulare zu benutzen.
Mehrere Formulare für die gleiche Datenherkunft sollten vermieden werden. Besondere "Rechte" (Nur Anzeigen, Ändern möglich, Neu hinzu möglich, etc. ) in Formularen werden per Code durch Setzen der entspr. Eigenschaften erreicht und nciht durch andere, anders eingesteltle Formulare mitselber Datenherkunft.
Also: ran ans Werk und schematisch einfach mal die Formulare erstellen. Fine-Tuning passiert nach erfolgreichem Test auf richtige Funktionalität.
Hallo Franz,
vielen Dand für Deine Antwort und Tipps und Tricks :)
Eigentlich hatte ich es eh so begonnen wie Du es geschieldert hast da auch andere Experten mir das selbe geraten haben... Nur wo das problem einfach auftaucht ist wenn mehrere Tabellen miteinander verknüpft sind so wie es in meiner Db struktur ist nicht den überblick zu verlieren und das ich all die Formulare dann geordnet in meiner Db unterbringe.
Mir fehlt einfach das Design oder wie ich es realisieren sollte und natürlich auch kann.
Würde gern Dir die Db zusenden aber weis nicht wie ich es nun am besten machen soll.
Würde mich freun wenn Du mir helfen könntest durch diese Komplexe Db zu gelangen damit auch diese mal auch verwendet werden kann und nicht nur immer daran gearbeitet werden muss :)
Mit freundlichen Grüßen
Albert Lanzelin
Hallo,
naja, wie soll ich Dir da helfen? Das Erstellen der Formulare bedeutet (viel) Routinearbeit, insbesondere wenn man auf Layoutgeschichten achten soll, und dafür hab ich einfach keine Zeit...
"Um den Überblick zu behalten" ist es halt notwendig, die einzelnen logisch zusammenhängende Teile (--> Geschäftsprozesse --> Kundenbetreuung, Bestellablauf, Rechnungsschreibung, etc.) auch als solche zusammenhängend zu behandeln. Die mußt Du schon selber Dir verinnerlichen und sich darüber klar werden. Tip: Ordne die Tabellen im Beziehungsfenster erst mal so , dass sich die 1-Tabellen links von den damit verbundenen n-Tabellen befinden. Dann gruppierst Du die "Haupttabellen" (Kunden, Rechnungen, Bestellungen, Projekte, also solche, die einen Geschäftsprozess-Bereich darstellen) so, dass sie visuelle Gruppen mit ihren N-Tabellen ergeben, d. h. mehr oder weniger "isoliert" da stehen.
Wie ich das meine, siehst Du am angehängtem Bild.
[Anhang gelöscht durch Administrator]
Hallo,
danke sehr nett von Dir ja das hab ich auch schon so gemacht... wie soll man denn dann die Formulare beschrieften und also alle 1 Seite mit frm und alle auf der N Seite mit subfrm???
Was passiert denn wenn mehrere Tabellen dann angehängt sind?
Also tblLieferanten auf tblBestellungen und dann weiter auf Bestelldetails oder auch auf BestellRechnungen...
da komme ich dann etwas durcheinander.
Aber es ist halt auch schwer es immer genau so zu formulieren damit ein anderer das versteht :(
Hallo,
beschrifte Formulare nach dem Schema:
frmTabellenname
also: frmKunde, frmEinrichtungsArt, etc.
subfrmXXXX brauchst Du nicht. Ein Form wird erst dann zu einem Unterformular, wenn es in einem UFO-Steuerelement angezeigt wird. Da sind die sprachlichen Bezeichnungen etwas unpräzise, bzw. mehrdeutig.
"Also tblLieferanten auf tblBestellungen und dann weiter auf Bestelldetails oder auch auf BestellRechnungen..."
Díe gehören zum Block "Bestellwesen", wobei Lieferanten ja nur eine "Stammtabelle für die Bestellvorgänge ist. "Bestellrechnung" kann über eine Haupt/Ufo-Konstruktion (wie auch "Bestelldetails") abgebildet werden, oder halt als Einzelform dastehen, wenn man die damit verbundenen Tätigkeiten dem GeschäftsProzess "Controlling" zuordnet.
Das sind nun Entscheidungen, die aus der Analyse der Geschäftsprozesse und- abläufe hervorgehen sollten...
"da komme ich dann etwas durcheinander."
verständlich, aber da mußt Du durch. Die Db wird nur das machen, was Du(!) ihr beibringst.
Hallo,
danke für Deine Antwort! Ich werde schaun das ich es hinbringe :)
Na ja werden sicher noch einige Fragen auftauchen aber wie gesagt mal probieren ggg :)
Hallo,
hab wie Ihr mir ja empfohlen habt die formulare erstellt.
Noch nicht alle aber schon einige.
Es tut mir wirklich sehr leid aber ich hab halt da wirklich noch einige probleme mit der zusammenfassung der Formulare und der Umsetzung.
Ich verstehe schon das eine 1:N Tabelle ein formular mit der 1 Tabelle hat und ein Unterformular mit der N tabelle.
Aber wenn nun in der N tabelle noch eine andere 1 Tabelle verknüpft ist komm ich total durcheinander.
Also eine Gruppe sind Mitarbeiter.
Die Mitarbeiter tabelle ist eine 1 Tabelle.
Diese Tabelle hat nun mehrere N tabellen verknüpft.
Zum Beispiel Angehörige, ProMit (Projekt Mitarbeiter) und dergleichen.
Dann ist ja eine Gruppe sozusagen Projekte wo Projekt Tabelle die 1 Tabelle ist und diese hat auch wieder mehrere N Tabellen miteinander verknüpft.
Nun ist es aber doch so das eine Zwischentabelle mit ProMit ja auf beide Gruppen zugreift oder besser verlinkt ist und da weis ich nicht wie man das am besten darstellen soll.
Wie schon gesagt ich verstehe schon das Konzept mit 1 tabellen in ein einzel Formular und N tabellen in ein Endlosformular... aber macht man dann immer nur 1:N also eine tabelle und eine N tabelle in ein Formular???
Es tut mir leid das ich immer noch das selbe Problem habe aber ich weis leider nicht wie man es am besten realisiert und komm von einen Problem ins anderes sozusagen.
Vieleicht hätte ja jemand noch ein Beispiel wie es zum Umsetzen wäre das ich eventuell in meiner DB umsetzen kann..
Vielen Dank für Eure Hilfe!!
LG Albert
Hallo Albert,
ich glaube - nein ich bin überzeugt davon - du denkst da viel zu kompliziert.
Prinzipiell KANNST du, musst aber nicht deine gesamten Formulare analog dem Datenmodell erstellen.
Was bedeutet das ... Nicht immer ist es notwendig die gesmte Struktur der Tabellen in Formularen abzubilden.
Es kommt immer drauf an, welche Informationen du zu welchem Zweck benötigst - und dem nach sind dann die beteiligten Tabellen in der richten Art einzubinden.
Zu den Mitarbeitern / Angehörigen / Projekte ...
Du hast die Möglichkeit zu einem einzelnen Mitarbeiter (1 Seite) mehrere Angehörige zu erfassen (n - Seite)
Du kannst das z.B. so lösen, dass du in einem Formular aus einem Kombifeld einen Mitarbeiter auswählst und dann in ungebundenen Feldern die Daten der Angehörigen erfasst.
Die Eingaben in die ungebundenen Felder werden dan auf Button-Klick hin ausgelesen und per SQL in die Zwischentabelle eingetragen.
In einem Listenfeld werden dann die Angehörigen des Mitarbeiters angezeigt.
Die Lösung mit ungebundenen Feldern ist dann relevant, wenn du OHNE Unterformular arbeitest.
Warum ungebunden und warum ohne Unterformular - weil sich an den Daten der Angehörigen kaum was verändert,
ist es auch nicht unbedingt notwendig eine Formulargestaltung zu wählen, die ein permanentes Editieren der Daten ermöglicht. (persönliche Ansicht von mir)
Für die Projekte und deren Mitarbeitern KÖNNTE es in ähnlicher Form gelöst werden oder aber auch den Weg über ein Unterformular gewählt werden.
Hier ist es dann so, dass in einem Formular ein Projekt angelegt werden kann und zusätzlich die Projektmitarbeiter, nach dem Eintrag
des Projekts in die Projekttabelle, in die Zwischentabelle durch Auswahl aus einem Kombifeld übertragen werden.
Hört sich alles furchtbar kompliziert an - ist es aber nicht.
Wichtig ist, dass dir die Zusammnhänge von Haupt und Detailtabelle klar werden oder sind.
Wenn nun in einer Tabelle der n-Seite einer Beziehung eine weitere Tabelle verbunden ist dann ist dafür zu sorgen, dass beim Eintrag eines Datensatzes eben auch der Fremdschlüssel aus der nächsten verbundenen Tabelle mitgeschrieben wird es sei denn, dass der Eintrag nicht sofort beim Schreiben des DS erfolgen muss.
Kann auch vorkommen, wenn Daten erfasst werden aber die Information aus der verlinkten Tabelle eben erst zu einem späteren Zeitpunkt zur Verfügung steht.
Ich werde mir das Ding mit den Mitarbeitern zur Brust nehmen und dir eine Beispieldatei am Wochenende zukommen lassen ... ::)
HTH
Guten Morgen Peter,
danke für Deine mail!! Hat mich sehr gefreut von Dir zu hören! Dachte Du redest nicht mehr mit mir ::)
Ja das ich kompliziert denke das kann schon sein oder ist so aber ich kann es leider nicht ändern ist halt etwas zu umfangreich für mich noch Anfänger :(
Leider :(
Könnte ich Dich fragen ob Du mir eventuell ein Beispiel gestallten könntest wo ich Rechnungen erstellen kann?
Das wäre mir im Moment das wichtigste eigentlich damit ich diesbezüglich mal anfangen könnte zu arbeiten.
Natürlich wenn es nicht zuviele Umstände macht!?
Ich habe leider immer noch weniger Zeit um an der Db zu arbeiten :(
Auf alle Fälle bedanke ich mich sehr herzlich für Deine Tipps und Deiner Hilfe!!
Werde auch am We schaun das ich mal etwas Zeit wieder finde um daran zu arbeiten.
Vielen Dank und bis bald :)
Lg Albert
Hallo,
warum sollte ich nicht mit dir reden wollen?
Ich habe nur auch selbst ziemlich was um die Ohren und finde daher zur Zeit recht wenig Zeit mich im Forum aufzuhalten.
Im Anhang die DB (V5!!!) mit 2 Formularen - recht einfach gehalten und nur zu Demozwecken gedacht.
Für die Erfassung von Mitarbeitern und das 2. Form wie ich oben beschrieben habe zur Erfassung von Angehörigen.
Wenn ich morgen noch Zeit finde werde ich versuchen ein Rechnungsformular zu erstellen und hängs dann hier wieder rein.
[Anhang gelöscht durch Administrator]
Hallo Peter,
vielen Dank für Deine mail! Werde mich gleich darum kümmern und versuchen es in meiner Db anzuwenden :)
Total nett von Dir!!
Schöne Grüße
Albert