Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Formular mit extrem vielen Datenfeldern ... welcher Lösungsansatz?

Begonnen von derilzemer, Februar 01, 2015, 11:25:34

⏪ vorheriges - nächstes ⏩

MzKlMu

#90
Hallo,
Du gehst nach meiner Auffassung zu ungeplant an die Sache ran. Das Datenmodell wurde ja komplett über den Haufen geworfen. Daher ist beim Import eine gewisse Reihenfolge einzuhalten.
Als erstes müssen mal alle Referenztabellen (Serie, Händler, Verlag und Kategorie) vollständig vorhanden sind. Der nächste Schritte wäre die Überprüfung der Zuordnungstabelle Serie-Verlag (tblSerieVerlag), die muss stimmen.
Da in der neuen Spieletabelle der Verlag nicht mehr existiert, muss jetzt der PS von tblSerieVerlag als Fremdschlüssel in die alte Tabelle übernommen werden. Dazu musst Du eine Aktualisierungsabfrage erstellen mit einer Beziehung über die alten Felder Verlag und Serie. In dieser Abfrage muss auch die Tabelle tblSerieVerlag enthalten sein, damit Du an das passende Fremdschlüsselfeld kommst. Du musst die alte Tabelle sollange mit temp. Aktualisierungsabfragen aktualisieren, auch mit eventuell zusätzlich eingefügten Feldern, bis alle Fremdschlüsselfelder korrekt gefüllt sind. Erst dann wird mit einer Anfügeabfrage die neue Spieletabelle gefüllt. Das Fremdschlüsselfeld für die SerieVerlagID ist dabei das komplizierteste.

Der Import muss sorgfältig geplant werden.

Zur Dateneingabe.:
Mache mal das Kombi für den Verlag (cboIDVerlag) wieder breiter und lege es mal über das Verlagsfeld, sodass beide sichtbar sind. Und ganz wichtig, das Feld muss ungebunden sein (war bereits mein Fehler).

Du hast eine PN.

Gruß Klaus

derilzemer

Hi,
das cboVerlag habe ich jetzt mal vergörßert und über das Feld Verlag gelegt und auf ungebunden umgestellt. Jetzt kann ich da zumindest umstellen, auch die Serien passen dann.
Ich stimme dir nur zum Teil zu was das ungeplante angeht. Aus meiner Sicht ist alles da. Wenn da noch etwas dazu kommen sollte wie Rückseitemotiv, dann ist das eh ein Wert den ich neu einpflegen muss, weil er auf der alten DB nur halbherzig gepflegt war. Ansonsten sind alle relevanten Felder aus der alten DB hier, eben nur anders aufgebaut in viele Tabellen. Viele Werte wie Titel, Ausgabejahr, Info Kaufdatum, Händler etc lassen sich ja auch gut übernehmen. Es hakelt an den ID's was den Verlag oder die Serie angeht, das mag auch an meinem Unverständnis liegen, ganz ohne Zweifel sogar. Aber ja, ich warte mit den Daten ab, bis die Kreuz und Querdaten auch wirklich stimmig sind, da hast du dann doch recht, dass ich hier noch nicht richtig getestet habe und etwas verplant bin :(. Ich habe dir auf die PN geantwortet.
Gruß Andreas
Grüße und Dank im voraus
Andreas

MzKlMu

Hallo,
das Problem mit der Anzeige der Serie hängt mit der Abhängigkeit vom Verlag zusammen. Bei abhängigen Kombis muss man immer etwas Klimmzüge machen.
Das Feld bezieht sich ja auf die ausgewählte VerlagID. Da das Feld ungebunden ist, ist das bei der Anzeige bestehender Datensätze leer. Demzufolge kann das Kombi für die Serie auch nichts anzeigen.
Abhilfe:
Ein Feld zur Anzeige des FS Verlag (VerlagID_F) einfügen und unsichtbar machen. Im Ereignis "Beim Anzeigen) setzt man dann der Wert des Kombis Verlag (cboIDVerlag) auf den Wert des unsichtbaren Feldes.
Bei Eingabe eines neuen DS wird ja das Feld manuell durch bewusste Auswahl gefüllt, sodass es bisher bei neuen DS auch funktioniert hat.

Also 2 Maßnahmen:
- Feld im Formular einfügen
- VBA Code um eine Zeile erweitern.

Anbei 2 Bilder
Gruß Klaus

derilzemer

Hi,
hab gerade Pause. Hab es mal rein gemacht und funktioniert. Kleine Sache, aber große Wirkung :).
Okay, dann hätte ich eigentlich nur noch wegen der refresh Sache in dem frmErfassungUfoLagerPos das Thema mit dem refresh. Aber das ist bei Leibe nicht dringend. Ich will jetzt mal schauen, wie ich das mit den Rückseiten mache und ob überhaupt. Dazu kann schon sein, dass ich mich dann melde etc. Da würde ich dann den Thread nutzen oder eher neuen aufmachen? Eher hier, gehört ja auch dazu. Danke erst mal und Gruß zur Nachbarstadt aus Rülzheim
Andreas
Grüße und Dank im voraus
Andreas

derilzemer

Hallo,
okay, eine Frage zur Platzierung einer weiteren Tabelle hätte ich noch. Ich habemich doch dazu entschieden, für das Thema Karten Rückseitenmotiv zu dokumentieren. Die Frage ist jetzt, wie binde ich das am geschicktesten ein, als Feld in der Tabelle tblSpiele? Zuerst dachte ich es gibt eine eigenständige Tabelle wie die tblSerie, da auch diese Verlagsabhängig sind, also tblRSMotive. Diese hat auch Äbhängigkeit zu tblVerlag, da jeder Verlag seine eigenen Rückseiten hat http://quartettportal.de/producer/db/rsmotive.htm.
Aber da ist dann mein "ich weiss nicht richtig ....." Hier ist mal das aktuelle Beziehungsbild der DB.
http://quartettportal.de/bilder/bez_tabellen_aktuell.jpg
Was macht am meisten Sinn?
mfg
Andreas
Grüße und Dank im voraus
Andreas

MzKlMu

#95
Hallo,
gibt es zu einem Spiel mehrere Rückseitenmotive ?
Wenn ja, haben dann die Motive verschiedene Namen ?
Oder sind die Rückseitenmotive alle Karten eines Spiels gleich ?
Gruß Klaus

derilzemer

Hi,
Zitat
gibt es zu einem Spiel mehrere Rückseitenmotive ?
Wenn ja, haben dann die Motive verschiedene Namen ?
Ja wie auf dem Bild zu sehen, ein Spiel mit 32 oder 36 Karten immer die gleiche Rückseite. Aber pro Verlag gibt es dann diverse Motive, Zahl n. Die Motive selbst haben in der Samlergemeinde NAme, wie z.B Diagon, 3er Motiv, 32er Motiv etc.
Zitat
Oder sind die Rückseitenmotive alle Karten eines Spiels gleich ?
Ja, in einem Spiel sind die Rückseiten immer identisch, zumindest bei technischen Spielen! Also in meinem Sammelgebiet ja.

Gruß Andreas
Grüße und Dank im voraus
Andreas

derilzemer

#97
Hallo,
im frmErfasssung ist ja das frmErfassungUfoQuratUfoKarten dabei. Daraus kann ich ja frmKartenMerkmale aufrufen und Daten zur Einzelkarte eingeben. Wenn ich das getan habe, sehe ich aber nicht, in welcher Karte ich gerade was getan habe. Wie kann man es bewerkstelligen, dass man erkennt zu welcher Karte schon Daten hinterlegt wurden? Ich rede praktisch davon, einen Flag im frmErfassungUfoQuratUfoKarten zu setzen (Feld farbig machen etc.), damit man weiss dass hier schon alle Daten gepflegt sind? Schwierig zu erklären, das wird wohl nur der Createur der DB so richtig einschätzen können.
Gruß Andreas
Grüße und Dank im voraus
Andreas

MaggieMay

Hallo,

du könntest bspw. ein Textfeld mit folgendem Steuerelementinhalt hinzufügen:
=DomAnzahl("*";"tblKartenMerkmale";"QuKartenID_F=" & [QuKartenID])
Freundliche Grüße
MaggieMay

derilzemer

Hi,
danke erst mal für die schnelle Antwort. Vielleicht fehlt da noch ein wenig Info zur Sache, sorry. Ich rufe aus frmErfassungUfoQuratUfoKarten das frmKartenMerkmale auf. Wenn ich da eingaben gemacht habe, dann sehe ich wieder nicht, wo ich stehe bzw. was ich gemacht habe. Dazu habe ich einen kurzen Film eingestellt, hat knapp 5,5 MB. Der zeigt das vielleicht besser auf. Wenn ich deinen Vorschlag sehe, dann bezieht sich das ja auf das Formular frmKartenMerkmale, was sich aber schließt und dann nicht mehr sichtbar ist. Ich müsste den Flag aber im frmErfassungUfoQuratUfoKarten (tblQuKarten) sein.
http://quartettportal.de/filme/flag.avi.
Schau es mal an, vielleicht wird es ein wenig transparenter.
Okay ich sollte versuchen, ob ich den Vorschlag auch auf tblQuKarten umsetzen kann in etwa so?
=DomAnzahl("*";"tblQuKarten";"QuKartenID_F=" & [QuKartenID])
Gruß Andreas
Grüße und Dank im voraus
Andreas

MaggieMay

ZitatWenn ich deinen Vorschlag sehe, dann bezieht sich das ja auf das Formular frmKartenMerkmale
Nein, so war das nicht gemeint, der Vorschlag bezog sich auf das Unterformular, aus dem heraus die Eingabe der Merkmale angestoßen wird.

Ich hatte schon verstanden worum es dir ging... ;-)

Allerdings müsste das Unterformular wohl nach Schließen der Eingabe noch aktualisiert werden.
Freundliche Grüße
MaggieMay

derilzemer

Hi,
sorry, ich weiss ja dass du die DB wahrscheinlich auch gut kennst und den Thread so by the way verfolgst. Ich hab das jetzt mal eingefügt. Okay passt. Wegen dem Aktualisieren dachte ich, das muss ich im Feld KartenNr machen, da ich darüber auch das frmKartenMerkmale aufrufe. Dort habe ich unter Ereignis
Private Sub KartenNr_AfterUpdate()
    Me.Requery
End Sub

gesetzt. Es geht natürlich nicht, sprich ich weiss nicht in welchen Feld ich diese Aktualisierung hinterlegen muss und ob der Requery der richtige Ansatz ist.

Gruß Andreas
Grüße und Dank im voraus
Andreas

MaggieMay

Ich denke, das Aktualisieren sollte beim Schließen des Eingabeformulars passieren.
Freundliche Grüße
MaggieMay

derilzemer

Hi,
okay ich hab jetzt mal im frmKartenMerkmale unter Ereignis des Formular "Beim Schließen" den Requery hinterlegt.
Private Sub Form_Close()
    Me.Requery
End Sub

Aber damit findet kein aktualisieren des Text Feldes im frmErfassungUfoQuartKarten statt :(. Ich muss doch im Requery sicher noch mitgeben, was er zu aktualisieren hat. Jetzt macht er doch nach meinem Verständnis nur das frmKartenMerkmal, was er aktualisiert, oder?
Gruß Andreas
Grüße und Dank im voraus
Andreas

MaggieMay

#104
Sorry, aber was denkst du dennn was "Me.Requery" bewirkt?!

Doch sicherlich das Aktualisieren des aktiven Formulars - was sonst?!

Das Aktualisieren des anderen Formulars sollte beim Schließen des Eingabeformulars passieren.

Das wäre das Close-Ereignis.

Dort könnte dann bspw. folgender Code stehen:
Private Sub Form_Close()
     Forms!frmErfassung!frmErfassungUfoQuart.Form!frmErfassungUfoQuartKarten.Form.Requery
End Sub


Freundliche Grüße
MaggieMay