Hallöchen Leute ...
Ich hätte wieder mal ein Problemchen ...
Ich bin gerade dabei, eine Software zu schreiben, mit der Pflegeheime ihre Bewohner mit ihren Medikationen verwaltet können. Dabei können ebenso die Angehörigen der Bewohner, Heimmitarbeiter, diverse Apotheken und Ärzte angelegt und Bestellungen bei letzteren gemacht werden.
Die Daten werden in einer Access-DB gespeichert. Momentan erstelle ich meine Datasets zur Laufzeit, wollte sie aber gern schon zur Laufzeit mit TableAdaptern anlegen.
Vor mehr als 10 Jahren wurde von einer externen Firma die Software erstellt, auf der mein Programm aufbaut. Die alte Software mitsamt der alten Access-DB werden heute noch genutzt, d.h. die DB enthält ein paar 1000 Datensätze von Bewohnern, Medikamenten, Bestellungen und Medikationen.
Mein Programm hat einige Erweiterungen (und bekommt auch noch welche) und meine Access-DB hat sich dem entsprechend mitentwickelt – einige Felder sind hinzugekommen oder haben ihre Datentypen getauscht (z.B. von Integer in String), eine Tabelle ist komplett umstrukturiert und eine ganz neue ist mit dazugekommen.
Da die Datensätze aus der alten Access-DB erhalten werden müssen(logisch, mit denen wurde ja bis eben noch gearbeitet), hab ich mein Programm so aufgebaut, dass es ganz am Anfang die alte DB kopiert (zur Sicherheit) und danach die gewünschten Datenbankänderungen vorgenommen werden.
Das Problem ergibt sich jetzt bei dem Dataset. Wie schon erwähnt wollte ich gerne mit TableAdaptern arbeiten. Bei denen muss man aber angeben, welche Tabellen aus der Datenbank dran gebunden werden sollen. Allerdings geht das schlecht, wenn die Tabellen noch nicht umgebaut sind oder noch gar nicht existieren.
Rein theoretisch bleibt mir dann ja nichts anderes als die Datasets zur Laufzeit zu erstellen.
Oder hat jemand eine Idee, wie ich trotzdem im Designer schon die TableAdapter erstellen könnte obwohl die geänderte DB „noch gar nicht existiert“ (wird ja erst beim 1. Programmstart erstellt)?
Die Ideen, die ich hatte, waren folgende:
1. Den Kollegen, die mit dem alten Programm arbeiten, meine neue Datenbank unterzuschieben (also jetzt hin zu gehen, die neue DB anstelle der alten einfügen und hoffen, dass das alte Programm trotzdem funktioniert, auch wenn ich an den Tabellen rumgeschraubt habe – was unwahrscheinlich, aber testenswert wäre …)
2. Weiter mit zur Laufzeit erstellten DSs arbeiten (obwohl das verdammt unschön ist)
Ich hoff, ich konnte mich einigermaßen klar ausdrücken ...
Danke für eure Hilfe,
Noyne
Ich hätte wieder mal ein Problemchen ...
Ich bin gerade dabei, eine Software zu schreiben, mit der Pflegeheime ihre Bewohner mit ihren Medikationen verwaltet können. Dabei können ebenso die Angehörigen der Bewohner, Heimmitarbeiter, diverse Apotheken und Ärzte angelegt und Bestellungen bei letzteren gemacht werden.
Die Daten werden in einer Access-DB gespeichert. Momentan erstelle ich meine Datasets zur Laufzeit, wollte sie aber gern schon zur Laufzeit mit TableAdaptern anlegen.
Vor mehr als 10 Jahren wurde von einer externen Firma die Software erstellt, auf der mein Programm aufbaut. Die alte Software mitsamt der alten Access-DB werden heute noch genutzt, d.h. die DB enthält ein paar 1000 Datensätze von Bewohnern, Medikamenten, Bestellungen und Medikationen.
Mein Programm hat einige Erweiterungen (und bekommt auch noch welche) und meine Access-DB hat sich dem entsprechend mitentwickelt – einige Felder sind hinzugekommen oder haben ihre Datentypen getauscht (z.B. von Integer in String), eine Tabelle ist komplett umstrukturiert und eine ganz neue ist mit dazugekommen.
Da die Datensätze aus der alten Access-DB erhalten werden müssen(logisch, mit denen wurde ja bis eben noch gearbeitet), hab ich mein Programm so aufgebaut, dass es ganz am Anfang die alte DB kopiert (zur Sicherheit) und danach die gewünschten Datenbankänderungen vorgenommen werden.
Das Problem ergibt sich jetzt bei dem Dataset. Wie schon erwähnt wollte ich gerne mit TableAdaptern arbeiten. Bei denen muss man aber angeben, welche Tabellen aus der Datenbank dran gebunden werden sollen. Allerdings geht das schlecht, wenn die Tabellen noch nicht umgebaut sind oder noch gar nicht existieren.
Rein theoretisch bleibt mir dann ja nichts anderes als die Datasets zur Laufzeit zu erstellen.
Oder hat jemand eine Idee, wie ich trotzdem im Designer schon die TableAdapter erstellen könnte obwohl die geänderte DB „noch gar nicht existiert“ (wird ja erst beim 1. Programmstart erstellt)?
Die Ideen, die ich hatte, waren folgende:
1. Den Kollegen, die mit dem alten Programm arbeiten, meine neue Datenbank unterzuschieben (also jetzt hin zu gehen, die neue DB anstelle der alten einfügen und hoffen, dass das alte Programm trotzdem funktioniert, auch wenn ich an den Tabellen rumgeschraubt habe – was unwahrscheinlich, aber testenswert wäre …)
2. Weiter mit zur Laufzeit erstellten DSs arbeiten (obwohl das verdammt unschön ist)
Ich hoff, ich konnte mich einigermaßen klar ausdrücken ...
Danke für eure Hilfe,
Noyne
Your computer is running... You better go chase it!