Hallo,
ich versuche mal zu erklären was ich da habe bzw. dafür in Access benötige. Es geht um eine DB im Sammlerbereich (Quartette). Aktuell wird die DB über ein Formular befüllt. Ein Datensatz hat aktuell um die 35 Datenfelder, die notwendigsten sind damit abgedeckt. Aber da ist der Wunsch nach "mehr" noch vorhanden. Wir reden von bis zu 80 Datensatzfeldern. Selbst auf einem 24 Zoll Bildschirm wird es mit 35 Datenfeldern schon eng (da sind auch mehrere Bildfelder dabei). Jetzt gibt es natürlich den Einwurf, man kann ja nach "unten" scrollen und gut ist. Richtig. Aber dennoch meine Frage dazu, ob man da in ein weiteres Formular "blättern" kann, also Seite 2? Das kann man dann tun, wenn man sich die Kante geben will und noch den allerkleinsten Hinweis dokumentieren möchte, ansonsten bleibt man auf Seite 1. Wir reden von aktuell 2150 Datensätzen (Quartette), die so mit weiteren Datenfeldern ergänzt werden könnten.
Ein Beispiel um welche Daten es sich handelt hier als Bild.
(http://quartettportal.de/bilder/tabelle_quarts.jpg)
Für solch ein kleines Spiel und den Kartennamen würde ich ja schon alleine 28 Datenfelder benötigen.
Was ist hierfür die praktikabelste Lösung?
Gruß Andreas
Hallo,
ZitatWas ist hierfür die praktikabelste Lösung?
eine normalisierte Tabellenstruktur. Und 80 Datenfelder sind ganz sicher keine normalisierte Struktur.
Mit dem gezeigten Excelbild komme ich nicht klar. Bitte erkläre mal die DB in Prosa. Was sind das für 80 Felder ?
Ein Quartett sind ja immer 4 Karten wenn ich nicht irre, wie willst Du das abbilden ?
Hi Klaus,
die DB hat aktuell 13 Tabellen. Maintable ist die tblSpiele. Im Hauptformular sind die Datenfelder aus diesen 13 Tabellen integriert. Ich habe soweit wie möglich die Tabellen normalisiert. Da ich neu bin in dem Umfeld, ist da aber sicherlich noch potential.
Ja, ein Quatett hat 4 Karten. Das kann pro Spiel bis zu 15 Quartette sein. Genau um solche Datensätze geht es mit jetzt.
Beispiel Quartett 091400, Flugzeug-Quartett, 7 Quartette, a) 4 Karten. Nummerierungen und Bezeichnung der Karten wie im Bild, 1A-1D bis 7A-7D. Bisher kann ich dann alles mögliche Erfassen, Herstellerjahr, Verlag, wieviele KArten, zu welcher Serie, Zustand etc etc. Kartendaten selbst habe ich bisher noch nicht erfasst.
Wie bewerkstellige ich es am intelligentesten, dass ich zu diesem Spiel/Datensatz die Daten der Karten erfasst bekomme. Wie du selbst sagst, wie kann man das abbilden??
Gruß Andreas
Hallo,
tblSpiele
tblQuartette (mit Fremdschlüssel zu Spiel und weiteren Feldern zum Quartett)
tblKarten (mit FS zu Quartett, Nummerierungen, Bezeichnung, Zustand etc. )
In der 3. Tabelle gibt jede Karte zum Quartett ein Datensatz.
Hat ein Spiel 15 Quartette gibt in der Quartettetabelle 15 Datensätze.
Weiterhin werden noch Tabellen benötigt zum Verlag, Hersteller, Zustand etc.
Was ist die Serie ? Gehört diese zum Spiel?
ZitatIm Hauptformular sind die Datenfelder aus diesen 13 Tabellen integriert.
das halte ich für äußerst fragwürdig, ein Formular mit 13 Tabellen.
Was sind das für 13 Tabellen, bitte mal alle aufzählen.
Kannst Du mal ein Bild der Beziehungen hier zeigen ?
Hi,
hier mal ein Screenshot, der den aktuellen Aufbau zeigt.
(http://quartettportal.de/bilder/bez_tabellen.jpg)
Und hier wie sie wahrscheinlich aussehen müsste. Dazu muss ich aber umbauen, was ich nächste Woche angehen will.
(http://quartettportal.de/bilder/bez_tabellen_neu.jpg)
Aber ja, auch dazu brauch ich erst mal eine Meinung von einem erfahrenen Accesss User, da ich noch zu "frisch" bin, um es auch gut und richtig abwägen zu können.
Gruß Andreas
Hallo,
das musst Du schon mal noch näher erklären.
In welcher Tabelle ist den die Quartettbezeichnung ?
Ein Spiel bestehet doch aus mehreren Karten, wieso hat dann ein Spiel ein Rückseite? Hat nicht jede Karte eine Rückseite ? In der Tabelle ist ein Feld "Rückseite", aber ein anderes Feld ist mit der Tabelle "Rückseite" verknüpft, wie hängt das zusammen ?
Und in welchen Feldern hast Du die Kartenbezeichnungen ?
Das Ganze ist für mich mehr als undurchsichtig.
Hi,
ZitatIn welcher Tabelle ist den die Quartettbezeichnung ?
in tblSpiele ist die Quartettbezeichung in den Feldern Titel und SpieleNr.
ZitatHat nicht jede Karte eine Rückseite ?
Ja haben sie, aber die sind alle identisch!
ZitatIn der Tabelle ist ein Feld "Rückseite", aber ein anderes Feld ist mit der Tabelle "Rückseite" verknüpft
Ja, im Feld TBRSMotiv (Rückseitenmotiv) ist lediglich die Beschreibung des Rückseitenmotivs, z.B. Diagon 2 farbig, oder Lenkräder etc.
Die Felder in tblSpiele Deckblatt bis VarErs sind Bildfelder. Dort sind Verweise für Bilder auf externe Bildquellen. Es werden die Deckblätter, die Rücksieten, Varianten etc. dargestellt.
Die Kartzenbezeichnungwen habe ich noch nicht eingebaut, da ich erst mal in Erfahrung bringen wollte wie ich es am geschicktesten anstellen könnte.
mfG
Andreas
Hallo,
Zitat...mit der Tabelle "Rückseite" verknüpft, wie hängt das zusammen ?...
Klaus, siehe bitte Anhang - als Beispiel genannt.
ZitatUnd in welchen Feldern hast Du die Kartenbezeichnungen ?
Konnte leider auch keinen Hinweis darauf finden
Die Tabellenserie Schrank...Reihe...Schublade...Position ist etwas seltsam.
Wieso gibt es da extra ID-Felder in den jeweiligen Tabellen? - wie ich eben feststelle ist das in allen Tabellen so - PK in englischer Sprache und zusätzlich eine ID-Spalte mit Deutschem Namen - wozu bitte?
Wenn dieses aber Textfelder mit der jeweiligen Beschreibung sind solltest du die Felder schleunigst umbenennen. FeldnameID sollte NUR für Felder verwendet werden, die auch einen ID-Wert enthalten!
Einige Felder der tblSpiele - die var-Felder gehören m.M nicht in diese Tabelle sondern in eine eigene mit FK in der tblSpiele.
Bezeichnung der FK in der tblSpiele sollte geändert werden (Verständnis und Lesbarkeit) mit ..z.B. KategorieID_F
Insgsammt solltest du eine Entscheidung treffen - Feldbezeichnungen in Englischer oder in Deutscher Sprache - bitte keine Mischvariante!
Insgesamt ist es aber ungemein schwierig das Datenmodell ordentlich zu bewerten, da nicht bekannt ist welche Informationen in den Tabellen hinterlegt werden sollen.
Hallo zusammen,
eins vorweg. Ich bin "Frischling". Das bedeutet, ich will mich nicht um alle Kritik drücken, aber manche Dinge die euch völlig sinnfrei erscheinen entstanden genau aus diesem Status "Frischling" heraus. Genau deswegen versuche ich mich ja jetzt mit eurer Hilfe auszurichten und dahingehend zu korrigieren, jetzt ist noch der richtige Zeitpunkt dafür!
Im ersten Step habe ich mal das mit der Namenskonvention angepasst. Ich habe 2 weitere Tabellen erstellt, aber noch nicht in Beziehung gestellt, da ich nciht weiss wie das aussehen sollte. Hier der aktuelle Stand via Screenshot
(http://quartettportal.de/bilder/bez_tabellen3.jpg).
Bei der tblQuartette bin ich mir nicht im klaren, ob die so eingebunden gehört. Bei tblBilder schon zweimal nicht, da mit der Fremdkey bei der nicht klar ist, ob SpieleID als FK zur tbl Spiele richtig wäre :(.
Über diesen Link http://quartettportal.de/producer/db/db.htm (http://quartettportal.de/producer/db/db.htm) seht ihr, wie so ein Datensatz in der jeweiligen Tabelle aussieht, damit man dazu auch mal was gesehen hat. tblKartenformat und tblVarianteSpiel kannman sicherlich noch "atomisieren". Ob es Sinn macht bezweifel ich mal.
Das Thema Schrank an sich ist auch ein kompliziertes (was ich im späteren Step genauer darstellen würde), ebenso wie die tblQuartette, sowie die tblKarten (welche noch nicht existiert) und auch der tblBilder. Bei tblKarten, da müsste ich ja im Worstcase bei 15 Quartette a.) 4 Karten 60 Datenfelder anlegen, oder bin ich gedanklich auf dem falschen Weg? Schaut es euch noch mal an und teilt mir mit, was unklar ist bzw. welche Info noch benötigt wird.
Danke erst einmal für eure Geduld und Hilfe
Gruß Andreas
Hallo,,
die Quartetttabelle ist völlig falsch. Die Felder QuartettA - QuartetO entfallen ersatzlos. Dafür ein Feld für den Quartetbuchastaben (A, B, ...) und die Quartettbezeichnung. Je Quartett gibt es ein Datensatz, die SpielID wiederholt sich dann. 10 Quartette in einem Spiel ergibt in dieser Tabelle 10 Datensätze.
Die Karten kommen in eine weitere Tabelle mit einem Fremdschlüssel zum Quartett, je Karte ein Datensatz. Und die Bezeichnungen und Felder zur Karte.
Hi,
du meinst so?
(http://quartettportal.de/bilder/bez_tabellen_v3.jpg)
Das mit dem Karten wird wohl eher unsinnig. Da muss ich ja 60 Datenfelder und deren Bezeichnung anlegen, A1, A2, A3, etc. anlegen? Dann wäre noch die Frage zur Tabelle Bilder, ob die 1:n von tblSpiele zur Tabelle tblBilder so i.O. ist? tblBilder habe ich jetzt ähnlich der tblQuartette gestaltet.
Gruß Andreas
Hallo,
nein, sowohl die Quartetttabelle als auch die Kartentabelle ist falsch. Viel zu viele Felder. Beantworte mal diese Fragen:
Was willst Du zu einem Quartett speichern ?
Was willst Du zu einer Karte speichern ?
Nach Antwort, mache ich Dir morgen mal ein Beispiel.
Zu den Bildern kann ich nichts sagen, aber die Buchstaben A - G dürften falsch sein.
Was sind das für Bilder ? Zu den Karten ? oder zu was sonst ?
Es ist übrigens dringend vom Speichern von Bildern in der DB abzuraten. Access ist dazu nicht geeignet. Es werden nur Pfade zu Bildern gespeichert, die dann beim Anzeigen eines Datensatzes einem Bildsteuerelement zugwiesen wird. In der DB selbst sind keine Bilder.
Hi,
ZitatWas willst Du zu einem Quartett speichern ?
Ein Spiel mit 8 Quartetten, dazu will ich maximal den Quartettgruppennamen speichern, z.B. Spiel Marine, da gibt es Gruppen wie Flugzeugträger, oder U-Boote etc. Inhalt je Quartett sind dann 4 Karten, sprich z.B. 4 U-Boote
ZitatWas willst Du zu einer Karte speichern ?
Das habe ich ja vorhin schon als Problem beschrieben, da zu viele Felder. Aber eine Möglichkeit bzw. Wunsch wäre dann, die 4 Einzelkarten pro Quartett zu dokumentieren. Im Fall des obigen Spiels Marine --> Quartett U-Boot --> 4 Karten --> U8 (BRD, -), Plunger (USA, U-Jagdtyp), Leninski Komsomol (UdSSR, U-Jagdtyp) und Ethan Allen (USA, Lenkwaffen-U-Boot).
ZitatWas sind das für Bilder ? Zu den Karten ? oder zu was sonst ?
Ich bilde zum SPieldatensatz das Deckblatt, die Identkarte sowie die Rückseite ab. Wenn es Varianten gibt, dann sind dafür die Buchstaben a-g, da es wirklich bis zu 6 Varianten gibt (Rückseiten unterschiedliche, Deckblatt anderes etc.).
ZitatEs ist übrigens dringend vom Speichern von Bildern in der DB abzuraten. Es werden nur Pfade zu Bildern gespeichert, die dann beim Anzeigen eines Datensatzes einem Bildsteuerelement zugwiesen wird. In der DB selbst sind keine Bilder.
Das habe ich bisher so auch gelöst, durch ein Bildsteuerelement. Die Bildquelle ist also "extern" auf einem Laufwerk.
Danke und Gruß
Andreas
Hallo derilzemer,
unabhängig vom Datenmodell war die Eingangsfrage doch " Formular mit extrem vielen Datenfeldern ... welcher Lösungsansatz?".
Da bietet sich m.E. doch ein Registersteuerelement (Formularentwurfstool) an.
Hallo,
auch ein Registersteuerelement bewahrt einen nicht vor den (unangenehmen) Folgen eines maroden Tabellenmodells..
Hallo,
eines vorweg, wie von Franz auch schon angemerkt, ein Register ist hier fehl am Platz, weil es durch ein korrektes Datenmodell gar nicht mehr viele Felder gibt.
Im Anhang mal ein Beispiel nur mit den 3 Tabellen Spiele, Quartette und Karten.
Bitte Beziehungen ansehen. Ich habe auch mal ein Formular gemacht, bitte ansehen, Erklärungen sind mir jetzt zu lang. Das ist weitgehend selbsterklärend.
Was mir noch unklar ist, sind die Bilder. Eventuell sind die in ähnlicher Weise zu erfassen wie die Karten. Die Felder A-G sind in jedem Fall falsch, hier wäre noch eine weitere Tabelle erforderlich.
Ebenso unklar ist auch der Verlag, wieso gibt es in mehreren Tabellen einen Fremdschlüssel zum Verlag ?
Zusatzkarten, Serie, Rueckseite, Bilder, Kartenformat da hat doch nicht jeder einen eigenen/anderen Verlag ?
Ist es nicht so, dass das Spiel aus einem Verlag kommt ?
Bitte erklären.
DB Vorentwurf anbei.
Bei Fragen bitte melden.
Hallo Klaus,
danke erst mal für das Beispiel. Das hat mich jetzt erst mal zum hinsetzen veranlasst, da es mit wenig Aufsehen, einfach, effizient, puristisch und sehr zweckdienlich daherkommt. Da sehe ich jetzt schon, dass ich wohl viel zu "abstrakt" bzw. falsch unterwegs bin. Wenn ich es richtig deute, dann ist die Tendenz eher zu mehr Tabellen mit so wenig Datenfeldern wie möglich. Das hat wohl was mit Erfahrung zu tun, die ich nun mal nach 6-8 Wochen nicht haben kann :(.
Okay zum Thema Verlag, ja ein Spiel hat einen Verlag und da hatte ich eben die folgende Meinung. Jeder Verlag hat aber seine eigene Rückseiten, Serien, etc. Von daher dachte ich, dass ich eben in den Tabellen den Verlag definieren muss.
Das mit den Bilder geht wohl in die Richtung von der Kartenerfassung, da hast du wohl recht. Lass mir doch mal ein wenig Zeit, damit ich das Konstrukt von dir besser verstehe. Unterformulare, so Dinge habe ich alles noch nie genutzt :(.
Gruß Andreas
Hallo,
ZitatWenn ich es richtig deute, dann ist die Tendenz eher zu mehr Tabellen mit so wenig Datenfeldern wie möglich.
nein, so nicht. Die Tabellen ergeben sich aus den Anforderungen der Normalisierung. Die Feldzahl spielt da zunächst mal keine Rolle. Ich habe Dir mal noch die Bilder eingebaut und da siehst Du wie das geht. Die Bildtabelle von Dir hat 18 Feldern und ist auf 5 Felder geschrumpft. Mit diesen 5 Feldern kannst Du alle Bilder erfassen, egal wie viele es zu einem Spiel gibt oder noch geben wird. Dazu habe ich noch eine Tabelle "tblBildmotive" eingefügt und mit dieser Tabelle kann man ein Bild einem Motiv (Deckblatt, Rückseite usw.) zuordnen.
Du kannst zu einem Deckblatt mehrere Bilder erfassen, sodass auch Varianten in der einen Tabelle erfasst werden können. Für Spiel 1 habe ich mal einige Bilder eingefügt.
Wenn ein Motiv nicht vorhanden ist, wird in der Tabelle "Bildmotive" einfach ein neues Motiv eingetragen und schon kann ich im Hauptformular eine Bild dazu ablegen.
Was den Verlag betrifft, so bin ich der Meinung der Verlag gehört als Fremdschlüssel in die Spieletabelle in der erfasst Du ja dann auch die Formate usw.
Oder erkläre das mit dem Verlag in den anderen Tabellen mal genauer.
Wenn Du nämlich erfassen willst, welcher Verlag z.B. welche Formate herstellt, so wäre ohnehin eine andere Struktur erforderlich. Das gilt auch sinngemäß für die Serien, Rückseite, Zusatzkarte. Da hat jeweils der Verlag nicht zu suchen. Oder überzeuge mich vom Gegenteil. ;D
Im Anhang noch eine neue Version (02).
Hallo zusammen,
so es ist soweit, ich hänge :(. Ich hab die jetzt mal Step by Step erweitert, angepasst etc. Da habe ich dann 2 Dinge, welche ich nicht weiss, wie oder was.
- Im frmBilderUfoSpiel habe ich jetzt 3 Bildelemente angelegt. Da wollte ich dann entsprechend Bezug auf das Feld BildDateiName machen und mir das Bild anzeigen lassen. Geht auch, jedoch kann ich da ja nur immer das Feld auswählen. Wenn ich also ein anderes Bild anzeigen lassen will, wie stell ich das am geschicktesten an? In meiner alten DB musste ich ja dafür eben ein eigenes Feld anlegen. Muss ich das hier genauso machen, dann muss ich die Tabelle erweitern, was ja so nicht angedacht war?
- Im Formular habe ich die Felder Verlag, ID Haendler und Kategorie hinzugefügt. Aktuell werden da die ID (AutoWert) angezeigt, was aber beim eingeben eines Datensatzes natürlich nicht "komfortabel" ist, da ich mir all die Zahlen nicht merken kann. Soll ich nun den PK in tblVerlag, tblKategorie und tblHaendler umstellen? Da ich aktuell die Felder IDVerlag, IDKategorie und IDHaendler nutze (FK in der tblSpiele), kann ich ja die Variante mit Spalte binden nicht nutzen. Wie bewerkstellige ich so etwas?
Datensatz ID 315, 495 und 1853 sind dann mal exemplarisch komplette Datensätze, also mit Karten, Bild etc.
Geänderte DB hängt an. Das mit dem Schrank wäre dann der nächste Step, den ich machen würde, sofern das aktuelle Sinn macht. Die tblSpiele, ist die so okay, oder sagt ihr, die Felder sind schon zuviel? Aus meiner Sicht sind es aber Werte, welches das Spiel betreffen und nicht in eine extra Tabelle ausgelagert, sprich atomaisiert gehören.
Gruß Andreas
Hallo,
Mit den Bildern, das verstehst Du falsch. Es gibt je Datensatz ein Bild, also auch nur ein Bildsteuerelement. Beim Anzeigen wird dem Bild dann der Inhalt des Datensatzes zugewiesen. Was das Bild anzeigt ergibt sich aus dem Bildmotiv.
Füge mal bei der SpielID 1853 2 Bilder ein (mit Pfad und Dateiname).
Und schaue Dir den Code dazu an.
Du kannst je Spiel beliebig viele Bilder einfügen, jedes Bild mit einem Motiv, alles über ein Bildelement. Den Pfad zu den Bildern legt man zentral in einer Tabelle an, sodass in dem Feld BildDateiName nur der reine Dateiname gespeichert werden muss. Habe ich jetzt aber nicht gemacht.
Was die Felder Verlag, Haendler und Kategorie betrifft, so ist das relativ einfach. Die Fremdschlüssel werden über je ein Kombifeld gewählt. Das Kombi zeigt den Klartext an, aber die Zahl wird gespeichert. Die von Dir eingerichtete Beziehung der Kategorie war falsch. Es wird niemals eine Beziehung über den Klartext eingerichtet, sondern immer über die Schlüsselfelder. Ich habe das korrigiert.
Die Eigenschaften des Kombis (Spaltenzahl, Spaltenreihenfolge, Spaltenbreiten, gebundene Spalte) bestimmt was das Kombi speichert und was man sieht.
Schaue Dir die obigen Einstellungen der Kombis genau an, damit Du verstehst wie das funktioniert, das ist wichtig. Die Zahlen sind bedeutungslos, die kriegt man in der Regel nicht zu sehen und muss man sich auch nicht merken.
PS:
Bitte bei jeder Änderung die Versionen hochzählen.
Neue Version (03) anbei.
Hi,
ich kann nahher erst richtig schauen, da ich noch was mit meinem Bruder machen muss, aber ich bekomme beim öffnen des Formular schon diverse Parameterabfragen ums Auge geworfen, ich denke mal das ist so nicht beabsichtigt. Die kommen bei jeder Aktion, auch wenn ich z.B. einen Datensatz suche oder sonst irgendwie ein Quarttett anwähle.
Dann habe ich unter Abfragen ein mir nicht bekanntes Symbol, scheint eine Verknüpfung zu sein (hat mit der KategorieID_F zu tun). Kann man das einfach löschen?
Hier die Meldungen als Screenshot
http://quartettportal.de/producer/db/para.htm (http://quartettportal.de/producer/db/para.htm)
Gruß bis später
Andreas
Hallo,
die Abfrage kannst Du löschen, hatte ich vergessen. Habe ich nur zu Aktualisierungszwecken benötigt.
Ich erhalte keine Fehlermeldung beim Öffnen der DB, die Meldungen kann ich daher nicht nachvollziehen.
Beschreibe mal genau die Schritte die zu den Rückfragen führen.
Hi,
wenn ich frmErfassung öffne, dann kommt Parameterwertabfrage 1, nach betsätigung mit okay kommt Parameterwertabfrage 2 wie im Link. Dann ist das Formular offen. Geh ich dann in die Liste Spiel wählen, kommen die Abfargen immer wieder. Wenn ich frmErfassung erneut öffne und die Parameterabfrage dann nicht mit ok sondern mit abbrechen bestätige, dann startet er den Debugger.
Laufzeitfehler 2467:
In dem von Ihnen eingegebenen Ausdruck wird auf ein Objekt verwiesen, das geschlossen oder nicht vorhanden ist.
Gehe ich da auf Debuggen, dann springt er auf Liste21, das ist das Feld, weöches du heute wohl neu eingebaut hast. Ich hab dir die Screenshots im Web gepostet.
http://quartettportal.de/producer/db/para.htm (http://quartettportal.de/producer/db/para.htm)
Gruß Andreas
PS: Zur Info, ich öffne die DB mit Access 2013. Ich habe die Datei noch nicht in das .accdb Dateiformat konvertiert. Es ist weiterhin eine mdb.
Hallo Andreas,
der Fehler wird verursacht durch den Eintrag
[SELECT qryfrmErfassungUfoBilder].BildmotivID_F, qryfrmErfassungUfoBilder.[SpielID_F FROM qryfrmErfassungUfoBilder;]
in der Formulareigenschaft "Sortiert nach" im frmErfassungUfoBilder.
Wie auch immer der entstanden sein mag, ich würde ihn einfach entfernen.
Die Sortierung kann innerhalb der Abfrage stattfinden.
Hallo,
Hab ich gelöscht und et voila, es geht. Danke dafür. Step by Step, aber es geht vorwärts.
Gruß Andreas
Hi,
das mit dem Laufzeitfehler etc. hat Maggie unterstützt. Das Thema ist gegessen, soweit ich das beurteilen kann.
Zitat
Mit den Bildern, das verstehst Du falsch. Es gibt je Datensatz ein Bild...Füge mal bei der SpielID 1853 2 Bilder ein (mit Pfad und Dateiname).Und schaue Dir den Code dazu an.
Ich ahnte es, was das falsch verstehen angeht ;). Hab ich jetzt verstanden, wie das funktioniert. Aber irgendwie funktioniert es noch "komisch". Ich kann adden über "Neues Bild hinzufügen", aber irgendwie refresht er nicht. Die Liste Bildmotiv wählen bleibt mal erst leer. Wenn ich dann aus dem Datensatz heraus und wieder rein gehe, dann sehe ich die neuen Bilder. Muss ich da in dem Ereignis AfterUpdate noch ein Me.Requery dazu?
Was oder wie mache ich das überhaupt, wenn ich eines der Bilder löschen will? Einfach den Pfad löschen, damit ist das Bild erst mal verschwunden. Aber in der Liste21, also in Bildmotiv wählen ist der Eintrag noch vorhanden. Und gibt es eine Möglichkeit, da es auch Bilder im Querformat gibt, dass Access dies dann dynamisch anzeigt? Jetzt presst er das in einen Rahmen 4,852x7,33, Bei einem Querformat ist das ja genau anders herum. Geht so etwas? In den aktuellen Eigenschaften kann ich dies nicht sehen.
ZitatDen Pfad zu den Bildern legt man zentral in einer Tabelle an, sodass in dem Feld BildDateiName nur der reine Dateiname gespeichert werden muss. Habe ich jetzt aber nicht gemacht.
Okay, wenn du von zentral redest, dann wirklich in einer eigenständigen Tabelle, oder in der Tabelle tblBildmotive? Die Konsequenz für mich bei rund 5000 Bildern ist da nämlich, dass ich die Bilder natürlich pro Verlag trennen muss. Der Pfad an sich wäre sagen wir mal W:\AccessDB\ und dann noch der Verlag, entweder ass\ oder fxs\ oder biele\ oder oder. Dazu wird wohl aber VBA nötig sein, wie sonst soll es möglich sein das richtige Verzeichnis zu finden? Grundsätzlich liegt ja beim Datensatz anlegen bzw. ändern der Verlag schon fest, was dann als Indikator genommen werden könnte, oder liege ich falsch?
Zitat
Es wird niemals eine Beziehung über den Klartext eingerichtet, sondern immer über die Schlüsselfelder........
Die Eigenschaften des Kombis (Spaltenzahl, Spaltenreihenfolge, Spaltenbreiten, gebundene Spalte) bestimmt was das Kombi speichert und was man sieht. Schaue Dir die obigen Einstellungen der Kombis genau an, damit Du verstehst wie das funktioniert, das ist wichtig. Die Zahlen sind bedeutungslos, die kriegt man in der Regel nicht zu sehen und muss man sich auch nicht merken.
Das war ja meine Frage und auch Befürchtung, dass dies nicht korrekt ist :-(. So hatte ich es "früher" gelöst.
ZitatBitte bei jeder Änderung die Versionen hochzählen.Zitat
Werde ich machen.
Danke für die Hilfe
Gruß und Gute Nacht
Andreas
Hallo,
anbei eine neue Version.
ZitatIch kann adden über "Neues Bild hinzufügen", aber irgendwie refresht er nicht.
Ist in der neuen Version behoben. Es gibt auch einen Button zum Löschen eines Bildes.
ZitatUnd gibt es eine Möglichkeit, da es auch Bilder im Querformat gibt, dass Access dies dann dynamisch anzeigt?
ja, es muss nur Höhe und Breite vertauscht werden. In der Tabelle "tblBilderZuSpiel" habe ich noch ein Feld für das Bildformat eingefügt. Einfach mit 2 Zahlen. Im Formular ist dann eine Optionsgruppe zur Auswahl.
Für den Bilderpfad habe ich beim Verlag noch ein Feld eingefügt für ein Verlagskurzzeichen das als Ordnername dient. In der Abfrage für das Formular wird dann dynamisch der Bildpfad bestimmt. Füge mal ein Bildname ein (nur Name mit Endung) im entsprechenden Ordner. Dann wählst Du das Format. Das Bild sollte dann korrekt angezeigt werden.
Bitte mal etwas rumprobieren und auch mal den VBA Code ansehen.
Im Anhang die DB (04).
Ich habe zwar viel getestet, aber die DB kann trotzdem noch Fehler haben. Bitte auch mal ausgiebig testen.
PS:
Es wäre vorteilhaft, wenn Du die Beispieldb auf 3-4 Spiele mit je 2-3 Quartetts beschränken würdest. Mit vollständigen Daten. Das für einen außenstehenden leichter zu überblicken und auch das Testen wird einfacher.
Hi,
hab mal die beiden letzten Stunden damit verbracht das eine oder andere zu testen. Das funktioniert echt sehr gut und bisher ohne Auffälligkeiten. Ich habe jetzt noch die Serie als Kombifeld eingebunden. Da habe ich jetzt eine Farge dazu. Abhängigkeit zum Feld Verlag. Wähle ich z.B. den Verlag F.X.Schmid, dann soll er mir in den Serien auch nur noch dessen Serien anbieten. Ich habe deshalb in der tblSerie das Feld VerlagID_F eingebaut, jedoch noch keine Beziehung zur tblVerlag gemacht. Dies benötige ich doch, damit ich diese Selektion durchführen kann, oder?
Frage 2 betrifft meien Alptraum, Schrank. Ich habe 4 Tabellen angelegt und mal zueinander mit Beziehungen geschaffen. Das sah schon kacke aus :(. Wenn ich es richtig verstanden habe, dann muss doch das eigentlich genauso laufen, wie du das mit den Tabellen tblQuKarten und tblQuartette gemacht hast. Ergo habe ich jetzt eine tblSchublade und eine tblSchrank. In tblSchrank hätte ich einen FK zur tblSchublade, den PKSchrank, Feld Reihe und Position. tblSchublade außer dem PK Schublade noch einen FK zum PKSpiel in tblSpiel. So habe ich das jetzt mal abgebildet, ohne Rücksicht auf Verluste ;D. Wäre nett, wenn ihr mir dazu eine Aussagen treffen könntet bzw. euch das mal anschaut. Das Umsetzen ist dann noch eine ganz andere Geschichte mit Code und allem :(.
Angepasste DB 05 hängt an, wie gewünscht mit nur noch 36 Datensätzen. Etwas mehr muss es sein, wegen dem Test mit der Kombiabhängigkeit denk ich mal.
Gruß Andreas
Hallo,
ganz kurz:
- Kann die gleiche Serie auch ein anderer Verlag haben, oder kommt eine Serie immer von einem Verlag ?
- Hat jedes Spiel eine Serie, oder kann ein Spiel auch mal ohne sein ?
Zu den Schränken, das ist falsch so.
Auch hierzu Fragen:
- Was ist die genaueste Position die Du für ein Spiel hinterlegen willst?
- Wie ist die Abfolge Schrank - Schublade - Reihe - Position ?
- Die Position willst Du dann wissen ?
Hi,
sorry war gestern abend laufen und war dann platt :-).
Zitat- Kann die gleiche Serie auch ein anderer Verlag haben, oder kommt eine Serie immer von einem Verlag ?
- Hat jedes Spiel eine Serie, oder kann ein Spiel auch mal ohne sein ?
Nein, die Serie ist immer Verlag spezifisch! Deswegen habe ich in der Tabelle Serie auch die VerlagID in der Spalte hinterlegt, welche aus der Tabelle Verlag resultiert. Und ja, es gibt auch Spiele ohne Serienzuordnung, z.B. speziell Verlag Ravensburger!
ZitatZu den Schränken, das ist falsch so. Was ist die genaueste Position die Du für ein Spiel hinterlegen willst?
- Wie ist die Abfolge Schrank - Schublade - Reihe - Position ?
- Die Position willst Du dann wissen ?
Als ob ich es nicht geahnt hätte :(. Stell ich mich nur blöd an, oder ist es in der Tat etwas kompliziert?
Ich habe aktuell 3 Schränke, die haben Reihen (maximal 6), welche Schubladen beinhalten (maximal 5). Die Schubladen sind widerrum aufgeteilt in Reihe links, rechts und Mitte (es gehen als 3 Spiele nebeneinander). Und in den reihen, da sind die Positionen, 1-max. 30.
Die Folge aus meiner Sicht ist Schrank --> Reihe --> Schublade --> Position Nr. x links rechts oder Mitte. Reicht das als Angabe?
Hier mal ein Eindruck wie das aussieht .... http://quartettportal.de/producer/db/schrank.htm (http://quartettportal.de/producer/db/schrank.htm)
Gruß Andreas
Hallo,
noch mal zu den Serien. Es gibt bei den Serien auch Serien ohne Verlag (z.B. Katalog) habe ich in der Tabelle gesehen. Das heißt, es gibt auch Serien ohne Verlag ?
Zu den Schränken muss ich noch nachdenken.
Aber erst morgen.
PS:
Wie viele Quartette hast Du denn im Moment und wie viele sollen es werden ? Rein aus Interesse.
Hallo,
wie schon unten erwähnt, es gibt auch Spiele ohne Serienzuordnung, z.B. speziell Verlag Ravensburger! Katalog werde ich ein eigenes Feld in der Tabelle Spiele machen, also raus aus der Tabelle Serie. Katalog bedeutet lediglich, dass es ishc um spezielle Spiele handelt, welche zwischen 1951-1971 von den Verlagen herausgegeben wurden. Darüber gibt es einen Katalog von Herbert Kutter. Das ist praktisch ein Marker, Alleinstellungsmerkmal für ca.420 Spiele .
Du, gar kein Thema wegen morgen oder wann auch immer. Danke, dass du mir da echt richtige Hilfe leistest. Von daher habe ich was Zeit etc. angeht 0 Ansprüche.
Aktuell habe ich genau 2138 Spiele. Ein Sammlerfreund von mir hat ca. 7000 mit Dupletten. Da ich nur bis 1990 sammle, können das mit Varianten so um die 4000 schon werden. Also schauen wir mal ;). Und bei den Zahlen benötigt man einfach eine "Übersicht", alleine schon wegen Doppelkäufen etc. Da ist eben eine DB das einzig wahre. Wie heißt es so schön, jeden treibt was an .......
Gruß Andreas
Hallo,
ich meinte das umgekehrt, Serien ohne Verlag z.B. wie bei Werbespiel ?
Noch mal zu den Schränken. In den Schubladen sind 3 Reihen (L, M, R).
Sind in jeder Reihe 30 Positionen oder in jeder Reihen 10. also 30 je Schublade ? Letzteres wären dann 3*6*5*30=2700 Lagerplätze ?
ZitatWie heißt es so schön, jeden treibt was an
genau, bei mir ist das Access 8)
Hi,
ja Werbespiel ist in der Tat ein Spiel ohne Verlag. Das können Spiele von Kaufring gewesen sein, einer Brauerei etc. Klar wurden die von einem Verlag aufgelegt, dies ist dann aber nur zu vermuten von wem. Von daher sind Spiele ohne Verlag oder Serienzuordnung möglich. Es gibt aber keine Serien ohne Verlag, dies ist gar nicht möglich.
Zur Schublade, ja, jede Schublade hat wie auf dem Bild 3 Reihen, links, rechts und mitte. In Schubladen wie im Bild welches ich gepostet habe, sind pro Reihe maximal 19 Spiele möglich, weil es sich um Großformatige Spiele handelt. Das wären dann maximal 57 Spiele pro Schublade. Dann hat es aber Minispiele, da gehen dann maximal 30 Spiele rein, also 120 pro Schublade. Ja, da habe ich nur 2 Schubladen davon und du rechnest richtig, da hat die Schublade dann 3 Teiler drin. Das sind dann 4 Reihen in der Schublade mit je 30 Spielen. Ich dachte ich muss deswegen nicht extra was erwähnen, war aber blöd.
Gruß Andreas
Hallo,
ein Frage habe ich noch zu neuen Datensätzen. Es ist mir aufgefallen, dass er bei Feldern wie Haendler, Serie zwingend eine Eingabe verlangt wird , zumindest ein -. Bei Serie muss ich was eintragen, sonst Warnt er die ganze Zeit. In den Eigenschaften konnte ich nirgends erkennen, wo ich diese Pflicht festlegen kann. Dass nur Werte aus der Liste gültig sind, das weiss ich wo das geht. Oder ist das mit der Pflicht so, wenn generell eine Liste zugrunde liegt?
Gruß Andreas
Hallo,
ZitatDas sind dann 4 Reihen in der Schublade mit je 30 Spielen.
Und wie nennst Du dann die Reihen, L, M, R geht ja dann nicht.
Was die Pflichteingaben betrifft, so gibt es da keine extra Einstellung. Dass da eine Eingabe erforderlich ist, hängt mit der eingestellten referentiellen Integrität zusammen. Es wird nur dann ein Datensatz erlaubt wenn auch ein entsprechendes Gegenstück vorhanden ist. Da aber bei den Standardwerten für die Fremdschlüssel eine 0 eingetragen war, gibt das ein Problem, denn eine Kategorie 0 gibt es ja nicht, demzufolge > Fehlermeldung.
Lösche also einfach die 0 bei den Standardwerten der Spiele Tabelle.
Hallo,
ja in der alten DB nannte ich die L-Pos, R-Pos oder M-Pos. Das wäre dann bei einer 4 reihigen Schubladen wie den 2 en die ich habe nicht wirklich stimmig. Hmmm. Ich kann mirt nur nach Uhrzeigersinn von links nach Rechts vorstellen, also R1-Pos, R2-Pos, R3-Pos und R4-Pos. Anderes sinniges fällt mir nicht wirklich ein wenn ich ehrlich bin. Aber ehrlich gesagt, ist mir die 3 Reihenlösung doch sympatisch, mit den Minispielen kann ich dann leben, dass ich da "nur" 3 Reihen als Möglichkeit habe. L-Pos, R-Pos oder M-Pos wäre für mich also okay.
Okay habe ich verstanden wegen der 0 in der Tabelle. ändere bzw. lösche ich entsprechend.
Ich habe gesehen, dass in den "Optionsfelder" für ja eine -1 in der Tabelle eingetragen wird. Im accdb Format zeigt er in der Tabelle wirklich das Optionsfeld mit Haken an. Auch im Datum macht er in der mdb z.B. YYYY. In 2013er Version macht er human readable also 28.12.2014. Ist das wirklich von der Accessversion abhängig? Ich nutze ja 2013er Version.
Gruß Andreas
Hallo,
ZitatAuch im Datum macht er in der mdb z.B. YYYY. In 2013er Version macht er human readable also 28.12.2014.
das habe ich jetzt nicht verstanden. Heißt das, in der DB steht bei einem Datum nur das Jahr ?
Hi,
nein. Im Formular gebe ich 28.12.2015 ein, im Tabellenfeld steht dann nur YYYY. Okay, das zeigt er auch so in der Eigenschaft des Feldes an, dass er das Format verwendet. Aber in Access 2013, da steht dann im Tabellefeld das genau so, wie man es im Formular einträgt. Aber ist ja nicht so relevant, ist mir nur so aufgefallen der Unterschied von mdb File zum accdb file. Das wird wohl an Access 2013 liegen.
Gruß Andreas
Hi,
ich hab da mal noch 2 Fragen an euch.
- Wenn ich die Liste im frmErfassungUfoBilder im Kombifeld BildmotivID_F erweitern will, kann ich das nur, indem ich es löschen und mit den neuen gewünschten Werte neu erstelle? Ich sehe zumindest nirgends eine Möglichkeit der Erweiterung des LIsteninhalts :(.
- In meiner letzten DB hatte ich mir mit Hilfe des Forums die Möglichkeit eingerichtet, mit einem Doppelklick das Bild in "Originalgröße" anzeigen zu lassen. http://www.access-o-mania.de/forum/index.php?topic=19981.0 (http://www.access-o-mania.de/forum/index.php?topic=19981.0). Ich will das natürlich wieder haben weil ich das für meine Bedürfnisse nützlich finde und im Unterformular zudem ein Bild qualitativ schlechter dargestellt wird, was für mich erst einmal unerwartet war. So habe das jetzt mal nachgebastelt, aber bekomme es nicht hin. Kann es sein, dass dies etwas damit zu tun haben, dass ich diese Aktion aus einem Unterformular heraus machen will, was dann eben am Code berücksichtigt werden muss? Den Code aus dem obigen Thread habe ich entsprechend angepasst (für die Focus Funktion habe ich das Feld BildmotivID_F genutzt...aber auch andere), aber es öffnet sich eben nur das Formular und zwar leer :-(.
Versucht habe ich es mit der angehängten DB-Version 05.
Gruß Andreas
Hallo Andreas,
Zitat von: derilzemer am Februar 12, 2015, 22:11:40Wenn ich die Liste im frmErfassungUfoBilder im Kombifeld BildmotivID_F erweitern will, kann ich das nur, indem ich es löschen und mit den neuen gewünschten Werte neu erstelle?
was das betrifft, so nutze das Ereignis "Bei nicht in Liste" zur Erfassung neuer Einträge. Die Access-Hilfe und Google (etc) sollten hierzu reichlich Input bieten.
Hallo,
Zu 1)
das musst Du mal genauer erklären, welche Liste meinst Du ?
Die Liste mit den Bildmotiven erweitert sich automatisch. Da muss man nichts löschen vorher. Mit "Bei nicht in Liste" hat das nichts zu tun.
Zu 2)
Sehe ich mir morgen mal an.
Hi,
zur Liste heißt also, einfach wenn etwas neues dazu kommt, einfach schreiben, also erweitert sich dynamisch. Okay ....peinlich.
Zum Thema Bild und vergrößern, dass ich leeres Formular bekomme. Ich Döskopp. Ich habe mich auch auf das falsche Feld bezogen, deshalb bleibt das Formular leer. Heute morgen beim duschen ist mir das einfach in den Sinn gekommen (was Wasser und Schlaf doch gutes bewirken können). Das muss ich dann heute abend mal umstellen und erneut testen, dann klappt das auch. Wenn nicht komme ich hier im Forum wieder darauf zurück :). Also bitte mal keine Zeit dafür verwenden, geht dafür lieber ein Bier trinken oder was auch immer.
Gruß Andreas
Hi,
ich hab mir das wohl wieder zu einfach vorgestellt, auch heute morgen war ich wohl zu optimistisch. Deshalb,
Zitat
Zu 1) das musst Du mal genauer erklären, welche Liste meinst Du ?
Hat sich erledigt, weil ich heute Nacht blind war und obwohl ich nicht auf der Altweiber Fastnacht war.
Wegen dem Thema Bild vergrößern, da habe ich jetzt doch nicht wie erhofft den Fehler gefunden. Ich denke mal, es liegt an dem SetFocus Thema, aber das ist pure Vermutung. Das Formular mit in vorher bestimmter Größe öffnet sich, aber leer :-(. Ich habe die DB im aktuellen Stand noch einmal angehängt
Gruß Andreas
Hallo Andreas,
was den Fehler betrifft, so brauchst du den vollständigen Zugriffspfad für die ControlSource des Bild-Steuerelements im Deckblatt-Formular. Wie du daran kommst, weißt du ja bereits durch die Anzeige im UF "frmErfassungUfoBilder". Und das Feld "Bildmotiv_ID_F" ist nicht zum Filtern geeignet, statt dessen solltest du den eindeutigen Tabellenschlüssel der Bildertabelle verwenden.
BTW:
Es wäre günstiger, wenn du den Stamm-Zugriffspfad ebenfalls in einer Tabelle speichern würdest, dann brauchst du nicht mit Konstanten in den Abfragen oder im Code zu hantieren.
Hi,
Zitatvollständigen Zugriffspfad für die ControlSource des Bild-Steuerelements
damit meinst du sicherlich
W:\AccessDB\fxs\bild.jpg
, weil in frmErfassungUfoBilder in BildDateiName nur der das Bild ohne Pfad steht.
ZitatEs wäre günstiger, wenn du den Stamm-Zugriffspfad ebenfalls in einer Tabelle speichern würdest, dann brauchst du nicht mit Konstanten in den Abfragen oder im Code zu hantieren.
Da ist ja schon der Fall, der ist in tblVerlag in Spalte BilderOrdner
BilderPfad: "W:\AccessDB\" & [Bilderordner] & "\"
. Da sehe ich ja aktuell auch meine Schwierigkeit, dass ich das nicht zusammenbekomme :(: Das muss ich ja irgendwie "verknüpfen", Feld BildDateiName in tblBilderZuSpiel und Feld BilderOrdner in tblVerlag.
Ich habe auch schon den eindeutigen Wert (BildMotivID) aus der Tabelle verwenden wollen, aber den bekomme ich im VBA gar nicht erst angeboten aus der Tabelle, lediglich BildDateiName, BildmotivID_F und BildZuSpielID. Mit den beiden anderen Werten habe ich auch versuchen wollen, aber immer das gleiche. Mit BildZuSpielID bekomme ich nur Value statt SetFocus als Auswahl, mit BildDateiName ebenso. Das liegt eben dann noch am Pfad.
Ich muss zum schnell Arzt, Untersuchungsergebnis besprechen. Bis später.
Gruß Andreas
Hi,
Zitat von: derilzemer am Februar 13, 2015, 16:43:50Da ist ja schon der Fall
Nein, mit Stamm-Zugriffspfad meinte ich genau das hier:
BilderPfad: [b][color=red]"W:\AccessDB\"[/color][/b] & [Bilderordner] & "\"
Die Abfrage für das Deckblatt-Formular könnte folgendermaßen aussehen:
SELECT tblBilderZuSpiel.BildZuSpielID, "W:\AccessDB\" & [BilderOrdner] & "\" & [BildDateiName] AS Bildname
FROM tblVerlag INNER JOIN (tblSpiele INNER JOIN tblBilderZuSpiel ON tblSpiele.SpielID = tblBilderZuSpiel.SpielID_F) ON tblVerlag.VerlagID = tblSpiele.VerlagID_F;
und der Aufruf dann so:
Private Sub imgBilder_DblClick(Cancel As Integer)
DoCmd.OpenForm "frmDeckblatt", , , "BildZuSpielID=" & Me.BildZuSpielID, , acDialog
End Sub
Wozu du da ein Textfeld drüber gelegt hast, habe ich nicht verstanden, das halte ich für überflüssig.
Hi,
jetzt geht es. Ich habe noch 2 Anpassungen machen müssen.
SELECT tblBilderZuSpiel.BildZuSpielID, "W:\AccessDB\" & [BilderOrdner] & "\" & [BildDateiName] AS Bildname
FROM tblVerlag INNER JOIN (tblSpiele INNER JOIN tblBilderZuSpiel ON tblSpiele.SpielID = tblBilderZuSpiel.SpielID_F) ON tblVerlag.VerlagID = tblSpiele.VerlagID_F;
Die \ waren natürlich erforderlich. Weiterhin habe ich dann im frmDeckblatt den Steuerelementinhalt auf Bildname umgestellt. Dann ging es auch.
Das Textfeld hatte ich praktisch nachgebaut wie ich es in der alten DB hatte. Also das war reines copy Problem.
Merci dafür.
Gruß Andreas
Ja, die Backslashes. Ich hatte das aus deinem Beitrag kopiert weil ich zu faul zum Tippen war und da fehlten sie auch schon, merkwürdigerweise.
Aber wie gesagt, ich würde das so nicht lassen und das Startverzeichnis ebenfalls in einer Tabelle abspeichern.
Hi Maggie,
ZitatAber wie gesagt, ich würde das so nicht lassen und das Startverzeichnis ebenfalls in einer Tabelle abspeichern.
Hmmm, da scheine ich doch etwas nicht richtig zu verstehen, wenn du das sagst. In der tblVerlag ist lediglich das Verlagsverzeichnis fixiert, das stimmt wohl. Welchen Vorteil hätte ich noch durch umstellen, sprich den Pfad in eine Tabelle zu bringen? Wegen den Bezügen wie eben in dieser Anforderung, dass man weniger Klimmzüge machen müsste? Wenn ja, wie sieht die Lösung aus, dass man dann aber noch wie bei mir unterscheidliche Verlagsordner hat, den könnte man ja in der Tabelle mit definieren. Wie könnte das aussehen? Google ist da gar ncht ergiebig, wenn man z.B. nach "Bildpfad in Tabelle" sucht. Aber wie erwähnt, habe ich einen wirklichen Nutzeffekt, wenn ich das so umstellen würde?
Gruß Andreas
Hallo,
den Pfad in einer Tabbelle abzulegen hatte ich wieter oben schon mal vorgeschlagen. Hatte es aber wieder fallen lassen, da mir das für eine Heimanwendung ((und Einzelplatz) nicht notwendig schien. Aber es bietet natürlich auch Vorteile. So muss man nur den Tabelleneintrag ändern, wenn sich der Zugriffspafad mal ändern sollte. So muss man suchen, wo überall "W:\AccessDB\" verwendet wurde und muss es dann anpassen. Die einfache Anpassung wäre dann der Nutzeffekt. Allerdings, ist es ja so, dass der Eintrag aktuell nur in einer Abfrage benötigt wird.
Ich finde daher, Du kannst es auch so lassen.
Falls Du eine Tabelle verwenden willst, muss man den Eintrag mit DLookup aus der Tabelle holen, was im Prinzip natürlich auch kein Problem ist. Das ist aber in etwas der gleiche Programmieraufwand wie jetzt auch.
PS:
Ich habe noch eine neue Version in Arbeit. Darin wurde Serie und Verlag verbandelt (hat ganz andere Beziehungen zur Folge), kannst aber die Serie über den Verlag einschränken, außerdem noch die Geschichte mit den Schränken. Wird aber Sonntag.
Hallo,
jo ich werde wegen dem Pfad keine Änderung vornehmen, da ich aktuell auch den wirklichen großen Effekt wie auch zukünftig nicht sehen kann. Von daher passt mir das so. Wegen der neuen Version ist schon okay. Bis dahin Grüße aus der Pfalz
Andreas
Hi,
ich würde gerne noch eine zukünftige "Vorstellung" von mir ansprechen.
Das Quartett im Spiel ist ja aktuell fein und sehr praktisch gelöst. Wenn ich jetzt ein wenig weiter vorraus blicke, dann ist da noch der letzte Punkt, der zukünftig durchaus in Betracht kommen könnte. Die Dokumentation der Einzelkarte. Das Grundlegende Thema hierbei ist, dass man ja unterschiedliche Kategorien hat (Auto, LKW, Motorräder, Schiffe, Flugzeuge etc.), ergo auch viele unterschiedliche Werte. Als Beispiel für Werte wären da z.B.
(Kategorie Auto) PS, KW, Zylinder, km/h, Gewicht, Preis, Baujahr, (Kategorie Schiffe) BRT --> Bruttoregistertonnen, Knoten, Breite, Länge, Stapellauf, Besatzung, (Kategorie Flugzeuge) Schub, Spannweite, Gipfelhöhe, Reichweite....... und so liesen sich die Listen mit bis zu 20 Werte pro Kategorie weiterführen. Dies bedeutet doch, dass man hier etwas "dynamisches" einsetzen muss, was die Tabelle und deren Felder angeht, oder? Wie oder wo ist da der Ansatz in Access, solche Mengen an Datenfelder abzufangen? Muss man dann so etwas in einem Extraformular abwickeln, oder ist dies auch als Lösung mit Unterformular abzuwickeln wie ich es von euch in der Quartettlösung gezeigt bekommen habe? Wenn es hierzu ein Beispiel gibt, dann wäre ein Link dahingehend für mich von Interesse.
Gruß Andreas
ZitatAllerdings, ist es ja so, dass der Eintrag aktuell nur in einer Abfrage benötigt wird.
Nein, so ist es ja nicht. Der Pfad wird an mehreren - und zukünftig möglichrweise auch noch an weiteren - Stellen benötigt.
Hallo,
@MaggieMay
Ich denke, dass ich die DB kenne. Der Bilderpfad wird an einer Stelle (in der Abfrage für das Hafo) zusammengebaut. Und dieses eine Feld wird im weiteren Verlauf an verschiedenen Stellen verwendet. Aber nur in der Abfrage müsste geändert werden.
@Andreas
Die Doku einer Einzelkarte stellt kein Problem dar, das lässt sich mit 2 zusätzlichen Tabelle mit insgesamt 8 Feldern abdecken. Und trotzdem völlig dynamisch.
Eine Tabelle mit allen Eigenschaften (PS, Zylinder, Knoten usw. usw. völlig durcheinander), einem Feld für die Einheit (PS, KW, BRT) und einem Feld für den Fremdschlüssel für die passende Kategorie. Jede Eigenschaft eine Datensatz.
Dann eine Tabelle mit einem Fremdschlüssel zur Karte, einem Fremdschlüssel zur Eigenschaft und einem Feld für den eigentlichen Wert.
Bei Doppelklick auf eine Karte kann sich eine Formular öffnen, in dem man die Werte einträgt und auch sehen kann.
Null Probleme.
Hallo Klaus,
das hört sich mal wieder mehr "easy going" an wie ich es mir vorstellen kann, wobei ich natürlich noch nicht die "nur" 8 Felder in den 2 Tabellen einordnen kann wenn ich von Werten >200 rede. Aber ich bin mal gespannt. Das wäre wirklich der letzte Step in der DB, den ich gerne haben würde. Ich würde mich mal hinsetzen und einen Überblick zusammenstellen, von welchen Daten/Werte und deren Kategorie ich da spreche. Aber wie erwähnt, das wäre dann wirklich das sogenannte Sahnehäubchen für mich.
Sicherlich werden sich viele Fragen, was das soll. Aber heute ist soviel möglich mit OCR Sanning etc etc. Ich schneide ja die Einzelbilder meiner Spiele auch nicht per pedes einzeln in Gimp aus und mache sie transparent. Das basiert alles auf Shell Scripts. Ich muss lediglich scannen, da habe ich noch keinen Surrogate für. Wie sonst könnte ich den ~60000 Einzelkarten Herr werden :)? Dann ist es letztendlich nur noch ein Thema von Speicherkapazität. Dies widerrum ist heute kein Thema mehr, zum Glück.
Gruß Andreas
Halloo,
Zitatwobei ich natürlich noch nicht die "nur" 8 Felder in den 2 Tabellen einordnen kann wenn ich von Werten >200 rede.
8 Felder, egal ob 200 Felder, 500 oder 1000. Die Anzahl ist völlig wurscht, es bleibt immer bei den 8 Feldern in den 2 Tabellen.
Das ist einfach analog zu den Bildern.
PS:
Ich kann auch aus der Pfalz grüßen, wo kommst Du denn her (ungefähr) ?
Hi,
Rülzheim, bei Germersheim. Daher der Forumsname --> derilzemer ... äwe pälzisch :). Bin waschecht, also auch im Ort geboren, in den damaligen Geburtsstiften, die es von Ort zu Ort gab. Gehörte zu den letzten 5, welche 1964 da zur Welt kamen. Dann war Schluss ab 1965. Darauf bilde ich mir einfach mal was ein ;D.
Gruß Andreas
Hi,
in der letzten DB hatte ich mir ja im Hauptformular, welches auf der tblSpiele gründete, ein Feld Pruefdatum. Dies war in der tblSpiele hinterlegt. Damit habe ich zumindest immer gesehen, wann am aktuellen Datensatz zuletzt Änderungen vorgenommen wurden.
Dazu war lediglich noch ein Stück Code für das Formular notwendig.
Private Sub Form_BeforeUpdate(Cancel As Integer)
Me!Pruefdatum = Date
End Sub
Jetzt kann dies so ja wahrscheinlich nicht gehen, da ich ja auch mit Unterformularen im Formular arbeite (Quartette und Quartettbilder), oder bin ich da falsch in der Annahme? Ist da "lediglich" der Code anzupassen? Wenn ja, wie geht das.
Gruß Andreas
Hallo,
das wird durch die Ufos etwas aufwendiger.
Was ist das Prüfdatum, wann Du das letzte mal etwas geändert hast ?
Egal wo ?
PS:
Wir wohnen gerade mal 30 km auseinander, ich wohne bei Ludwigshafen.
@MzKlMu:
Zitat von: MzKlMu am Februar 14, 2015, 00:18:14Ich denke, dass ich die DB kenne.
Auch ich kenne die DB und wie erst kürzlich (Februar 13, 2015, 17:20:23 (http://www.access-o-mania.de/forum/index.php?topic=20084.msg111822#msg111822)) festgestellt wurde, fehlte (u.a.) dieses "Stammverzeichnis" beim Öffnen des Bildes im Zoom-Formular. Daher sehe ich hier durchaus den Bedarf, die Konstante aus den Abfragen herauszunehmen und die Zusammensetzung des Bildpfades komplett variabel zu halten.
Hi Klaus,
da ich heute morgen (03:45-09:30) einen Change in der Firma in KA hatte, gingen gestern abend früh die Lichter aus bei mir und ich habe auch die Kiste früh gekillt :)
Das ist ja wirklich nicht weit auseinander, da könnte man wirklich mal ungezwungen einen Schoppen zusammen trinken :).
Ja, wenn ich an einem Datensatz was ändere (entweder den Spieldaten, den Quartett oder KArtendaten zu einem Spiel), dann habe ich mir ein Prüfdatum setzen lassen. Das kann natürlich auch Letzte Änderung heißen statt Prüfdatum, wie auch immer. Immer mal wieder macht man ja Bestandsprüfungen bei Sammlungen etc. dann hat das eben Sinn gemacht. Ich dachte mir dann, da ja die tblQuartette und tblQuKarten eine Beziehung haben über FK zur tblSpiele, dass es dann in der tblSpiele wohl zu setzen sein muss und es eventuell ausreichen würde. Aber wohl eher nicht.
Gruß Andreas
Hallo,
mal noch eine Frage, in Deiner Version 05 gab es ein Formular Deckblatt (mit einem Bild), was hat das für einen Sinn/Aufgabe? Das habe ich nicht ganz verstanden.
Hi,
wenn du jetzt auf ein Bild doppelt klickst, dann macht er das Bild auf, in eben diesem Formular. Häng dir einfach mal ein Bild rein zu einem Spiel, dann klick es doppelt. Dann sollte sich das Formular in Kartengröße öffnen. Ich meine ich habe die funktionale Version hochgeladen, da ich ja kurzfristig Probleme damit hatte. Ich hab sie noch mal angehängt.
Gruß Andreas
Hallo,
im Anhang mal eine neue Version (06).
Ich das mit dem Lagerplatz eingebaut.
Die Schubladen selbst habe ich in 4 Reihen eingeteilt (A-D) und dann eine Platznummer. Man wählt zunächst den Schrank, dann die Reihe, dann die Schublade (in dieser Reihenfolge) und trägt dann die Schubladenreihe (per Kombi) und die Platznr ein. Auch umlagern muss man über diese Kombis machen. In die Felder (Aktuell) kann nichts eingetragen werden.
Scheint mir eine komfortable und brauchbare Lösung zu sein. Probiere es aus.
Auch die Kartendoku habe ich mal eingebaut.
Dazu gibt es eine Tabelle mit allen möglichen Merkmalen mit einem Fremdschlüssel für welche Kategorie gültig. Diese Tabelle kannst Du um beliebige viele Einträge erweitern (können 100erte werden. Kannst Du völlig durcheinander eintragen wie es Dir gerade einfällt. Kategorie nicht vergessen.
Wenn Du im Ufo wo die Einzelkarten eingetragen werden das Feld mit der gewünschten Kartennr doppelt klickst, öffnet sich ein neues Formular in dem Du die für diese Karte gültigen Merkmale auswählen kannst. Es werden nur die Merkmale angezeigt, die zur Kategorie passen. Die entsprechende Einheit wird automatisch angezeigt. Einfach noch den Wert eintragen. Alle Felder bei denen eine Doppelklickaktion ausgelöst wird, versehe ich immer mit einem roten Rahmen. Das wird dann deutlicher.
Du kannst zu jeder Karte beliebig viele Merkmale erfassen mit den passenden Werten.
Die Kombination Verlage zu Serie habe ich auch geändert. Du musst erst den Verlag wählen, dann die Serie. Es werden nur die Serien angezeigt die zum Verlag gehören. Sowohl für Verlag als auch für Serie gibt es den Eintrag ,,ohne" mit jeweils der ID 0.
Der Verlag ist bei den Spielen nicht mehr notwendig, der ergibt sich automatisch über die Zuordnung der Serie.
Es empfiehlt sich, für die Kombinationen Verlag-Serie ein extra Formular zu machen. Im einem Hafo der Verlag und im Ufo die Serien zuordnen,
Ein extra Formular ist auch für die Erfassung der Merkmale sinnvoll. Also ein Formular mit der Tabelle ,,tblMerkmale" in der alle Merkmal stehen.
Das Startformular habe ich etwas geändert. Statt der Tabelle für die Spiele verwende ich jetzt die gleiche Abfrage wie für das Erfassungsformular. In die dieser Abfrage wird der Bilderordner ermittelt. Es ist ja nicht notwendig den noch mal zu ermitteln. Damit hast Du den zentralen Pfad an einer Stelle. Was die Wartung erleichtert. Im Moment sehe ich nach wie vor keine Notwendigkeit den zentralen Pfad in einer Tabelle abzulegen.
Wenn die Tabellen mal fertig sind, solltest Du über eine Aufteilung der DB in Backend (nur die Tabellen) und Frontend nachdenken. Das bietet den Vorteil, dass man an einem Frontend beliebig weiter entwickelt und dann einfach das Frontend tauscht. Damit sind die Daten wieder aktuell bzw. unverändert.
Das macht aber nur Sinn, wenn die Tabellen fertig sind.
Ich hoffe, ich habe alles erwähnt.
Bei Fragen, bitte melden.
Hallo,
ich habe oben eine geänderte DB hochgeladen, hatte noch einen Fehler entdeckt. Falls schon runtergeladen, bitte noch mal runterladen.
Hi,
hmmm, also 1-2 Sache poppen noch als "Fehler?!" auf. Wenn ich zu einem bestehenden Datensatz, Beispiel ID1317, die Serie zuordnen möchte auswähle (da steht aktuell ohne), dann steht in der Fussleiste
>>Das Steuerelement kann nicht bearbeitet werden; Es ist an das AutoWert-Feld 'SerieVerlagID' gebunden.<<
Weiterhin, wenn ich ein Spiel umlagern will, z.B. ID1, dann geht das Fensterchen Parameter eingeben auf
Formulare!frmErfassung!frmErfassungUfoLagerPos.Form!cboSchrank, nach Bestätigung noch
Formulare!frmErfassung!frmErfassungUfoLagerPos.Form!cboReihe. Er übernimmt dann zwar die Zahl, aber beim nächsten Feld Reihe das gleiche, wobei ich da keinen Wert auswählen bzw. eintragen kann.
Das mit den Kartendaten habe ich mal versucht, sieht ja schnieke und funktional aus :). Einen Eintrag löschen muss man dann einen Button einbauen wie im BildUFO? Wenn das obere gefixt ist, werde ich mal herumspielen mit diversen Datensatzaktionen.
Gruß Andreas
Hallo,
zur Serie, sorry, da hatte ich einen falschen Steuerelementinhalt drin. Ändere bitte, siehe Bild.
Den Fehler beim Umlagern kann ich nicht nachvollziehen, habe ich nicht. Du musst auch beim Umlagern immer alle Felder von Links nach rechts wählen. Schrank > Reihe > Schublade.
Hi,
schau dir das mal das kleine Video an. Das hat 7 MB, ist ein mp4 file, der sollte mit dem vlc oder Windowsplayer gehen. ich hoffe das hilft ein wenig.
http://quartettportal.de/filme/Aufnahme_Schrankauswahl.zip (http://quartettportal.de/filme/Aufnahme_Schrankauswahl.zip)
Ich denke mal ich mache es nicht falsch vom Ablauf her.
Gruß Andreas
Hallo,
anbei mal eine neue Version (Die Version habe ich nicht hochgezählt). Ich glaube die neueren Access Versionen haben ein Problem mit Formularbezügen in Abfragen. Ich habe daher das mal auf VBA Zuweisung der Datenherkünfte der Kombis umgebaut. Ist ohnehin die technisch bessere Lösung.
Bitte probieren.
Geht das mit Serien jetzt ?
Hi,
ich versuch dass mal wenn ich heute abend zuhause bin. Wegen den Serien das geht jetzt. Kaum macht man es richtig ;).
Gruß Andreas
Hallo,
ich habe noch mal was geändert, bitte noch mal herunterladen.
Hast Du die Kartendoku mit den Merkmalen mal getestet ?
Hi,
okay, Schrank ein oder umlagern geht. Einzig wenn man umlagert und zum Schluss dann die Position neu definiert und mit TAB das Feld verlässt oder den Cursor anders platziert, dann verschwinden alle Werte erst einmal. Wenn ich den Datensatz verlasse und danach wieder aufrufe, dann sind die Werte aber so wie sie eingegeben wurden. Refresh Problem?
Die Kartendoku habe ich mal aufgerufen. Ich steig da durch. Aber das ist schon ein Konstrukt muss ich sagen. Das ist alles fein atomisiert (sagt man doch so, oder) und jetzt seh ich mal, was Normalisierung bedeutet. Sein wir mal ehrlich, das kann man doch als Anfänger nur auf die Schnauze fliegen. Auch mit lies mal das, dann verstehst du schon warum und machst mal by the way eine DB....naja. Da sind noch so die eine oder andere Frage für mich offen.
- Es gibt einen Bericht (Beziehungen für Quartett_05), das scheint mit nur ein Test zu sein? Da wolltest du mal sehen, wenn man komplette Daten für ein Quartett suchen will, oder? Ich sehe im BAM, dass da ein Beziehungskonstrukt drin ist.
- Wenn ich das frmKartenMerkmale im BAM öffne, dann ragt in das Textfeld Einheit ein Textfeld QuKartenID rein. Die Daten des Feldes kommen von QuKartenID_F. In der Formularansicht sehe ich das Feld nicht. Was bezweckt das Feld genau?
- Im frmKartenMerkmale und in frmErfassungUfoQuart, kann ich mir doch einen Button zum löschen eines Datensatzes setzen im Stile von dem im Bildformular erstellen. Den VBA Text muss ich entsprechend anpassen, oder? Im Quartettformular habe ich es zumindest versucht und es hat geklappt. Beim Kartenmerkmal frm bin ich unsicher.
- Im frmErfassung ist das Feld Verlag beim ersten hinschauen ein Kombifeld. Aber beim 2. schauen sieht man, dass es ein Textfeld und ein Kombifeld ist. War das wegen der Serienfunktion? Anhand der Steuerelemente sehe ich schon, dass sie andere Zuordnungen haben, Verlag und VerlagID_F.
- Im frmErfassungUfoLagerPos ist im Code eine Befehl1_Click hinterlegt. Den kann ich nirgends finden. Altlast vom testen? Den würde ich entfernen, sonst wirft der irgendwann Fragen auf. Alles andere habe ich in den Formularen mit Sprechenden Namen versehen und im Code entsprechend angepasst. Der Befehl1_Click ist "übrig" bzw. nicht zuzuordnen ;).
- And last but not least. Kann ich im frmErfassungUfoLagerPos die Sprung Reihenfolge ändern nach meinem Gusto? Normal geht das ja und ich habe auch nirgends im Code gesehen, dass da was als Vorgabe hinterlegt ist, oder?
Gruß Andreas
Hallo Andreas,
- mit dem Umlagern muss ich mir mal in Ruhe zu Gemüte führen.
- Zur Normalisierung: Je mehr man sich zur Normaliesierung überlegt, um so einfacher wird die DB. Das mit den Kartenmerkmalen ist ein typisches Beispiel wie man die Sache falsch angehen kann. Man denkt zunächst in Excel und macht für jedes Merkmal ein Feld und denkt dann bei 100 Feldern halt, das kann ja nicht gehen. Und wie Du siehst, teilt man das Ganze in 2 Tabellen, macht aus den Feldern Datensätze in einem Feld und verknüpft über eine weitere Tabelle mit der Quartettkarte. Und da wurden aus mehr als 100 Feldern dann gerade mal 8 Felder in 2 Tabellen. Und was das tollste ist an der Sache, das ändert sich nie, egal wie viele Merkmale es noch gibt. Du kannst mit nahezu 100% iger Wahrscheinlichkeit annehmen, dass wenn jemand schreibt er hat viele Felder ist das Datenmodell falsch. Und bei extrem sowieso. ;D
- Den Bericht kannst Du löschen, den hatte ich mir ausgedruckt, damit ich während der Entwicklung die Beziehungen vor Augen hatte.
- das Feld QuKartenID_F wird mit dem Fremdschlüssel zur Karte als Standardwert gefüllt. Wird über Openargs gemacht (im Code nachsehen) damit bei einem neuem Merkmal dieses der richtigen Karte zugeordnet wird. Das Feld ist notwendig aber auf unsichtbar eingestellt. Lasse es einfach mal anzeigen, dann siehst Du was drin steht.
- Das mit dem Löschbutton sollte klappen.
- Das Textfeld für den Verlag machst Du mal etwas kleiner und schiebst es zu Seite. Das Kombi machst Du wieder breiter und schaust mal ob das alles stimmt. Die Serie und Verlag beeinflussen sich gegenseitig. Da bin ich unsicher ob das Kombi immer den richtigen Verlag anzeigt.
- den Befehl kannst Du löschen. Ich habe gelegentlich auch Namen angepasst, da kann etwas überflüssig geworden sein.
- Was verstehst Du unter Sprungreihenfolge ?
- And last but not least, was verstehst Du unter BAM ?
Hi,
umlagern geht ja, ist ja wahrscheinlich nur ein "refresh" Thema, aber nicht primär wichtig was die Funktionalität angeht.
BAM, sorry dafür, Bearbeitungsmodus richtigerweise Entwurfsansicht :(. Ich verwende es nicht mehr im Sprachgebrauch, versprochen.
Sprungreihenfolge=Aktivierungsreihenfolge.
Wegen dem Zusammenspiel Verlag Serie ist mir aktuell noch keine Ungereimtheit aufgefallen. Bis jetzt passt das mal alles.
Ob ich das Thema noch mit Rückseitenmotiv als extra Tabelle mit aufnehmen soll bin ich mir nicht mehr sicher. Du hast dazu mal was geschrieben. Dazu muss ich den Thread noch einmal durchgehen und lesen.
Ich werde mal das eine oder andere im Formular jetzt verschieben nach meinem Gutso, dann werde ich mal die Daten übern ehmen und dann schauen wir mal. Aber ansonsten ist das genau das was ich wollte. So Feintuning Krims Krams, das kann dann mal als Addon dazukommen wie z.B. Prüf bzw. Änderdatum eines Datensatzes etc. Basis bzw. Datenmodell ist vor allem richtig, das wollte ich haben. Dafür bin ich auch dankbar um den Status aktuell.
Apropos Datenmodell.
ZitatWenn die Tabellen mal fertig sind, solltest Du über eine Aufteilung der DB in Backend (nur die Tabellen) und Frontend nachdenken. Das bietet den Vorteil, dass man an einem Frontend beliebig weiter entwickelt und dann einfach das Frontend tauscht. Damit sind die Daten wieder aktuell bzw. unverändert.
Das macht aber nur Sinn, wenn die Tabellen fertig sind.
Okay, ist der Vorgang komplex, das Trennen von Front & Backend? Der Sinn ist mir klar, hab nur keine Vorstellung, was das trenen angeht wie es vor sich geht.
Gruß Andreas
Hi,
Zitathab nur keine Vorstellung, was das trenen angeht wie es vor sich geht.
dafür gibt es in Access einen Assistenten.
Unter >=A2010 vermutlich im Ribbon "Datenbanktools".
Hi,
danke. In der Tat, da gibt es unter Datenbanktools --> Access-Datenbank. Ein Assi der dann die Teilung durchführt. Aber wie Klaus schon sagt, dazu muss ich erst mal final sein was die Tabellen angeht. Weit weg davon bin ich wahrlich nicht mehr, kann es noch gar nicht glauben. Dann schauen wir mal. Eine Kopie erstellen und dann mal schauen was Access daraus bastelt.
Gruß und GN8
Andreas
Hallo,
ZitatOb ich das Thema noch mit Rückseitenmotiv als extra Tabelle mit aufnehmen soll
was meinst Du damit, ist da ein Bild der Rückseiten der Karten ? Oder was sonst ?
Hallo Klaus,
ja, es sind Motive diverser Art und allesamt Verlagsspezifisch. Insofern ist es in seiner Anlage wie die Serie. Die Rückseite abbilden kann ich ja über das Bilderformular, aber so Beschreibung welches Motiv welches Spiel hat, das werde ich wohl aufnehmen. Ich muss nur die Motive noch namentlich definieren, dazu gibt es Vorgaben.
Eine Frage zur Optiosgruppe im Bilderformular. Ich finde es nicht heraus, wie ich das Hochformat Optiosfeld als Standard aktivert einstellenkann. Ich meine fast, das kann man nur beim erstellen mit dem Assi, oder? Ich hab mal schnell eine gemacht, aber ich sah da kein Feld in den Eigenschaften, welches mir einen Hinweis auf diesen Wert gab :(.
Aktuell habe ich sie soweit für meinen "Look & feel" angepasst. Bin gerade dabei die tblMerkmale zu ergänzen für die Kartenwerte, dann lade ich mal die aktuelle Version hoch.
Gruß Andreas
Hi,
ich hab mal die aktuelle angehängt. Aktuell kann ich keine Funktionsstörungen feststellen. Einzig das Thema mit dem refresh mit der Einlagerung und im Bilderformular. Das kannst du ja selbst mal nachvollziehen. Wenn du eins eingibts, dann siehtst du, dass die Werte erst nach dem man raus und wieder in den Datensatz reingeht sichtbar werden. Prüf bzw. Änderungsdatum. Das wären so 3 Punkte, welche aber in ihrer Relevanz bzw. prio nicht die Funktionalität der DB in Frage stellen und somit "nice to have" Charakter haben.
tblMerkmale muss ich fertig machen und das mit dem Rückseitenmotiv muss ich jetzt in den nächsten Tagen mal zusammenstellen, von wieviel ich rede. Aber rein von der Konstellation, ist es gerade egal wieviele Motive das sind. Die Tabelle wird sein wie die der Serie. Dann muss ich mir noch einmal das Konstrukt anschauen, wie du das in Verbindung mit dem Verlag gebaut hast und eben versuchen das genau so zu konstruieren.
Eins noch. Wie du dir sicherlich vorstellen kannst, gibt es in meinem Sammelgebiet sehr viele Dupletten. Zumeist unterscheiden sich im Spiel nur wenige Werte wie das Deckblattbild, oder ein Wert in einem 32 Karten Spiel. Von daher ist die Nutzung einer Datensatzduplikation nahe liegend oder anzustreben. Ist so eine Duplizierung aufgrund der Ufo Konstellation wie sie in meiner DB gegeben ist realisierbar?
Gruß Andreas
Hi,
noch mal zu den Rückseiten, das habe ich immer noch nicht richtig verstanden. Kannst Du das mal für einen völlig ahnungslosen noch mal erklären. Sind das Bildmotive oder ist das nur eine Beschreibung der Rückseite. Und einer einzelnen Karte oder der Verpackung. Ich blicke da (noch) nicht durch.
Den Standardwert einer Optionsgruppe kannst Du auch nachträglich einstellen. Du musst dazu den Rahmen der Gruppe klicken, dann kommst Du über die Dateneigenschaften an den Standardwert. Der gilt natürlich nur für neue Datensätze. Den Standardwert kannst Du auch in der Tabelle direkt setzen.
Duplizieren eines Datensatzes ist natürlich auch möglich. Was willst Du alles kopieren, ein Spiel und alle Unterdaten dazu ?
Die restliche Sachen (Einlagern/Umlagern) heute Abend oder Morgen.
Hallo Klaus,
okay den Standard des Optionsfeld habe ich eingestellt, passt jetzt. Das Standardformat ist Hochformat, deshalb kann das default mal so eingestellt sein. Was hat es mit dem Rückseitenmotiv auf sich? Also schau mal hier nach http://quartettportal.de/producer/db/rsmotive.htm (http://quartettportal.de/producer/db/rsmotive.htm). Das sind exemplarisch für 3 Verlage mal von 5 Spielen die Rückseiten zu sehen. Prinzipiell ist der Aufbau dann wie mit den Serienbezeichnungen. Deshalb glaube ich auch, dass der Lösungsansatz auch dergleiche sein kann.
ZitatDuplizieren eines Datensatzes ist natürlich auch möglich. Was willst Du alles kopieren, ein Spiel und alle Unterdaten dazu ?
Ja, wenn dann den kompletten Datensatz samt Unterdaten.
Gruß Andreas
Hi,
ich hab jetzt mal meine Daten übernehmen wollen. Beim Import macht er auch alles korrekt ohne jeglichen Fehler, 2138 Datensätze. Wenn ich jedoch ins Formular frmErfassung gehe, dann zeigt er mir immer noch nur die 36 Datensätze an, welche drin waren. Vor dem Import habe ich alle Datensätze in der tblSpiele gelöscht. Die offene, jetzt aber leer tblSpiele habe ich dann mit Datenbank komprimieren und reparieren geschlossen. Damit setzt er ja auch alle Keys zurück.
Aufgrund der referentiellen Integrität und der Löschweitergabe an verwandet Datensätze, sollten auch keine Datensätze mehr vorhanden sein. Stichprobenprüfungen haben dies auch bestätigt. Wenn ich jetzt die qryfrmErfassung aufrufe und ausführe, dann findet er tatsächlich nur die 36 Datensätze. Ich versteh einfach nicht warum :(. Da hat sich doch nichts geändert. Vermuten würde ihc mal, dass es an dem SerieID_F Feld hängen könnte, da darüber der Verlag und dei Serie gesteuert ist. Aber warum zum Kuckuck übernimmt er genau die 36 Datensätze, welche vor dem löschen in der tblSpiele waren? Gibt es doch noch Datenrückstände, welche ich nicht sehe? Wo ist jetzt schon wieder mein Denkfehler??
Gruß Andreas
Hallo,
wenn nicht alle Fremdschlüsselfelder der Spieletabelle gefüllt sind, werden nur die DS angezeigt in denen alle FS gefüllt sind. Bitte schaue Dir einfach mal die Tabelle mit den Spielen direkt an.
Noch eine Anmerkung, immer peinlich darauf achten, dass Du keine Originaldaten veränderst. Und gerade in der Entwicklung mehrfach Sicherheitskopien machen. Alle Importschritte müssen sich rückgängig machen lassen. Notfalls durch die Sicherheitskopie.
PS:
Bin ich Dir eigentlich noch Antworten schuldig, habe im Moment den Anschluss verpasst. Ich glaube das mit dem Einlagern/Umlagern war noch nicht erledigt, oder ?
Hi,
ich hatte meine Frage gerade ergänzt. Puh, da sehe ich das ganze aber als ziemlich schwierig an was Datenmübernahme angeht :(. Da müsste ich noch die Spalte SerieID_F befüllen, das war die einzigste, welche ich nicht befüllt hatte. Puh da muss ich jetzt mal schauen, was da geht.
Schade wenn du den Anschlus verpasst hast, auch wenn nicht viel passiert ist inzwischen, zumindest nicht von anderer Seite User aus. Ich habe lediglich hier und da für mich "Einstellungen" gemacht. So für das eine andere würde ich deine Unterstützung wahrscheinlich schon noch benötigen.
Gruß Andreas
Hallo,
ZitatSo für das eine andere würde ich deine Unterstützung wahrscheinlich schon noch benötigen.
kein Problem, Anschluss verpasst heißt ja nicht, dass man ihn nicht wieder findet.
Stelle also Deine Fragen.
Es werden nur die Keys zurückgesetzt, wo die Tabellen leer gemacht wurden. Es muss z.B. sichergestellt sein, dass auch die neuen Daten den Fremdschlüssel zum richtigen Händler haben. Hier muss eventuell erst mal mit einer Hilfsabfrage und einer Beziehung über den Händlernamen die richtige HändlerID in die neue Tabelle eingetragen werden. Das gilt sinngemäß für alle Fremdschlüsselfelder. Wahrscheinlich gibt es genau für die früher vorhanden 36 DS richtige (im Sinne von korrekt) Beziehungen was dazu führt, dass nur die 36 DS angezeigt werden. Hier bleibt Dir nichts anderes übrig als das DS für DS zu prüfen. Größer Datenanpassungen sind dann mit Aktualisierungsabfragen zu machen. Das korrekte übernehmen der alten Daten dürfte schon ein ziemlicher Aufwand werden, da musst Du durch.
Hi,
ja klar, werd ich machen wenn ich Fragen habe.
Das ist ziemlich ärgerlich, wenn ich mir vorstelle alle 2136 Datensätze so durchzugehen und zu schasuen wie wo was. Das kommt ja einem neu anlegen gleich :(. Hätte ich nur mal in der Entwicklungsphase 0.5 die Datensätze drin gelassen, dann wäre das "einfach" mitgewachsen bzw. zugeordnet worden.
Die 36 Datensätze die er hat, da stimmt die Zuordnung nicht mehr habe ich gesehen, von daher einfach nur Zufall, oder was auch immer. Boey, jetzt muss ich erst mal schauen. Ich dachte es geht, dass er die Datensätez übernimmt und man dann über das Formular nur noch den Verlag und die Serie ergänzt bzw. asuwählt und gut. Damit wäre ja schon viel gewonnen gewesen.
Gruss Andreas
Hi,
ich kann keinen neuen Datensatz anlegen, egal in welcher Version.
Okay, das hab ich wirklich noch nie gemacht, einen neuen in der DB Datensatz angelegt. Ich glaubs nicht :(. Ich habe deshalb die letzte von dir hochgeladene Version (0.6) noch einmal herunter geladen, da ich dachte ich hätte etwas bei mir verbogen. Aber, auch in der Version geht es schon nicht. Wenn ich jetzt zu den vorhandenen 36 Datensätzen einen neuen anlegen will, scheitert es schon bei der Auswahl des Verlages. Er zeigt die Liste an, aber, er lässt mich keinen auswählen. Man könnte was reinschreiben, also den richtigen Namen des Verlages, aber dann stehen die Serien wieder nicht zur Verfügung??
In der Version, welche ich jetzt angehängt habe, kann ich den Verlag auswählen, zeigt dann aber immer nur Ass an. In Serien werden aber die vom Verlag angezeigt, welchen man ausgewählt hatte. Aus der Warte heraus, habe ich dir jetzt mal die Version angehängt, ohne einen Datensatz drin. Sorry, da hab ich echt gepennt. Ich habe alles mögliche drin gemacht, aber echt keinen neuen Datensatz angelegt.
Gruß Andreas
Hallo,
ZitatHätte ich nur mal in der Entwicklungsphase 0.5 die Datensätze drin gelassen, dann wäre das "einfach" mitgewachsen bzw. zugeordnet worden.
das ist illusorisch, das hätte nicht geklappt. Das Datenmodell wurde ja komplett umgekrempelt. Du muss das auch nicht für jeden einzelnes Spiel machen, Du musst das per Aktualisierungsabfragen machen und die alten Namen verwenden um die Fremdschlüssel richtig zu schreiben. Dazu müssen Dir aber alle Zusammenhänge klar sein.
Ich werde mir morgen früh mal die Version 08 ansehen. Das kriegen wir schon hin, keine Sorge.
Moin,
hab hier gerade einen Change für die Firma laufen, der geht bis heute abend. Deshalb schreibe ich dir mal. Ich habe gestern abend noch die SerieID_F geprüft. Beziehungstechnisch läuft das ja alles über die tblSerieVerlag. Da ist die Spalte SerieVerlagID die relevante. Das passt auch alles mit den beiden VerlagID_F und SerieID_F. Ergo habe ich dann mal den Spielen die richtige "ID" (das sind ja die Werte aus der Spalte SerieVerlagID) in der tblSpiele im Feld Serie_ID_F für rund 200 Spiele zugewiesen. Er zeigt die Spiele dann auch an, aber irgendwie passt es dann nicht mit der Serienzuweisung. Im Feld Serie zeigt er immer nur die der Serie Ass und zwar die ID 2, Blitztrumpf '77 an. Alles hängt irgendwie mit der ID 2 zusammen. Beispiel in der DB ist Datensatz Spiel ID 8, das wäre Bielefelder, also ID 5 was den Verlag angeht, aber es ist Ass, ID 2 also. An solch einem Datensatz kann man auch nicht die Serie oder den Verlag ändern, geht nicht. Datensatz SpielID 24 passt, da zeigt er auch die Serie richtig an. Vielleicht hilft das beim suchen.
Gruß Andreas
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.
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
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
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
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 (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
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 ?
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
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
Hallo,
du könntest bspw. ein Textfeld mit folgendem Steuerelementinhalt hinzufügen:
=DomAnzahl("*";"tblKartenMerkmale";"QuKartenID_F=" & [QuKartenID])
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 (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
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.
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
Ich denke, das Aktualisieren sollte beim Schließen des Eingabeformulars passieren.
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
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
Hi,
ja weil ich der Meinung war, daß sich ja das frmErfassungUfoQuartUfoKarten zu aktualisieren habe. Das frmKartenMerkmal waren die Daten ja nach Eingabe sichtbar aktuell. Aber da fällt es mir oftmals schwer die Zusammenhänge zu begreifen :(. Einfach ist anders für mich, leider. Ich habe jetzt noch für das Formular frmErfassungUfoQuartUfoKarten unter Ereignis "Beim Schließen" den Code Private Sub Form_Close()
Forms!frmErfassung!frmErfassungUfoQuart.Form!frmErfassungUfoQuartKarten.Form.Requery
End Sub
hinterlegt. Es fand keine Aktualisierung statt. Auch hier hätte ich das rein von der Logik aus im Ereignis "Bei Geändert" gesehen, da sich doch das Formular nicht wirklich schließt. Das schließt ja erst, wenn ich das Formular frmErfassung schließe. Das habe ich dann mal versucht. Naja, beim lesen wirst du schon den Kopf geschüttelt haben, was ich nach dem versuchen festgestellen musste. Ergo, es geht nicht.
Gruß und Gute Nacht
Andreas
PS: Bei dem hinterlegten Textfeld zur Erkennung ob Werte eingetragen sind, was muss man da tun, damit er bei leeren Feldern
nicht #Fehler
(http://quartettportal.de/bilder/fehler.jpg)
erscheint? Da muss man doch noch was wegen Null Werten im Code ergänzen, oder?
Hallo,
ZitatPS: Bei dem hinterlegten Textfeld zur Erkennung ob Werte eingetragen sind, was muss man da tun, damit er bei leeren Feldern
nicht #Fehler
so wie ich das sehe must du hier die NZ Funktion nutzen.
Nz([dein_Feld],0)
Probiere das mal, kann aber evtl. auch falsch sein.
Hi,
Zitat von: derilzemer am Februar 25, 2015, 00:00:40Ich habe jetzt noch für das Formular frmErfassungUfoQuartUfoKarten unter Ereignis "Beim Schließen" den Code Private Sub Form_Close() Forms!frmErfassung!frmErfassungUfoQuart.Form!frmErfassungUfoQuartKarten.Form.Requery
End Sub
hinterlegt.
das ist überflüssig, beim Schließen aktualisieren sich die daten automatisch, außerdem sieht das dann ja keiner mehr. ;-)
Wie gesagt sollte die Aktualisierung beim Schließen des Eingabeformulars für die Merkmale ("frmKartenMerkmal") stattfinden, denn das ist der Zeitpunkt wo du zum Erfassungsformular ("frmErfassung") zurückkehrst und den veränderten Zustand der Quartettkarten gerne sehen möchtest.
Zitatwas muss man da tun, damit er bei leeren Feldern nicht #Fehler erscheint?
Das lässt sich folgendermaßen lösen:
=DomAnzahl("*";"tblKartenMerkmale";"QuKartenID_F=" & NZ([QuKartenID];0))
Mit "#" als Formateinstellung des Textfeldes machst du die so erzeugte 0 unsichtbar.
Hi,
Zitat
so wie ich das sehe must du hier die NZ Funktion nutzen.
Nz([dein_Feld],0) Probiere das mal, kann aber evtl. auch falsch sein.
das hätte schon gepasst. Dein Vorschlag wurde ja bestätigt, deshalb auch dir danke.
Gruß Andreas
Hi,
Zitat
Wie gesagt sollte die Aktualisierung beim Schließen des Eingabeformulars für die Merkmale ("frmKartenMerkmal") stattfinden, denn das ist der Zeitpunkt wo du zum Erfassungsformular ("frmErfassung") zurückkehrst und den veränderten Zustand der Quartettkarten gerne sehen möchtest.
......Okay jetzt habe ich das auch richtig platziert. Ich hatte ....
ZitatDas Aktualisieren des anderen Formulars sollte beim Schließen des Eingabeformulars passieren. Das wäre das Close-Ereignis.
völlig fehlinterpretiert :(. Dachte ich muss im anderen Formular zusätzlich eine Ereignis platzieren :(. Hab es jetzt korrekt gesetzt und es passt.
ZitatDas lässt sich folgendermaßen lösen:=DomAnzahl("*";"tblKartenMerkmale";"QuKartenID_F=" & NZ([QuKartenID];0))
Mit "#" als Formateinstellung des Textfeldes machst du die so erzeugte 0 unsichtbar.
Auch das funktioniert (ich weiss, das war dir klar :) .....). Danke für die Erklärung.
Gruß Andreas
Hi,
da hätte ich noch ein Thema zum aktualisieren bei Eingabe. Im gleichen Formular wie zuvor beschrieben habe ich ja die Möglichkeit Quartette einzugeben. Das ist auch nötig um später die Kartenmerkmale hinterlegen zu können. Dazu nutze ich die Schaltfläche Quartett hinzufügen im frmErfassungUfoQuart. Dann gebe ich die Quartett KZ ein und los geht es mit der Eingabe der 4 Einzelkartzen des Quartetts. Habe ich das getan und möchte ein weiteres Quartett hinzufügen, dann bleibt das Listenfeld lstQuartettAuswahl noch leer, auch wenn ich weitere Quartette hinzufüge. Erst wenn ich den Datensatz wechsel, z.B. rein und raus gehe, dann ist lstQuartettAuswahl befüllt. Nun dachte ich, nimm einfach das Feld QuartettKZ und gebe über Ereignis --> Beim verlassen folgende Code ein
Private Sub QuartettKz_Exit(Cancel As Integer)
Me.lstQuartettAuswahl.Requery
End Sub
Es passiert nicht das von mir erwartete, dass er das Listenfeld aktualisiert und das zuletzt eingegebene Quartett dann anzeigt. Ich habe Alternativ das ganze auch bei Fokusverlust versucht, mit dem selben Ergebnis.
Was habe ich jetzt wieder nicht verstanden, bzw. muss ich ändern?
Gruß Andreas
Hallo,
Exit ist hier nicht das geeignete Ereignis, statt dessen wäre auf das Ereignis zu reagieren, das beim Speichern eines neuen Datensatzes stattfindet.
Hi,
ZitatExit ist hier nicht das geeignete Ereignis, statt dessen wäre auf das Ereignis zu reagieren, das beim Speichern eines neuen Datensatzes stattfindet.
Beim Speichern, da würde mir adhoc dazu einfallen, dass ich die Schaltfläche "Quartett hinzufügen" mit dem Requery belegen wollte. Das habe ich verworfen, weil ich dachte, der ist doch schon mit einer Klick Aktion belegt. Das muss man mir nachsehen, da ich keine Ahnung von VBA habe, wusste ja nicht wie man so etwas ergänzen kann/soll/darf. Ich habe das Ereignis einfach ergänzt und es geht. Manchmal :-\
Private Sub cmdQuartettNeu_Click()
On Error GoTo Err_cmdQuartettNeu_Click
[b]Me.lstQuartettAuswahl.Requery[/b]
DoCmd.GoToRecord , , acNewRec
Exit_cmdQuartettNeu_Click:
Exit Sub
Err_cmdQuartettNeu_Click:
MsgBox Err.Description
Resume Exit_cmdQuartettNeu_Click
End Sub
Danke.
Gruß Andreas
Hallo,
Zitat von: MaggieMay am Februar 26, 2015, 23:11:48statt dessen wäre auf das Ereignis zu reagieren, das beim Speichern eines neuen Datensatzes stattfindet.
und das wäre das Formularereignis "Nach Aktualisierung".
Nachtrag:
Aber das aktualisiert sich doch bereits scheinbar ganz von allein. ?
Hi Maggie,
Zitat
Aber das aktualisiert sich doch bereits scheinbar ganz von allein. ?
bevor ich diesen Zusatz nun gemacht habe nicht. Zuvor erhielt ich erst die Aktualisierung, wenn ich den kompletten Datensatz gewechselt habe, also raus und rein. Dann sah ich erst das oder die angelegten Quartette. Jetzt sehe ich sie, sobald ich die Schaltfläche anklicke.
Das Thema mit dem refresh scheint irgendwie ein allgemeines in Access zu sein.
Wenn ich z.B. einen neuen Datensatz anlege, Dann wähle ich im ersten Schritt den Verlag aus, den er auch anzeigt. Dann Tab --> ins Feld Spiel Titel und schwups, das Feld Verlag ist leer. Erst wenn ich dann ins Feld Serie komme (Reihenfolge Nr.4) und die entsprechende Serie ausgewählt habe und auch das Feld verlasse, zeigt er den Verlag wieder an. Woran liegt das? Das Feld Verlag und Kategorie haben ja eine Abhängigkeit. Nach Auswahl des Verlages stellt das Feld Serie aktualisiert und stellt nur noch die Verlagsspezifischen Serien zur Verfügung. Ich denke mal das Verhalten geht damit einher. Aber wo da der Haken drin ist, da bin ich doch überfragt, auch wenn ich mir in meinem Forumsprofil mittlerweile wohl den Status Access-Profi "erschrieben" habe :-[.
Gruß Andreas
Hallo Andreas,
ZitatDas Thema mit dem refresh scheint irgendwie ein allgemeines in Access zu sein.
ich denke das ist nur die Frage, den richtigen Befehl zur richtigen Zeit einzusetzen.
ZitatDann Tab --> ins Feld Spiel Titel und schwups, das Feld Verlag ist leer.
Das ist nicht normal, fragt sich, was du im Hintergrund machst.
Und das mit der Aktualisierung des Listenfeldes hat ja auch schon mal geklappt.
Du kannst ja mal deine aktuelle Version hochladen, dann kann man dir bei der Ursachenforschung helfen.
Hi,
ich habe die DB mal angehängt mit abgespecktem Datenbestand. Eines muss ich noch dazu sagen. Das Feld cboVerlagID überlagert das Feld Verlag. Das hat Klaus wegen der Abhängigkeit so gemacht, wenn ich es richtig verstanden habe.
Ich denke mal das ist nichts großes. Ich habe gedacht ich kann das lösen wenn ich es aus der Reihenefolge nehme, aber das geht nicht, weil ich dann die Verlage nicht mehr auswählen kann und die Serien nicht mehr eingeblendet werden. Wäre auch zu einfach gewesen :(.
Gruß Andreas
Hallo,
das Kombi zur Auswahl des Verlages muss in den Vordergrund. Das kann man über das Formatmenü einstellen. Kombifeld markieren > In den Vordergrund.
Dann bleibt der Inhalt sichtbar.
Oder: Hintergrundart des Textfeldes auf Transparent stellen.
Kannst Du das andere Problem (wenn es noch eines gibt) noch mal beschreiben, sonnst müsste ich das alles noch mal lesen. Ich habe da nicht mehr so verfolgt.
Hallo Klaus,
schön von dir zu hören. Ich hoffe du bist nicht da nieder gelegen wegen der Grippe die da um geht.
Das ist ja schon wieder peinlich für mich die Lösung :(. Problem besteht kein aktuelles. Einzig die Sache mit der tblRSMotiv, also den Rückseiten, wo oder wie ich sie am geschicktesten einbinde, das ist als Thema "offen". Ansonsten sind die kleineren Sachen alle mit Hilfe von den anderen Forumslesern gelöst. Wenn du da noch mal zur Sache mit den Rückseitenmotiven deine Expertise geben könntest, das wäre super.
Gruß Andreas
Hallo,
nein, ich war nicht krank. Nur wenn andere Forumsteilnehmer an Lösungen arbeiten, halte ich mich meist zurück. Wenn ich nicht gerade Fehler erkenne und das ist ja bei MaggieMay relativ unwahrscheinlich. ;D
Am Sonntag bin ich wahrscheinlich zu Hause, da werde ich noch mal an die Sache mit den Rückseiten rangehen.
Hallo,
dann ist ja gut wenn es nicht auf der Gesundheit beruht, dass du nicht "anwesend" warst Ich habe die DB noch mal hochgeladen 2-3 Threads zurück. Die ist jetzt aktuell, 09.1. Dann bis dahin mal.
Gruß und schönes Wochenende
Andreas