![]() |
Re: Feld an den Anfang einer Tabelle hinzufügen
Hä?
Ich will doch die Spalten der anderen Tabelle da automatisch hinzufügen , ich will doch nicht extra noch die Spalten ein zweites mal mit createtable erzeugen , und dann die inhalte von tabelle 1 da rein kopieren.. ?!? Das wird alles viel zu umständlich. :chat: |
Re: Feld an den Anfang einer Tabelle hinzufügen
:wiejetzt: Du willst Tabelle A nach Tabelle B kopieren. Entweder Du erstellst Tabelle B vorher mit allen benötigten Spalten (und den erforderlichen Namen) oder Du erstellst die Tabelle zur Laufzeit mit allen benötigten Spalten.
|
Re: Feld an den Anfang einer Tabelle hinzufügen
Hallo DBMan,
ich habe das so verstanden, dass du die Originaltabelle nimmst, diese leerst und anschließend über die Datenbank Oberfläche vorne eine ID Feld hinzufügst. Diese Tabelle solltest du dann als Destination angeben. Grundsätzlich solltest du dir auch mal den Wert der Eigenschaft Mode von TBatchMove anschauen. Nur batCopy erzeugt eine neue Tabelle (aber mit der Struktur der alten Tabelle, dort würde also das ID Feld fehlen). |
Re: Feld an den Anfang einer Tabelle hinzufügen
DARUM geht es doch als einziges.
Ich will nicht über die Datenbankoberfläche dieses eine Feld hinzufügen sondern über den Code.... Aber das kriege ich nicht hin. Das is auch schon mein einziges Problem (aber scheint ja doch komplizierter zu sein). :spin: |
Re: Feld an den Anfang einer Tabelle hinzufügen
Hallo DBman,
sach dat doch gleich... :mrgreen: Also, wenn du das Feld vorne anfügen willst, war der Code, den du oben gepostest hast ja schon richtig. Du hast in Table2 das Feld Zaehler als erstes Feld eingefügt. Anschließend -und das fehlte in deinem Code noch- kannst du die FieldDefs von Table1 in einer Schleife den FieldDefs von Table2 zuweisen und dann, abschließend, mit Bachmove unter Berücksichtigung des Mapping Arrays die Daten kopieren. Am Ende ggf. noch die Tabellen umbenennen. |
Re: Feld an den Anfang einer Tabelle hinzufügen
Mr Spock ich hab das jetzt so gemacht , das einzige was nur noch nich funktioniert ist das umbennen der Tabelle am Ende:
Delphi-Quellcode:
und da kriege ich die Fehlermeldung , dass die Tabelle(table1) bereits im Gebrauch ist ... aber ich habe die doch geschlossen...
//....
Batchmove.Execute; Table1.Active:=false; Table2.Active:=false; Table2.RenameTable(Table1.TableName); ? :bounce1: ? |
Re: Feld an den Anfang einer Tabelle hinzufügen
Hallo DBman,
Auszug aus der OH: Zitat:
|
Re: Feld an den Anfang einer Tabelle hinzufügen
Auch so geht es nicht:
Delphi-Quellcode:
Kriege wieder den gleichen Fehler dass die Tabelle noch im Gebrauch ist..
//...
Batchmove.Execute; Table1.Active:=false; Table2.Active:=false; alterTabellenName:=Table1.TableName; Table1.RenameTable('aaaa.db'); Table2.RenameTable(alterTabellenName); ? :bounce1: ? |
Re: Feld an den Anfang einer Tabelle hinzufügen
Und welche der beiden Tabellen?
|
Re: Feld an den Anfang einer Tabelle hinzufügen
Wieder Table1 , bzw. die Tabelle die mit Table1 verknüpft ist.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:15 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz