Datenbank mit Access 2007

Hallo

Ich trau mich gar nicht zu fragen, aber ich wollte ganz gerne eine Datenbank mit MS Access 2007 machen.

Ich habe bereits eine ganz einfache erstellt und kenne mich jetzt zumindestens ein wenig mit der Oberfläche aus.

Was ich jetzt für mein nächstes Projekt bräuchte, wäre eine Datenbank mit mehreren Datenbanken, die dann halt miteinander verbunden sind.

Ich würde ja am liebsten Fragen, wie das geht, aber ich glaube, das wäre wohl zu viel des guten.
Stattdessen möchte ich eher wissen, ob das überhaupt möglich ist und vielleicht die Frage, nach welchen Begriffen ich Ausschau halten sollte, bzw. ob vielleicht sogar jemand eine gute Tutorial-Seite im Netz kennt. Ansonsten werde ich mir ein Buch kaufen, wobei ich da meistens zu ungeduldig bin, die 400 Seiten zu lesen, bis ich die 30 „gefunden“ habe, die ich wirklich brauche :smiley:

OK.

Ich möchte eine Spieledatenbank machen, in denen ich u.a die Preise bei Sales festhalten kann.
Dazu benötige ich (denke ich mal) eine Tabelle mit dem Spiel, dessen Genre, Wertung, Erscheinungsdatum usw.
Das Genre ist ja prinzipiell auch ein fester Wert (also z.B. Action, Rennspiel, Rollenspiel usw) und würde sich daher vermutlich auch als verknüpfte Tabelle anbieten.

Und dann eben die Preise. Dort eben der Spielename auf der sich der Preis bezieht (dieser verknüpft auf die ID des Spiels), der Preis und das Datum.

Ich denke mal, das diese Sache und die Beziehungen für mich „lösbar“ sind.

Was ich mich jetzt aber frage, ob es dabei möglich ist alle Daten in einem Formular gleichzeitig zu editieren?
Also ich gebe oben einen Spielnamen ein - dieser ist verknüft mit dem Spielnamen oder der Spiel-ID.
Wenn dieser vorhanden ist, wird dieser und seine Werte (Genre, Wertung usw) angezeigt.
Und wenn nicht wird ein neuer Datensatz angelegt und dieser kann gefüllt werden?

Aber wahrscheinlich geht das nicht, oder? Ich muß vermutlich erst das Spiel anlegen und dann den Preis und das aktuelle Datum… So denke ich es jetzt gerade jedenfalls von der Logik her.

Und die nächste Frage:
Wenn ich nun einige Preise habe (Wie gesagt, die sind bei den Sales ja immer günstiger, ich möchte halt einen Überblick haben, wann ein Spiel mal im Angebot und für wie viel Euro war), kann ich mir dann irgendwie ein Diagramm oder Liste anzeigen lassen, wenn ich jetzt z.B. ein Formular habe, dort ein Spiel suche werden unten die bisherigen Preise angezeigt, bzw. ein Diagramm, wie der Preisverlauf so war?

Wie gesagt. Man muß es mir nicht Wortwörtlich erklären (Wer es möchte, kann dies aber gerne tun), mich interessiert erstmal ob das überhaupt möglich ist und ggf. ein paar Begriffe nach denen ich im Netz oder im Programm ausschau halten soll.

Vielen Dank für die Antworten

Gruß
Taki

Hallo,

viel Prosa um’s Problem… :wink:

Ich trau mich gar nicht zu fragen, aber ich wollte ganz gerne
eine Datenbank mit MS Access 2007 machen.

Ich habe bereits eine ganz einfache erstellt und kenne mich
jetzt zumindestens ein wenig mit der Oberfläche aus.

Was ich jetzt für mein nächstes Projekt bräuchte, wäre eine
Datenbank mit mehreren Datenbanken, die dann halt miteinander
verbunden sind.

Damit meinst Du sicher: „eine Datenbank mit Tabellen darin, die miteinander in Beziehung stehen“.

Das ist bei einer Datenbank eh der „Normalfall“

Ich würde ja am liebsten Fragen, wie das geht, aber ich
glaube, das wäre wohl zu viel des guten.
Stattdessen möchte ich eher wissen, ob das überhaupt möglich
ist und vielleicht die Frage, nach welchen Begriffen ich
Ausschau halten sollte, bzw. ob vielleicht sogar jemand eine
gute Tutorial-Seite im Netz kennt. Ansonsten werde ich mir ein
Buch kaufen, wobei ich da meistens zu ungeduldig bin, die 400
Seiten zu lesen, bis ich die 30 „gefunden“ habe, die ich
wirklich brauche :smiley:

Die Seiten, die Du wirklich brauchst, sind die, die sich mit Normalisierung befassen.

Ich möchte eine Spieledatenbank machen, in denen ich u.a die
Preise bei Sales festhalten kann.
Dazu benötige ich (denke ich mal) eine Tabelle mit dem Spiel,
dessen Genre, Wertung, Erscheinungsdatum usw.
Das Genre ist ja prinzipiell auch ein fester Wert (also z.B.
Action, Rennspiel, Rollenspiel usw) und würde sich daher
vermutlich auch als verknüpfte Tabelle anbieten.

Naja, genau so… Für jeden zusammengehörenden „Datenblock“ (Attribute) ein separate Tabelle

Und dann eben die Preise. Dort eben der Spielename auf der
sich der Preis bezieht (dieser verknüpft auf die ID des
Spiels), der Preis und das Datum.

auch dies wäre ein zusammengehörender Datenblock.

Ich denke mal, das diese Sache und die Beziehungen für mich
„lösbar“ sind.

Na gut…

Was ich mich jetzt aber frage, ob es dabei möglich ist alle
Daten in einem Formular gleichzeitig zu editieren?

ALLE Daten in EINEM Formular zu editieren, wird wohl nicht gehen…

Also ich gebe oben einen Spielnamen ein - dieser ist verknüft
mit dem Spielnamen oder der Spiel-ID.

???
Was ist „oben“. Und womit verknüpft? Verknüpfen kann man

  1. Tabellen über ihre Schlüsselfelder (–> Beziehungen)
  2. Unterformulare/berichte über ihre (UFO-Steuerelement-) Eigenschaften „Verknüpfen von/nach“

Wenn dieser vorhanden ist, wird dieser und seine Werte (Genre,
Wertung usw) angezeigt.

Ok, siehe weiter unten im Beispiel.

Und wenn nicht wird ein neuer Datensatz angelegt und dieser
kann gefüllt werden?

Das kommt auf die Einstellungen der Eigenschaften der Formulare an, mit denen das bewerkstelligt werden soll.

Aber wahrscheinlich geht das nicht, oder? Ich muß vermutlich
erst das Spiel anlegen und dann den Preis und das aktuelle
Datum… So denke ich es jetzt gerade jedenfalls von der Logik
her.

So ist es, das kann aber in einer HFO/UFO-Konstruktion ohne größere Massnahmen geschehen.

Und die nächste Frage:
Wenn ich nun einige Preise habe (Wie gesagt, die sind bei den
Sales ja immer günstiger, ich möchte halt einen Überblick
haben, wann ein Spiel mal im Angebot und für wie viel Euro
war), kann ich mir dann irgendwie ein Diagramm oder Liste
anzeigen lassen, wenn ich jetzt z.B. ein Formular habe, dort
ein Spiel suche werden unten die bisherigen Preise angezeigt,
bzw. ein Diagramm, wie der Preisverlauf so war?

Das ist alles möglich. Vor der Verwendung eines Diagramms stehen aber funktionierende Formulare (mit dem Hintergrund richtig und vollständig angelegter Tabellen und ihren Beziehungen)

Beispiel:

tblSpiele
SPID (Primary Key , Autowert)
Sp_Name (Text)
Sp_HerstID (Zahl, Long, Foreign Key zu tblHersteller)
SP_GenreID (Zahl, Long, Foreign Key zu tblGenre)
.
.
.
tblSpielePreise
SpPrID (PK, Autowert)
SpID (Zahl, Long, Foreign Key zu tblSpiele)
Sp_Preis (Währung)
SP_Datum (Datum/Uhrzeit)
.
.

tblGenre
GenreID (PK, Autowert)
Genre_Bezeichnung (Text)
.
.
.

tblHersteller
HerstID (PK, Autowert)
Herst_Name (Text)

Zu jeder Tabelle ein Formular.

Formular für tblSpielePreise als Endlosform.

Im Form frmSpiele ein UFO-Steuerelement einbauen, das frmSpielePreise anzeigt („Herkunftsobjekt“)

Die Felder für HerstID und GenreID in frmSpiele als Kombifelder ausführen und deren Listenfelder mit den Daten aus den entspr. Tabellen füllen. (Datensatzherkunft: Tabellenname, bzw. ein SQL-Select-String)

Dabei auf richtige Einstellung der Eigenschaften „Spaltenanzahl“ und „Spaltenbreiten“ achten.

Für den Suchvorgang in frmSpiel kann ein ungebundenes Kombifeld im Kopfberich platziert werden, das sein Listenfelddaten aus tblSpiele bezieht („Select SpID, Sp_Name from tblSpiele order by Sp_Name“) . Beim Ereignis „Nach Aktualisierung“ kann das Form mit der SpID gefiltert , positioniert oder mit einer neuen Datenherkunft (Recordsource) versorgt werden.

Gruß
Franz,DF6GL

Nur eine kleine Ergänzung dem, was df6gl so gut schon beschrieben hat:
Es gibt in Access 2007 für Formulare die Version ‚geteiltes Formular‘. Dabei werden im oberen Teil die Felder des Datensatzes so angeordnet, wie du es festlegst. Und es wird genau der Satensatz oben angezeigt, den du im unteren Teil markierst, auswählst. Diese Form ist häufig leichter zu lesen als die Tabellenform, denn man kann Felder untereinander und übereinander anordnen, mus also nicht nach rechts scrollen.

Viel Erfolg
tronicrot

Hallo

So, nun komme ich mal zum antworten, bzw hatte jetzt erst Zeit das ganze in die Tat umzusetzen :wink:

Ja, viel Prosa, ich weiß… Allerdings habe ich hier auch schon zu oft festgestellt, das wenn man nur die Frage stellt, das oft noch mal nachgefragt werden muß, oder „Ersatzlösungswege“ vorgeschlagen werden, die halt nicht helfen … :smile:

Also das mit der verknüften Datenbank hat jetzt mal auf Anhieb funktioniert. Die „Suchbegriffe“ haben mir dabei sehr geholfen. Vielen Dank.

Mit „Ich gebe oben ein…“ meinte ich oben im Formular. Das war doof formuliert, natürlich könnte das Feld überall sein :smile:

Ich werde jetzt erstmal die Datenbank weiter ausbauen, mir sind da nämlich noch ein paar andere Tabellen in den Kopf gekommen, die man verwenden könnte, wie z.B. Hersteller usw.

Das nächste Problem, das ich angehen muß ist die Oberfläche.
Mich stört diese Leiste links, wo Tabelle und Formulare zu suchen sind und das wird ja bei verknüpften Tabellen teilweise sehr unübersichtlich (so habe ich ein Forumlar an zwei Stellen - eben überall dort, wo die Tabellen verknüpft sind).

Früher hatte eine eine Lotus Aproach-Datenbank gehabt, da hatte ich Buttons angelegt, mit denen ich dann die verschiedenen Forumlare und Berichte anzeigen konnte. Das machte das Wechseln sehr einfach und schnell.
Bei Access habe ich diese Möglichkeit noch nicht gefunden, bzw. habe ich noch gar nicht nachgesehen… Ich vermute mal, das es da auch einen Befehl für gibt „Open [Formularname]“ oder so…
Ich finde es auch äußerst befremdlich, das Daten, die ich in einem Formular eingebe, nicht automatisch in einer Tabelle angezeigt werden, wenn diese geöffnet ist. Man muß erst die Tabelle (den Tab) schließen und wieder öffnen… Das ist sehr befremdlich.

Aber alles nacheinander :wink:

Gruß
Taki

Sorry, dass ich so spät dran bin mit der antwort, aber ich war unterwegs. Vielleicht solltest du dir doch mal ein Buich anschaffen, und auch wirklich durcharbeiten. Access lernt man leider nicht durch trial und error (das gibts dann später auch noch!) . Gute Anfänger-Bücher schreiben Natascha Nicol und Ralf Albrecht. Außerdem gibts viel unter Minhorst zu finden. (Da allerdings schon Programmierung).

Grüße aus Nürnberg

Jürgen

Hallo

Also bisher komme ich mit dem „Try and Error“ Prinzip schon recht weit. :wink:

Es ist ja nicht so, das ich hier eine komplexe Datenbank plane. Im Grunde genommen ist es nichts anderes also eine einfache Kundendatenbank (also im Vergleich).

Bisher habe ich mich geweigert deswegen ein Buch zu kaufen, obwohl es mich schon in den Fingern juckt, aber bisher war es eigentlich immer so, das es mal durchgeblättert wurde, ggf. mal die ein oder andere Information herausgelesen wurde und dann im Regal verstaubte, weil halt 80% des Inhalts entweder uninteressant oder schon bekannt ist. :smile:

Aber das eine Buch gibts gebraucht für 16 Euro, das habe ich mal in meine Wunschliste gelegt, falls alle Stricke reissen.

Gruß
Taki

Nachtrag:

Ach, ich sehe gerade, dass das „Online-Grundlagenbuch Access 2007“, das ich hier ab und zu nutze auch von dem Minhorst ist:
http://www.access-entwicklerbuch.de/2007/index.php?p…

Wobei ich das lesen am PC eher anstrengend finde…

Hallo,

Ich werde jetzt erstmal die Datenbank weiter ausbauen, mir
sind da nämlich noch ein paar andere Tabellen in den Kopf
gekommen, die man verwenden könnte, wie z.B. Hersteller usw.

Das nächste Problem, das ich angehen muß ist die Oberfläche.

Nein, das nächste Problem wäre, über die noch fehlenden Tabellen nachzudenken und die zu implementieren.

Mich stört diese Leiste links, wo Tabelle und Formulare zu
suchen sind und das wird ja bei verknüpften Tabellen teilweise
sehr unübersichtlich (so habe ich ein Forumlar an zwei Stellen

  • eben überall dort, wo die Tabellen verknüpft sind).

Dieser Navibericht kann ausgeblendet werden. Das sollte aber erst nach der Fertigstellung der DB-Entwicklung passieren, sonst hat man nur mehr Klickarbeit.

Früher hatte eine eine Lotus Aproach-Datenbank gehabt, da
hatte ich Buttons angelegt, mit denen ich dann die
verschiedenen Forumlare und Berichte anzeigen konnte. Das
machte das Wechseln sehr einfach und schnell.
Bei Access habe ich diese Möglichkeit noch nicht gefunden,
bzw. habe ich noch gar nicht nachgesehen… Ich vermute mal,
das es da auch einen Befehl für gibt „Open [Formularname]“
oder so…

Die einfache Lösung wäre ein Übersichtsformular (bis 2003) oder ein Navigationsformular (ab 2007) zu erstellen. Dafür gibt es einen Menüpunkt…

Ich finde es auch äußerst befremdlich, das Daten, die ich in
einem Formular eingebe, nicht automatisch in einer Tabelle
angezeigt werden, wenn diese geöffnet ist. Man muß erst die
Tabelle (den Tab) schließen und wieder öffnen… Das ist sehr
befremdlich.

Eine geöffnete Tabelle wird schon aktualisiert, wenn auch mit Verzögerung. Lediglich neu angelegte DS werden so nicht angezeigt. Allerdings ist es „befremdlich“, Tabelleninhalte in Tabellenansicht anzuzeigen. Daten aus Tabellen/Abfragen sollten (immer) mit Formularen oder dafür geeigneten Steuerelementen (z. B. Listenfelder, Kombifelder) sichtbar gemacht werden.

Aber alles nacheinander :wink:

In der Tat, siehe oben bei den fehlenden Tabellen… :wink:

Gruß
Franz,DF6GL

Hallo

Nein, ich habe ja schon einige Tabellen angelegt, die meiner Meinung nach Sinnvoll sind.

Ich habe jetzt auch die letzten 2 bis 3 Stunden an der DB gesessen, Tabellen erstellt, Formulare erstellt und erste Testdaten eingegeben.
Allerdings haperts jetzt an der „Haupttabelle“ (Spiele), denn dort kann ich keine Daten eingeben.
Es heißt, der Verknüpfungsschlüssel der Tabelle „Spiele“ ist in der Datensatzgruppe enthalten".
Aber ich muß sagen, das ich jetzt nicht mehr klar denken kann und heute keine Lust mehr auf die Fehlersuche machen…

Hier die Beziehungen:
http://i57.servimg.com/u/f57/12/26/09/98/zwisch14.jpg

Kernpunkt ist ja eine Spieledatenbank und die Preise, die das Spiel in einem Sale bekommt. Also nicht den aktuellen Preis, sondern den Preis, den ein Spiel mal an einem bestimmten Datum hatte. Soll dazu dienen, einen Überblick zu bekommen, wie die Preisentwicklung ist und so.

Wie gesagt, eigentlich relativ Sinnlos, aber ich hab halt Spaß dran :smile:

Von daher denke ich das die n:1 Einteilung hier richtig ist, denn ein Spiel kann mehrere Preise haben (in diesem Fall).

Naja… Wie gessagt, mal die Tage nach dem Fehler schauen. Vielleicht war ich mit der referentiellen Integrität zu großzügig… Muß noch mal nachlesen, wofür das genau war :wink:

Gruß
Taki

Hallo,

das sieht ja zunächst nicht schlecht aus… Für die Preishistorie fehlt halt die Tabelle…

Gruß
Franz,DF6GL

Hallo

Den Fehler habe ich noch nicht gefunden, im Netz stellen auch mehrere die Frage, aber mit den Antworten kann ich nichts anfangen (zu technisch). Werde da die Tage noch mal drangehen und das entsprechende Formular Stück für Stück aufbauen und schauen wo der Fehler liegt.

Wobei:
>>„das sieht ja zunächst nicht schlecht aus… Für die
>&gt:stuck_out_tongue_winking_eye:reishistorie fehlt halt die Tabelle…“

Die Tabelle ist doch da… Unter „Preis“… Aber wo ich mir das mal anschaue, habe ich da wohl falsch gedacht… Ich muß nicht den Preis an das Spiel knüpfen, sondern Der Spiel-Tabelle eine Preis-Tabelle anheften… Wobei ein Spiel mehrere Preise haben kann… Oder?

Aber wie kann ich dann neue Preise hinzufügen… OK, ist spät… Ich denke da morgen drüber nach… Aber ich glaube so wird es gehen…
Ich habe bisher noch keinen Bericht erstellt, deswegen fehlt mir da das Wissen, ob es geht, aber sollte wohl gehen. :smile:

Gruß
Taki

Hallo,

ja, sorry, habe ich glatt übersehen…

PS:

Tipps am Rande…

besser benamsen:

Tabellen:
tblPreise, tblSpiele,tblGenre,…

ID-Felder: Preis_ID, Spiele_ID, Genre_ID,…

alle anderen Felder mit Tabellennamen-Prefix: Preis_Datum, Preis_Betrag, Preis_Bemerkung,…

Genre_Bezeichnung, Genre_Bemerkung,…

Spiele_GenreID, Spiele_Name, Spiele_Wertung,…

KEINE LEER- und SONDERZEICHEN VERWENDEN:
2D/3D --> Spiele_2D3D
Ego-Perspektive --> Spiele_EgoPerspektive,…

Tabellen „Entwickler“ und „Vertrieb“ könnten zu einer Tabelle zusammengefasst werden und die Unterscheidung über ein weiteres Feld „Kategorie“ erfolgen.

Gruß
Franz,DF6GL

War aber genau der Denkanstoss, der mir gestern gefehlt hat… Die Verknüpfung ist natürlich Falsch…
Der Preis wird an verschiedene Spiele verknüpft… Ist doch Blödsinn… Wäre doch Sinnvoller, wenn ein Spiel mehrere Preise hat.
Habe die Verknüpfung, bzw. die Beziehung eben mal Probeweise gelöscht und schon konnte ich meine Daten eingeben.
Ich werde mal schauen, wie ich das am geschicktesten mache. Vom Prinzip her ist es ja wie eine Bestellübersicht… Der Kunde (=Hersteller) und die Lieferadresse (=Entwickler), hat eine Bestellung (=Spiele) und bestellt verschiedene Artikel (=Preise)… Also so als Vergleich :smile:

Wie gesagt… Wird schon klappen… :wink:

Gruß
Taki