1. Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, MariaDB, Oracle, Sql-Server, Postgres, Access uvm
    Information ausblenden

Tabellenerstellung & Funktion?! (Acces 2013+)

Dieses Thema im Forum "Microsoft Access" wurde erstellt von MysterioJN, 11 November 2015.

  1. MysterioJN

    MysterioJN Datenbank-Guru

    Hi zusammen,

    ich habe folgende Tabelle (vereinfachte Namen zum besseren Verständnis hier):
    tblFormat

    Spalten:
    - PIDX (Autowert)
    - FormatName (Beispielinhalt: DinA4 ; DinA5 ; etc.)
    - FormatHoehe (Beispielinhalt: 29,7 ; 21 ; etc.)
    - FormatBreite (Beispielinhalt: 21 ; 14,8 ; etc.)
    - FormatKomplett (Hier soll der jeweilige Zeilenwert von Name + Höhe + Breite als Text/String ausgegeben werden)

    Beispielzeile:
    2 ; DinA4 ; 29,7 ; 21 ; [HIER Zusammengesetzt soll stehen: DinA4 29,7 x 21]

    Seht ihr eine Möglichkeit, bei Inhaltseintragung bei Name, Hoehe und Breite, das sich das Feld Komplett aus den eingetragenen Zeilenwerten zusammensetzt? Sprich eine "direkte Verkettung" ?

    Ein externer SQL-Datenbankfreak teilte mir mit, das man dies mittels Funktionen machen kann. Da ich aber in SQL definitiv nicht fit bin, das anzulegen und ich wenn möglich das Front-End schonen möchte, wäre die Idee über Access eine schöne Alternative.

    Herzliche Grüße


    P.S. über Aktualisierungsabfragen ist mir das klar, aber diese muss man extra anstoßen und bei der Implementierung auf den MSSQL-Server fallen die Abfragen flach...
     
  2. akretschmer

    akretschmer Datenbank-Guru

    Über einen TRIGGER machbar. Aber meiner Meinung nach Unfug, weil das auch beim Select berechenbar wäre. Oder als VIEW abbildbar.
     
  3. ukulele

    ukulele Datenbank-Guru

    Verstehe ich jetzt nicht richtig. Du hast eine MSSQL DB, willst das aber mit Access lösen, weil du glaubst das es einfacher wäre?
     
  4. MysterioJN

    MysterioJN Datenbank-Guru

    Naja, bis dato sind es wie im anderen Thread bereits gesagte, in sieben Monaten händisch angefasste, angepasste, normalisierte, verknüpfte Accessdaten.
    In Zukunft soll es via "Upsize Wizard" - der mal um längen besser arbeitet als die Importfunktion des ManagementStudios - in einer SQL-Datenbank implementiert werden.
    Der Wizard arbeitet sogar so gut, das er alle Keys, Autoinkremente, Beschreibungen, Formate (bis auf wenige Ausnahmen da Access andere Formate hat als SQL) und und und erkennt und diese auf dem SQL-Server entsprechend RICHTIG einstellt.
    Ich möchte daher soviel durch den Wizard "abgearbeitet" beim Erstimport übergeben, was geht, um wenig im Nachgang noch auf dem SQL "regeln" zu müssen.
    Denn wie ihr ja wisst, stellen wir uns ein bischen doof an im Bezug auf SQL, Trigger und Co ;)

    In Access gibt es meiner Meinung nach keine Trigger. Dann bestimmt über eine Funktion?! Aber das wäre auch außerhalb der Tabelle. Sprich - wie du sagst - Unfug.

    Mhm View.... Mal blöd gefragt: Eine View von einer Tabelle kann ich ohne Probleme mit Formeln und Funktionen/Gültigkeiten anlegen?!
    Das wäre performance Technisch sehr attraktiv, komplexe Abfragen (Selects) serverseitig in "View"s abzulegen, um sie dann mit dem Front End (DotNetNuke) einfach abbilden zu können. Da kann ich ja auch ohne Probleme mit Verkettungen arbeiten (Und das Beste, ich wüsste sogar wie ;))

    Kann man denn einstellen, wie oft diese View aktualisiert wird? Es ist doch technisch "nur" eine (angepasste) Tabelle wie die anderen auch, richtig?
     
  5. akretschmer

    akretschmer Datenbank-Guru

    'klassische'Views sind lediglich ein Alias auf die zugrunde liegende Abfrage - diese wird stattdessen ausgeführt. Materialized Views machen das, was der Name suggeriert: das ist dann quasi ein Snapshot des Resultates der Abfrage, das wird 'eingefroren'. Es gibt auch Möglichkeiten des 'auftauens' - refresh materialized view. Ich spreche aber hier von PostgreSQL, keine Ahnung, was Access da kann.
     
  6. MysterioJN

    MysterioJN Datenbank-Guru

    Naja von Access lösen wir uns ja eh sobald die Daten auf dem SQL sind (Finale Übergabe). Da kommen dann die VIEWs als nette Möglichkeit dazu, mit denen wir, denke ich, unsere Produktverwaltung absolut zuverlässig bedienen können (die wir auch Front-End-technisch erstmal noch erzeugen müssen - MS Visual Studio sei dank in Kombination mit DNN)
     
  7. ukulele

    ukulele Datenbank-Guru

    Mit Views kannst du dann nicht viel verkehrt machen. Sie helfen dir bei berechneten Werten aber auch bei sehr komplexen Abfragen können sie Teile ausgliedern und machen das ganze übersichtlicher. Schreiben kannst du allerdings nur in die originäre Tabelle, daran haperts auch bei unserem CRM. Das Versucht da gerne mal rein zu schreiben.

    Mit materialized Views habe ich mich noch nicht beschäftigt, musst du mal gucken wie MS das umsetzt.
     
  8. MysterioJN

    MysterioJN Datenbank-Guru

    Klingt echt super und nach einer saubereren Sache - die denk ich sogar wir hinbekommen (ok, vlt kommt noch mal ne Nachfrage wenn es soweit ist ;)
    Ich danke Euch für die Klarheit und habt einen schöne Feierabend!
     
  9. akretschmer

    akretschmer Datenbank-Guru

    Depends ;-)

    Code:
    test=# select * from foo;
     nummer | name
    --------+------
     215001 | Rue
     215002 | Bau
     215003 | EFH
     215004 | Bet
    (4 rows)
    
    test=*# create view view_foo as select * from foo;
    CREATE VIEW
    test=*# insert into view_foo values (1, 'eins');
    INSERT 0 1
    test=*# select * from view_foo ;
     nummer | name
    --------+------
     215001 | Rue
     215002 | Bau
     215003 | EFH
     215004 | Bet
      1 | eins
    (5 rows)
    
    PostgreSQL. Ob das in M$SQL geht weiß ich nicht. Möglicherweise könnte man das über Trigger lösen.
     
  10. ukulele

    ukulele Datenbank-Guru

    Ich muss gestehen damit habe ich mich noch nicht befasst. Ich kann aber auch mit einer Hand-voll berechneter Spalten in meiner DB leben, die ist eh nicht groß :)
     
Die Seite wird geladen...

Diese Seite empfehlen

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden