projekt videodatenbank: access hilfe

  • hi.

    ich habe die nase voll von meiner unübersichtlichen exel-tabelle und möchte mir nun endlich eine videodatenbank basteln. hab vor jahren mal erste versuche gemacht, fand dann zunächst aber eine einfache tabelle ausreichend.

    haben wir hier einen access-experten im board?

    kann mir jemand ein gutes und hilfsbereites access-forum empfehlen (in dem auch dämliche anfängerfragen beantwortet werden...)?

    gibt's irgendwo vielleicht fertige datenbankprojekte, die ich als grundlage benutzen kann?

    und: gibt's gute gründe, meine datenbank vielleicht mit was ganz anderem als access zu erstellen? da ich kaum ahnung von access hab kann ich auch gern gleich ganz was anderes lernen...

  • Hi.

    Ich bin Experte für MS Access :)

    Eine Video-Datenbank habe ich natürlich auch schon zu Hause, aber viel Zeit habe ich nicht darin investiert. Weil jeder seine Schwerpunkte anders setzt, wirst Du wahrscheinlich glücklich, wenn Du Dein eigenes DB-Design erstellst. Vorlagen für Access-Datenbanken gibt es zwar einige, aber für eine Video-Datenbank habe ich nichts auf die Schnelle gefunden...

    Wenn Du Fragen hast, helfe ich gerne weiter.

    bb

    P.S.: Ich freue mich immer über Beiträge, in denen auch Großbuchstaben verwendet werden ;)

  • Sorry, hab mir die Großschreibung abgewöhnt... mal sehen...

    Also ich scheitere derzeit schon am grundlegenden Layout. Mein Problem sind die Mehrfachbelegungen bei einzelnen Datensätzen.
    Ein Medium kann mehrere Inhalte enthalten, jeder Inhalt kann wiederum mehrere Inhalte enthalten: ein Film kann mehreren Genres zugeordnet werden, hat mehrere Audio-Sprachen in möglicherweise jeweils mehreren Formaten, mehrere Untertitel, usw.


    Und schließlich kommt noch das Problem des Imports von Daten aus einer Tabelle und verteilen der einzelnen Datensätz-Bestandteile auf die entsprechenden neuen Untertabellen. Bisher habe ich alles in einer Exel-tabelle, nun möchte ich getrennte Tabellen anlegen für: Filmdaten, Regiseure, Medien, Genres etc.
    Ich möchte das bei gut 600 Medien wirklich nicht manuell machen müssen...

  • Ok, Du legst für jede Entität eine eigene Tabelle an: Filmdaten, Regisseure, etc. Jede Tabelle bekommt einen Primärschlüssel - im einfachsten Fall ein Zählerfeld. Den Import würde ich zunächst in eine extra Importtabelle machen, die vom Spaltenaufbau mit Deiner Excel-Tabelle übereinstimmt. Falls Deine Excel-Tabelle sauber aufgebaut ist, könntest Du sie sogar direkt als Verknüpfung in Access einbinden, aber zur Kontrolle des Imports ist der Weg über eine Importtabelle besser.

    Das Verteilen der Daten kannst Du mit Anfügeabfragen erledigen. Du musst bis hierher nichts programmieren, es sei denn, Du möchtest den Import automatisieren (was sich aber nur lohnt, wenn Du auch die Excel-Tabelle weiter pflegen möchtest).

    Für den Import selbst solltest Du mal unter dem Stichwort "Importspezifikation" nachlesen. So eine solltest Du für den Import erstellen, damit die Felder korrekt übernommen werden.

    Ich hoffe, das hilft für den Anfang. Das, was Du vorhast, also eine Datenbank mit normalisiertem Datenmodell, verlangt ein wenig theoretische Kenntnis über den Aufbau und die Arbeitsweise von Datenbanken. Es kann nicht schaden sich damit auseinanderzusetzen, denn ich fürchte, Du wirst sonst früher oder später Schiffbruch erleiden.

    bb

  • ja, die Befürchtung hab ich auch... so richtig klar komm ich ohnehin nicht...

    hab schonmal ein paar Grundlagen zu Datenbanken gelesen, ist aber gut ein Jahr her... morgen besorg ich mir Literatur aus der Bücherei, aber direkte Antworten auf vorliegende Problemfragen sind oft hilfreicher als planloses lesen...


    habe jetzt erste Versuche mit Formularen unternommen und dazu einige Detailtabellen verknüpft, aber das funzt alles nicht so richtig. Der Assistent legt Unterformulare an statt alles in einem Formular anzuzeigen, aber ich denke im manuellen Entwurf kann ich da schon was machen.
    (bin aber nicht sicher ob ich zu einem Datensatz der Haupttabelle mehrere Datensätze einer Untertabelle gleichzeitig anzeigen lassen kann?),

    Mit vorbereiteten Tabellen klappen zumindestens diese ersten einfachen Beziehungen, aber wenn ich mit komplett leeren Tabellen anfange kann ich in der Zentraltabelle keine Eintragungen über's Formular machen, in den Verknüpften Detailtabellen geht das sehrwohl....

    Was mir im Augenblick Sorge macht ist diese Überlegung:
    sagen wir ich richte ein Feld 'Land' ein, das ich ebenfalls als Detailtabelle einrichte. Bei Manueller Eingabe von 'u' springt die Detailtabelle sofort zum ersten entsprechenden Eintrag, z.B. USA. Tippe ich nun weiter und erzeuge einen String, der noch nicht in der Tabelle existiert (und nur dann!), wird ein neuer Eintrag angelegt. Und wie verhindere ich daß meine Eingabe einen vorhandenen Datensatz überschreibt? Vielleicht kann ich mit einer Checkbox neben einem Eingabefeld einen Schreibschutz einrichten, der für Änderungen erst entfernt werden muß...


    Und eine Frage zur Eindeutigkeit von Einträgen: 'keine Duplikate' in einem Feld sind ja klar, aber wie kann ich Duplikate in Einzelfeldern erlauben, aber für alle Felder eines Datensatzes einer Tabelle zusammengenommen soll Eindeutigkeit gelten. Zum Beispiel in der Filmtabelle: mehrere Einträge mit gleichem Titel sind erlaubt (es gibt ja z.b. zahlreiche Verfilmungen von 'Hamlet'), aber ein bestimmter Film (Titel, Regie, Jahr etc.: Hamlet, Kenneth Branagh, 1996) kann nur einmal vorkommen.

  • Hat zwar nichts mit der eigentlichen Frage zu tun, aber da ich begeistert von dem Programm bin, möchte ich es hier empfehlen: Ant Movie Catalog ist OpenSource. Ich bin grad dabei meine Filme einzutragen. ;)

    "Diejenigen, die grundlegende Freiheiten aufgeben würden, um geringe vorübergehende Sicherheit zu erkaufen, verdienen weder Freiheit noch Sicherheit."
    Benjamin Franklin (1706-1790)

    Meine Erfahrungen in der Open Source-Welt: blog.bugie.de

  • Zitat von atumno

    [...]Der Assistent legt Unterformulare an statt alles in einem Formular anzuzeigen, aber ich denke im manuellen Entwurf kann ich da schon was machen.
    (bin aber nicht sicher ob ich zu einem Datensatz der Haupttabelle mehrere Datensätze einer Untertabelle gleichzeitig anzeigen lassen kann?),


    Wenn zu einem Hauptdatensatz mehrere Detaildatensätze angezeigt werden sollen, dann gibt es dafür prinzipiell zwei Möglichkeiten:

    1. Ein Hauptformular mit Unterformular für die Detaildaten (hier muss das Verknüpfungsfeld definiert werden; sollte aber der Assistent erledigen).
    2. Ein Formular, das den Hauptdatensatz anzeigt und einen Button enthält, über den man ein Detailformular öffnen kann.

    Die Unterformularvariante kann man ausbauen: z.B. ein Hauptformular mit mehreren Unterformularen, ein Hauptformular mit Unterformular mit Unter-Unterformular (d.h. das Unterformular ist selbst wieder ein Hauptformular), usw.

    Wenn es nur um die Anzeige geht, dann kann man auch zwei Tabellen über eine Abfrage verknüpfen und die Abfrage zur Datenquelle eines Formulars machen.

    Zitat von atumno

    Mit vorbereiteten Tabellen klappen zumindestens diese ersten einfachen Beziehungen, aber wenn ich mit komplett leeren Tabellen anfange kann ich in der Zentraltabelle keine Eintragungen über's Formular machen, in den Verknüpften Detailtabellen geht das sehrwohl....


    Bevor man wild Formulare strickt, sollte das Datenmodell ordentlich vorbereitet sein, d.h. man hat in jeder Tabelle die Primärschlüssel und Fremdschlüssel eingerichtet und korrekt indiziert, Beziehungen angelegt (Stichwort "referenzielle Datenintegrität") und Abfragen eingerichtet. Wenn Eintragungen über ein Formular nicht möglich sind, dann kann das mehrere Ursachen haben. Entweder ist eine Formulareigenschaft das Problem, oder - was vmtl. häufiger das Problem ist - das Formular basiert auf einer Abfrage, die naturgemäß keine Eingaben zuläßt.

    Zitat von atumno

    Was mir im Augenblick Sorge macht ist diese Überlegung:
    sagen wir ich richte ein Feld 'Land' ein, das ich ebenfalls als Detailtabelle einrichte. Bei Manueller Eingabe von 'u' springt die Detailtabelle sofort zum ersten entsprechenden Eintrag, z.B. USA. Tippe ich nun weiter und erzeuge einen String, der noch nicht in der Tabelle existiert (und nur dann!), wird ein neuer Eintrag angelegt. Und wie verhindere ich daß meine Eingabe einen vorhandenen Datensatz überschreibt? Vielleicht kann ich mit einer Checkbox neben einem Eingabefeld einen Schreibschutz einrichten, der für Änderungen erst entfernt werden muß...


    :grübeln:
    Wo tippst Du denn ein? Direkt in die Tabelle, in eine Abfrage oder in ein Formular?

    Zitat von atumno

    Und eine Frage zur Eindeutigkeit von Einträgen: 'keine Duplikate' in einem Feld sind ja klar, aber wie kann ich Duplikate in Einzelfeldern erlauben, aber für alle Felder eines Datensatzes einer Tabelle zusammengenommen soll Eindeutigkeit gelten. Zum Beispiel in der Filmtabelle: mehrere Einträge mit gleichem Titel sind erlaubt (es gibt ja z.b. zahlreiche Verfilmungen von 'Hamlet'), aber ein bestimmter Film (Titel, Regie, Jahr etc.: Hamlet, Kenneth Branagh, 1996) kann nur einmal vorkommen.


    Dafür legst Du einen Index (ohne Duplikate) über mehrere Felder an.

    bb

  • bin ja in der trial-and-error-Phase, deshalb leg ich hin und wieder auf die schnelle Formulare an um Beziehungen zu testen...


    Zitat von bb


    :grübeln:
    Wo tippst Du denn ein? Direkt in die Tabelle, in eine Abfrage oder in ein Formular?
    bb

    In ein Formular. Ich hoffe meine Formulierung war hier nicht mißverständlich - das beschriebene Verhalten ist angestrebt, nicht vorhanden und unerwünscht...


    Zitat von bb


    Dafür legst Du einen Index (ohne Duplikate) über mehrere Felder an.
    bb

    ich wußte gar nicht, daß das geht...


    wie auch immer, hab mir heute ein Buch aus der Bib besorgt und werd mir da mal ein paar Brundlagen aneignen.

    Außerdem hab ich entdeckt, daß Access ja auch Beispieldatenbanken mitbringt, da ist ein Videoarchiv dabei. Das sehe ich mir jetzt erstmal genauer an.
    Eins meiner Probleme ist da bereits wie folgt gelöst: Um beim Beispiel von oben zu bleiben: Für die Eingabe des Landes ist ein Kombinationsfeld eingerichtet, das nur vorhandene Einträge zuläßt, ein eingegebenes 'u' wird automatisch vervollständigt nach Listeninhalt, also z.b. 'USA'. Einen nicht vorhandenen Eintrag kann ich per doppelklick auf das Feld neu anlegen. Ist für mich schonmal völlig ausreichend...

    seh ich das richtig - wen ich die Einträge in so einem Kombinationsfeld alphabetisch sortiert haben möchte, muß ich die zugrundeliegende Tabelle erst durch eine Abfrage schicken?...


    Ich denke, die Audiospuren werde ich einfach in ein Feld als Text eintragen, durch Semikolon getrennt. Die Verweise werden mir da sonst zu unnötig komplex - pro Film mehrere Sprachen, diese in mehreren Codierungen und hier möglicherweise sogar noch verschiedene Varianten bei den Surround-Kanälen...

  • Zitat von atumno

    [...]seh ich das richtig - wen ich die Einträge in so einem Kombinationsfeld alphabetisch sortiert haben möchte, muß ich die zugrundeliegende Tabelle erst durch eine Abfrage schicken?...[...]


    Das ist eine Möglichkeit. Eine andere ist, in den Daten-Eigenschaften des Kombinationsfelds einen SQL-String einzugeben, z.B.

    SQL
    SELECT LANDID, LANDNAME FROM LAND ORDER BY LANDNAME

    . Hierbei würde man in den Format-Eigenschaften die Spaltenanzahl auf 2 einstellen und die erste Spalte ausblenden, indem man die Spaltenbreiten z.B. auf

    Code
    0cm;5cm

    einstellt. In den Daten-Eigenschaften kannst Du u.a. auch festlegen, ob nur Listeneinträge akzeptiert werden sollen und ob die Eingabe automatisch ergänzt werden soll.

    bb

  • Hi,

    dein Excel kann Deine Daten als *csv ausgeben.

    Das von mir benutzte Programm MovieOrganizer kann diese Dateien importieren, was ich aber nicht gebraucht habe, da ich bei "0" angefangen habe. Du wirst mit Sicherheit einiges anpassen müssen, aber Du sparst Dir die manuelle Eingabe weitgehend.

    Das Programm ist Freeware und findet sich zum Download unter http://www.movieorganizer.com/default.asp ( leider nicht in Deutsch!).

    Ich bin allerdings auch mit Englisch gut unterwegs und finde das Teil bombastisch! :cool: :ja:

    Probier's doch mal.

    razor ;) ;D

    ;D

  • Hhmmm.., da dürfte ich mit meiner ACCESS-Tabelle, welche ich mir selbst "gebastelt" habe, an die Anforderungen von ATUMNO wohl kaum herankommen. Schon allein deshalb nicht, weil ich mir zwar eine Art Matrix erstellt habe, aber alles Erforderlich immer schön "zu Fuß" eingeb.

    Sieht bei MIR so aus: Kopfzeile:

    ID I FILMTITEL I L-ZEIT I FILMART I FORMAT I SCHAUSPIELER I VERS

    Bei ID = fortlaufende Nummern, Filmtitel (ist klar, gelle?), Laufzeit in Minuten, FilmArt = z.B. Kömödie, Action, usw., Format = DVD+R/-R usw., Schauspieler (Hauptdarsteller, bzw. auch Hersteller, z.B. bei Zeichentrick, Vers = nur "Film" oder "Voll".

    Alles mit dünnen Linien eintabelliert und zum Druck auf DinA4 vorbereitet.

    Vorne gebe ich die laufende Nummer ein, und nach jedem "Return" springt der Cursor ins nächste Feld.., ich gebe den Titel ein, "Ret", usw.

    Es entstand/entsteht eine schöne, übersichliche Tabelle, bei der ich sämtliche Möglichkeiten habe, welche ACCESS bietet: Nach Nummern sortieren, nach Filmtiteln sortieren, usw., Datensätze verschieben/ändern/löschen/einfügen usw.!

    War zwar 'ne Menge Arbeit, alle Datensätze einzuhämmern, (sind mittlerweile "leicht" über 1000 (!)), aber es hat sich gelohnt. Lasse ich die Tabelle ausdrucken, macht mir der Drucker ca. 20 DinA4-Seiten voll (56 Datensätze pro Seite (!), und ist richtig schön übersichtlich.

    MIR reicht es SO völlig aus..! :ja:

    Gruß, Rudi

    ...Alter schützt vor´m Computer nicht!......

    Aber manche Greise sind doch noch weise!!

  • Tja, Rudi, aber alles, wirklich alles, was Du da erzählst, kannst Du auch ganz bequem mit Excel machen; dafür brauchst Du keine Datenbank...

    :)

    bb

  • Zitat von bb

    Tja, Rudi, aber alles, wirklich alles, was Du da erzählst, kannst Du auch ganz bequem mit Excel machen; dafür brauchst Du keine Datenbank...

    Hast ja Recht, meine liebe Brigitte Bardot! (So besser, mein Gutster? ;D ) Aber.., dass Einzige von "Mikrosaft-Office", mit dem ich mich jemals beschäftigt hatte/habe, war (rein zufällig!) ACCESS..! Warum und wieso, weiss ich heute selbst nicht mehr. Und.., als ich einmal angefangen hatte, mir mein DVD-"Tabelle" zu stricken.., und es sogar klappte, habe ich (aus reiner Bequemlichkeit) damit weitergemacht und meine, jetzt ca. 1100 "Datensätze", eingehämmert. :D

    Hat mir aber auch schon ein Kumpel gesagt, dem meine Blätter mal in die Finger gefallen sind: "Dat kannze GAANZ leicht im "EXEL" unwandeln". Habe ich aber nie gemacht, weil ICH mich wiederrum NIE mit EXEL befasst habe..! :nein:

    Meine super-duper-klasse "ACCESS-TABELLE" beruht also auf reiner Faulheit.., aber.., wenn's doch funzt..? :cool:

    Gruß, Rudi

    ...Alter schützt vor´m Computer nicht!......

    Aber manche Greise sind doch noch weise!!

  • hi.

    nach langer zeit hab ich mich wieder an mein projekt gewagt, einiges klappt auch, aber es gibt ein paar probleme, die ich nicht gelöst bekomme.

    hab den aktuellen stand mal angehängt.

    öffnet man das menü 'Menü Medieninhalt' kann man sich den Inhalt eines Mediums anzeigen lassen / bearbeiten, Details zu jedem Eintrag sind über die Schaltfläche 'Details' über ein verlinktes Formular verfügbar.

    Allerdings kann ich nun in diesem verlinkten Formular keinerlei Änderungen vornehmen, und ich weiß nicht, warum.

    wäre nett, wenn mal jemand sich das ansehen könnte und mir erklärt, was ich tun muß...

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!