AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi New Record -> DBLookUpComboBox wird gelöscht....
Thema durchsuchen
Ansicht
Themen-Optionen

New Record -> DBLookUpComboBox wird gelöscht....

Ein Thema von Stern · begonnen am 2. Jan 2008 · letzter Beitrag vom 2. Jan 2008
Antwort Antwort
Benutzerbild von Stern
Stern

Registriert seit: 26. Feb 2007
Ort: Köln
74 Beiträge
 
#1

New Record -> DBLookUpComboBox wird gelöscht....

  Alt 2. Jan 2008, 14:15
Datenbank: IB • Zugriff über: VLC
Hallo zusammen,

zunächst wünsche ich euch allen ein frohes neues Jahr und hoffe, dass die delphipraxis 2008 genauso erfolgreich läuft wie im Vorjahr... Wobei ich mir in diesem Punkt schon mal ganz sicher bin.

Weniger sicher bin ich mir momentan im Umgang mit einer wwDBLookUpComboBox
Ich habe eine wwDBLookupComboBox und mehrere DBEdit-Felder. Ich lasse mir die ComboBox und meine Felder aus der DB füllen.
Sämtliche Zuweisungen zu DS, LookUp-Fields, etc... habe ich über die Eigenschaften vorgenommen. Das funktioniert in sofern auch alles wunderbar. Ich kann bestehende Einträge editieren und aus einem DBGrid auch aufrufen. Nun habe ich allerdings ein Problem, wenn ich einen neuen Record anlegen will. Da in der LookUpComboBox der PrimaryKey steht, sollte ich ja nun auch einen neuen in diesem Feld anlegen können. Das geht auch, doch sobald ich das Feld verlasse und in das nächste Feld springe, wird meine ComboBox "geleert" und ich habe dort nichts mehr drinstehen.

Wie gehe ich das am Besten an, dass dieses Löschen beim Verlassen verhindert wird...

Liebe Grüße
Steffi
steffi
  Mit Zitat antworten Zitat
Benutzerbild von mikhal
mikhal

Registriert seit: 11. Sep 2003
Ort: Linz am Rhein
796 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: New Record -> DBLookUpComboBox wird gelöscht....

  Alt 2. Jan 2008, 21:05
Ich kenne jetzt nicht die speziellen wwLookupComboBoxen, aber normalerweise kannst du in einer DBLookupComboBox nur Werte auswählen, die bereits in der entsprechenden Lookup-Tabelle enthalten sind.

Einen PK lasse ich grundätzlich nicht vom Benutzer eingeben, da sind Probleme vorprogrammiert. Eine PK lasse ich in Firebird prinzipiell über einen Generator füllen. Dazu gibt es verschiedene Methoden, um sicherzustellen, dass das PK-Feld garantiert gefüllt wird: über einen Trigger, bevor der Datensatz gespeichert wird, Aufruf des nächsten Generator-Wertes über GEN_ID(<GeneratorName>,<Step-Wert>) oder bei den IBDAC-Komponenten über die Properties "KeyGenerator", "KeyGields" und "GeneratorStep".

SQL-Code:
-- Beispiel für einen BeforeInsert-Trigger, generiert mit IB Expert
-- Generator GEN_ADR_ID mit einem Autowert füllen
-- zu füllendes Feld ADR_ID => PK der Tabelle ADR_ADRESSEN
CREATE OR ALTER TRIGGER ADR_ADRESSEN_BI FOR ADR_ADRESSEN
ACTIVE BEFORE INSERT POSITION 0
AS
BEGIN
  IF (NEW.ADR_ID IS NULL) THEN
    NEW.ADR_ID = GEN_ID(GEN_ADR_ID,1);
END
Grüße
Mikhal
Michael Kraemer
Computer erleichtern die Arbeit...
...und die Erde ist eine Scheibe!
  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 20:37 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