AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Datenbankfeld zu Access Datenbank hinzufügen - geht das?
Thema durchsuchen
Ansicht
Themen-Optionen

Datenbankfeld zu Access Datenbank hinzufügen - geht das?

Ein Thema von tgutgu · begonnen am 13. Sep 2008 · letzter Beitrag vom 13. Sep 2008
Antwort Antwort
tgutgu

Registriert seit: 13. Sep 2008
Ort: Hof
4 Beiträge
 
#1

Datenbankfeld zu Access Datenbank hinzufügen - geht das?

  Alt 13. Sep 2008, 16:01
Datenbank: Access • Version: 2007 • Zugriff über: dbGo, ADO
Hallo

Ich schreibe gerade eine Anwendung für die Planung von Software-Projekten.

Grundlage ist unter anderem eine Tabelle mit Mitarbeitern, welche durch ein Kürzel, den Namen und eine Default-Verfügbarkeit gekennzeichnet sind.

Weiterhin gib es eine Verfügbarkeitstabelle, in der für jede Kalenderwoche (Datensatz) für jeden Mitarbeiter die Verfügbarkeit gespeichert ist. Die Spalten dieser Tabelle sind nach den Kürzeln der Entwickler benannt und haben (bis auf Jahr und Kalenderwoche) die gleichen Eigenschaften.

Der Projektleiter soll in der Mitarbeitertabelle einen neuen Mitarbeiter hinzufügen können. Dabei soll die Verfügbarkeitstabelle um ein entsprechendes Feld zur Laufzeit erweitert werden (der Name des Feldes wäre das Kürzel des neuen Mitarbeiters). Beim Löschen eines Mitarbeiters sollte analog verfahren werden.

Ich stehe derzeit auf dem Schlauch, wie man zur Laufzeit zu einer bestehenden Tabelle programmatisch Felder hinzufügen oder löschen kann.

Vielleicht kann mich ja jemand in die richtige Richtung schicken, die ADO-Kompomenten scheinen keine Methoden dafür zu haben. (Ich meine mich zu erinnern, dass es eine ADO-Typbibliothek für DDL gibt und hätte gedacht, dass dies mittlerweile in die ADO-Komponenten eingeführt worden ist - ich komme noch von Delphi 6 und bin gerade auf Delphi 2007 umgestiegen).

Vielen Dank für alle Hinweise.

Grüße

Thomas
Thomas Gülden
Hof, Deutschland
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: Datenbankfeld zu Access Datenbank hinzufügen - geht das?

  Alt 13. Sep 2008, 16:24
Herzlich willkommen in der Delphi-PRAXiS, Thomas.

Wenn du Einfluss auf die Datenmodellierung nehmen kannst, dann solltest du dafür kämpfen, dass die Verfügbarkeitstabelle geändert wird. Das Mitarbeiter-Kürzel sollte kein Feldname sein, sondern ein Feldwert in einer Tabelle VERFUEGBARKEITEN(JAHR,KW,MA,STUNDEN). Der von dir beschriebene Ansatz passt nicht zu einem relationalen Datenbanksystem und führt auch zu Problemen bei der Visualisierung und Auswertung der Daten.

Freundliche Grüße
  Mit Zitat antworten Zitat
tgutgu

Registriert seit: 13. Sep 2008
Ort: Hof
4 Beiträge
 
#3

Re: Datenbankfeld zu Access Datenbank hinzufügen - geht das?

  Alt 13. Sep 2008, 18:18
Zitat von marabu:
Herzlich willkommen in der Delphi-PRAXiS, Thomas.

Wenn du Einfluss auf die Datenmodellierung nehmen kannst, dann solltest du dafür kämpfen, dass die Verfügbarkeitstabelle geändert wird. Das Mitarbeiter-Kürzel sollte kein Feldname sein, sondern ein Feldwert in einer Tabelle VERFUEGBARKEITEN(JAHR,KW,MA,STUNDEN). Der von dir beschriebene Ansatz passt nicht zu einem relationalen Datenbanksystem und führt auch zu Problemen bei der Visualisierung und Auswertung der Daten.

Freundliche Grüße
Hallo Marabu

Vielen Dank für die schnelle Antwort. Mittlerweile habe ich eine Lösung gefunden, indem ich einen SQL-String mit dem entsprechenden ALTER TABLE Statement dynamisch zusammenbau und über die Execute-Methode der ADO-Connection an die DB schicke. Das klappt. Jetzt muss ich nur noch dafür sorgen, dass die Spalten der Anzeigetabellen mit aktualisiert werden.

Zum Datenmodell: Wie du schreibst wäre es vermutlich flexibler und würde ohne Datenbankstrukturänderungen auskommen, wenn man Deinem Vorschlag folgen würde. Allerdings wollen die Benutzer je Kalenderwoche für alle Mitarbeiter in einer Tabellenzeile die Verfügbarkeiten editieren können. Die Struktur der angezeigten Tabelle ist also genauso gewünscht. Würde man Deinem Vorschlag folgen, müsste die Tabelle per Anwendungslogik auf die DB abgebildet werden.

Das Mitarbeiterteam ändert sich weniger häufig als die Verfügbarkeiten, so dass ich das Datenmodell vorerst so lassen werde.

Viele Grüße

Thomas
Thomas Gülden
Hof, Deutschland
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:55 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz