![]() |
Smallint
Delphi3-Prof.+Paradox7-Tabellen
Anfänger Hallo, wer kann mir bitte helfen, für eine Adressen.db ein SmallInt herzustellen? I= Interessent IA=Interessent m. Angebot NK=Neukunde (1xgekauft) SK=Stammkunde AK=Altkunde (über ein Jahr nichts mehr gekauft) Gruß Lombi |
Re: Smallint
:wiejetzt:
Sollen wir dir jetzt sagen, dass du I mit 0, IA mit 1, NK mit 2, SK mit 3 und AK mit definieren sollst. |
Re: Smallint
Hallo LOMBI,
wenn du die Tabelle mit der Datenbankoberfläche erstellst, wählst du als Feldtyp S (=kleiner Integer). Die Interprätation der Werte ist Aufgabe deines Programmes. Du kannst dir zur Übersichtlichkeit entsprechende Konstanten definieren:
Delphi-Quellcode:
Const
knd_I = 0; // Interessent knd_IA = 1; // Interessent m. Angebot knd_NK = 2; // Neukunde (1xgekauft) knd_SK = 3; // Stammkunde knd_AK = 4; // Altkunde (über ein Jahr nichts mehr gekauft) // oder sogar knd_Interessent = 0; knd_Interessent_m_Angebot = 1; knd_Neukunde = 2; knd_Stammkunde = 3; knd_Altkunde = 4; |
Re: Smallint
Oder eine Aufzählung:
Delphi-Quellcode:
type
EKundentyp = ( INTERESSENT, INTERESSENTANGEBOT, NEUKUNDE, STAMMKUNDE, ALTKUNDE ); |
Re: Smallint
Besten Dank für die Antworten.
ich möchte mit diesen Smallints ein automatisches Status-System in die Adressen.db integrieren. Der Nutzer gibt eine neue Adresse ein und das erste Kürzel "I" erscheint automatisch im DBEdit-Feld für Status. Sobald für diese Adresse ein Angebot geschrieben wurde, "IA" usw. Wie wird bitte diese Automatik erzeugt? Gruß Lombi |
Re: Smallint
Hallo Lombi,
mit Automatik ist da nix :mrgreen: . Du solltest das AfterPost Event der Auftragstabelle benutzen, um den Status des Kunden zu prüfen und ggf. neu zu setzen. |
Re: Smallint
Was hat das ganze eigentlich mit Smallints zu tun?
|
Re: Smallint
Hallo LOMBI,
zur Frage nach einem guten Buch zur Datenbankprogrammierung, könnte ich folgendes ![]() |
Re: Smallint
Zitat:
Ein SmalInt ist ein "kleiner" Integer. Also eine Ganzezahl ohne Kommastellen. ![]() In der Delphi 7 Onlinehilfe steht Ein Integer-Typ repräsentiert eine Untermenge der ganzen Zahlen. Es gibt zwei generische Integer-Typen: Integer und Cardinal. Diese Typen sollten, wenn möglich, immer verwendet werden, da sie die optimale Ausführungsgeschwindigkeit für die zugrundeliegende CPU und das Betriebssystem gewährleisten. Die nachfolgende Tabelle enthält die Bereiche und Speicherformate der generischen Integer-Typen für den aktuellen 32-Bit-Compiler von Delphi. Generische Integer-Typen für 32-Bit-Implementationen von Delphi
Code:
Zu den fundamentalen Integer-Typen gehören Shortint, Smallint, Longint, Int64, Byte, Word und Longword.
Typ Bereich Format
Integer -2147483648..2147483647 32 Bit, mit Vorzeichen Cardinal 0..4294967295 32 Bit, ohne Vorzeichen Fundamentale Integer-Typen
Code:
Typ Bereich Format
Shortint -128..127 8 Bit, mit Vorzeichen Smallint -32768..32767 16 Bit, mit Vorzeichen Longint -2147483648..2147483647 32 Bit, mit Vorzeichen Int64 -2^63..2^63-1 64 Bit, mit Vorzeichen Byte 0..255 8 Bit, ohne Vorzeichen Word 0..65535 16 Bit, ohne Vorzeichen Longword 0..4294967295 32 Bit, ohne Vorzeichen |
Re: Smallint
Zitat:
Kann es sein, dass Du eine Nachschlage Tabelle (Lookup Table) möchtest. Du hast eine Haupttabelle (Master) mit z.B. folgenden Feldern: Adressen.db Adr_ID: Integer Name: string(40) Vorname: string(40) Status_ID: Integer Adresse: string(200) ... Nun gibt es eine Nachschlagetabelle (Slave) mit folgenden Feldern: Status.db Status_ID: Integer Status: string(2) Status_Text: string(20) In der Status Tabelle steht folgendes drin:
Code:
Es gibt nun die Möglichkeit in Delphi 2 Tabellen (TTable) so miteinander zu verknüpfen, dass automatisch der Status und der Status_Text statt der Status_ID (also des Integers) angezeigt wird.
Status_ID Status Status_Text
1 I Interessent 2 IA Interessent m. Angebot 3 NK Neukunde (1xgekauft) 4 SK Stammkunde 5 AK Altkunde (über ein Jahr nichts mehr gekauft) Es gibt unzählige Möglichkeiten solch eine Verknüpfung herzustellen. Eine Möglichkeit zur Anzeige in Grids (z.B. TDBGrid) ist:
Das bringt aber nur etwas bei der Anzeige. Zum Eingeben verwenden Sie am besten die TDBLookupComboBox. Das ist eine ComboBox, die in die mit DataSource verbundene Tabelle einen Integer abspeichert. Aber aus der mit ListSource verbundenen Tabelle das unter ListField anzeigt. Einfach mal F1 drücken und die Hilfe zu der Komponente lesen ;-) Ich hoffe dieser Artikel hilft weiter Viel Spaß Dr. MaBuSE |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:20 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-2025 by Thomas Breitkreuz