AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Access neues Feld anlegen

Ein Thema von schniede · begonnen am 17. Nov 2010 · letzter Beitrag vom 18. Nov 2010
Antwort Antwort
schniede

Registriert seit: 20. Sep 2003
Ort: Woltersdorf
104 Beiträge
 
Delphi 7 Professional
 
#1

Access neues Feld anlegen

  Alt 17. Nov 2010, 22:23
Datenbank: Access • Version: 2003 • Zugriff über: Ado
Hallo
Ich möchte eine Bestehende Tabelle einer AccessDatenbank ändern, d.h.ein Feld zur Laufzeit hinzufügen.
Bisher hab ich alle Datenbankänderungen,Neu usw. schön mit Access gemacht und bin nun völlig ratlos ohne Editor sozusagen.
Da das Programm von mehreren genutzt wird, kann ich schlecht alle Datenbanken per Hand ändern.

Ich hab da auch ein gedankliches Problem.
Wie geht man bei soetwas vor?
Bei Programmstart prüfen ob Tabelle123 schon das Feld [Name] hat, nein dann hinzufügen, ja dann break ????

Wie gesagt ich hab bisher nur statisch mit Datenbanken gearbeitet, versteh auch ehrlich nicht den Sinn, eine Tabelle Dynamisch zu erzeugen.
Wenn Ich sie immer zu Programmstart erzeuge ist sie ja sozusagen leer und wenn ich das Programm beende die Daten weg.
Vieleicht kann mir mal jemand ein bischen auf den Kopf hauen, das es klick macht.

danke schon mal
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#2

AW: Access neues Feld anlegen

  Alt 17. Nov 2010, 22:52
Wenn Du eine wachsende Anwendung hast, die auch noch mehrfach verteilt wird, wirst Du längerfristig nicht um Datenbankänderungen per Script herumkommen.
Vor Du Deine ganzen Datasets öffnest, kannst z.B. ins AfterConnect Deiner Connection ein Prozedur aufrufen welche dann:
1. Schaut ob es eine Versionsinformationstabelle gibt
2. Wenn es sie nicht gibt, diese erstellt und den Eintrag 1 einfügt
3. Du vergleichst die Versionsnummer mit beispielsweise mit Dateien in einem definierten Ordner in der Art UPD_1.SQL, UPD_2.SQL ...
4. Die fehlenden Scripte werden der Reihe nach eingespielt und die Version hierbei vom letzen Script mit eingetragen.
5. und zurück ins AfterConnect

Sicher sind diverse andere Arten den Vorgehens denkbar.

Ich würde vorher ein Backup der Datenbank machen und im Fehlerfalle dorthin zurückgehen.

Die Scripte bei uns werden Versionsweise in einer Datei fortgeschrieben, die einzelnen Scripte hierbei mit einer Zeile nur mit einem GO getrennt, dies erleichtert beim Einsatz mit dem SQL-Server die Testerei. Im Programm muss das dann halt wieder in Einzelschritte zerlegt werden.
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
Morphie

Registriert seit: 27. Apr 2008
Ort: Rahden
630 Beiträge
 
#3

AW: Access neues Feld anlegen

  Alt 18. Nov 2010, 08:12
Wir vergleichen bei uns den Ist-Zustand mit dem Soll-Zustand und passen die Datenbank dann entsprechend an.
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#4

AW: Access neues Feld anlegen

  Alt 18. Nov 2010, 10:24
@Morphie

dann verwendet Ihr einen anspruchsvolleren Ansatz, bei SQL-Server wüsste ich wie, bei Access wüsste ich gar nicht wo ich alle Informationen über Fremdschlüssel, defaultwerte, Indizes etc. herbekomme.
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
schniede

Registriert seit: 20. Sep 2003
Ort: Woltersdorf
104 Beiträge
 
Delphi 7 Professional
 
#5

AW: Access neues Feld anlegen

  Alt 18. Nov 2010, 14:36
Ich danke Euch, da hab ich ja den richtigen Ansatz und kann mal los machen.
Auf die Idee wär ich selbst nicht gekommen, thx.

gruß schniede
  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 14:13 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