Wert eines Tabellenfeldes in andere Tabelle übertragen

Für Themen zu Datenbanken und Zugriff auf diese. Auch für Datenbankkomponenten.

Wert eines Tabellenfeldes in andere Tabelle übertragen

Beitragvon Cuci » 21. Feb 2018, 21:28 Wert eines Tabellenfeldes in andere Tabelle übertragen

Hallo, ich bin dabei, mein Vermietungsprogramm von Delphi 2010 (BDE) auf Lazarus (MySQL) umzustellen weil ich nicht ewig Windows mitschleppen will . . .

Ist klar, dass es Unterschiede gibt, so etwa die Verwendung von MySQL anstelle der BDE. Ich habe eine 'Mieter'-Tabelle und eine 'Anrede'-Tabelle. Wenn ich einen neuen Mieter anlege, wähle ich die Anrede mittels einer DBLookupComboBox aus. Das Geschlecht soll automatisch in die Mieter-Tabelle eingetragen werden. Das geschieht im Delphi mit folgendem Code: Automatisch wird auch der Index aus Name und Vorname gebildet sowie das Datum eingetragen.

Code: Alles auswählen
procedure TFMain.NavigatorMieterPost;
var
    nam, vorn  : String;
begin
    FData.TableMieter.Open;
    FData.TableMieter.Edit;
 
    nam :=  FData.TableMieterName.Value;   { Datenfeld NameVorname automatisch füllen }
    vorn := FData.TableMieterVorname.Value;
    FData.TableMieterNameVorname.Value := nam + vorn;
 
    FData.TableMieterDatum.Value  :=  date;
 
    FData.TableMieterGeschl.Value := FData.TableAnredeGeschlec.Value;
 
    FData.TableMieter.Post;
    FData.TableMieter.Open;
end;


Unter Lazarus wird leider immer der Wert (Geschlecht) des ersten Datensatzes der Anrede-Tabelle gespeichert. :evil:
Zuletzt geändert von m.fuchs am 21. Feb 2018, 21:35, insgesamt 2-mal geändert.
Grund: Highlighter gesetzt
Cuci
 
Beiträge: 44
Registriert: 10. Dez 2015, 20:09
Wohnort: Wo es warm ist
OS, Lazarus, FPC: LinuxMint 18.3 Cinnamon - Win7 in VM - Lazarus 1.8.0 fpc 3.0.4 | 
CPU-Target: 64 bit
Nach oben

Beitragvon gladio » 22. Feb 2018, 07:46 Re: Wert eines Tabellenfeldes in andere Tabelle übertragen

Eventuell sind deine Tabellen Anrede und Mieter nicht in Relation, also Master-Detail.
Welche Datenbank hattest du denn in der Delphi-Version?
Die BDE ist/war nur eine Zwischenschicht zwischen Anwendung und Datenbank um die Handhabung der DB zu erleichtern.
Oder diese Zeile mal auskommentieren:
Code: Alles auswählen
 FData.TableMieterGeschl.Value := FData.TableAnredeGeschlec.Value;
gladio
 
Beiträge: 95
Registriert: 21. Jun 2014, 05:15
Wohnort: Insel Rügen
OS, Lazarus, FPC: Win7/10-32/64 - Laz 1.8 Standard-Edition | 
CPU-Target: 32/64Bit
Nach oben

Beitragvon Cuci » 22. Feb 2018, 18:26 Re: Wert eines Tabellenfeldes in andere Tabelle übertragen

Hallo gladio, ich habe nachgesehen: Die Tabellen sind auch im Dephi nicht in einer Master/Slave-Relation. Ich habe dort auch keine zusätzliche Datenbank, das macht wirklich alles die BDE.

Aber ich glaube, ich muss es mit Bookmarks versuchen, um auf den richtigen Datensatz der Tabelle 'Anrede' zu kommen. Ich hatte schon damit experimentiert, aber keinen Erfolg gehabt. Also werde ich das nochmal angehen.

Gruß Harald
Cuci
 
Beiträge: 44
Registriert: 10. Dez 2015, 20:09
Wohnort: Wo es warm ist
OS, Lazarus, FPC: LinuxMint 18.3 Cinnamon - Win7 in VM - Lazarus 1.8.0 fpc 3.0.4 | 
CPU-Target: 64 bit
Nach oben

• Themenende •

Zurück zu Datenbanken



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste

porpoises-institution
accuracy-worried