AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken DBcombobox//DBlookupcombobox
Thema durchsuchen
Ansicht
Themen-Optionen

DBcombobox//DBlookupcombobox

Ein Thema von nonkonformist · begonnen am 29. Nov 2005 · letzter Beitrag vom 3. Aug 2006
Antwort Antwort
nonkonformist

Registriert seit: 17. Nov 2005
8 Beiträge
 
#1

DBcombobox//DBlookupcombobox

  Alt 29. Nov 2005, 16:20
servus

ich muss in eine dbcombobox andere werte anzeigen lassen als in der datenbank stehen.

also mein problem is das mein dbfeld 0,1 steht, ich aber ausgabe in worten haben will in der combobox.
ich will aber keine neue tabelle anlegen oder eine neue spalte anlegen.

ich habe mir da mal die dblookupcombobox angeschaut kann man da nur zwei felder aus einer datenbank verbinden, und die dann ausgeben.

mfg nonkonformist
  Mit Zitat antworten Zitat
29. Nov 2005, 16:26
Dieses Thema wurde von "Sharky" von "Fragen / Anregungen zur DP" nach "Datenbanken" verschoben.
Hai neuer User, das ist leider die falsche Sparte die Du gewählt hast. Darum verschiebe ich deinen Beitrag.
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#3

Re: DBcombobox//DBlookupcombobox

  Alt 2. Aug 2006, 20:06
Thread ohne Antwort ? Der paßt aber trotzdem. Habe ein ähnliches Problem. 2 Tables : Artikel und Mwst. Pro Artikel wird 0,1 oder 2 im Artikel gespeichert (für 0%, 7%, 16/19%) Der korrespondierende Mwst.-Satz im Klartext steht in der Table Mwst. und zwar datumabhängig. Vielleicht noch die Tabelle :

SQL-Code:
CREATE TABLE MWST (
    ID INTEGER NOT NULL,
    MWSTSATZ SMALLINT DEFAULT 0 NOT NULL,
    ABDATUM DATE,
    MWSTWERT DECIMAL(15,2),
    ANGELEGT TIMESTAMP,
    LETZTEAENDERUNG TIMESTAMP
);
Fogendes will ich erreichen : die Combobox (falls aufgeklappt) soll die Werte quasi aus den Spalten MWSTSATZ und MWSTWERT aller Datensätze anzeigen, die es zum aktuellen Datum gibt. D.h.: ab 1.1.2007 :

1 0%
2 7%
3 19%

Das Eingabefeld müßte auch so aussehen. Ist so etwas mit einer DB(Lookup)Combobox möglich ? Habe vor, die (wie gesagt datumsabhängige) richtige Datenmenge mit FOR SELECT zusammenzubauen. Der User soll folgendes sehen / machen können. Z.B. er legt neuen Artikel an. Im zugeklappten Zustand steht im Eingabefeld der Combobox dann "0 (0%)" Drückt er die Taste "3" dann soll der aktuelle Mwst.-Satz zu sehen sein, das wäre jetzt also "3 (16 %)". Klappt er die Box auf und klickt die 3 an, dann solls halt ähnlich sein. Hat einer eine bessere Idee, dann her damit. Oder geht so was mit normaler Combobox besser ?
Gruß
Hansa
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: DBcombobox//DBlookupcombobox

  Alt 2. Aug 2006, 20:19
Ist möglich, da bei einer DBLookupComboBox das angezeigte Feld und das Feld das bei der Auswahl übernommen ist getrennt eingestellt werden kann. D.h. .ListField wäre dann 'MWSTSATZ' und .KeyField = 'ID'. Mehere Felder kannst du anlegen von temp Feldern im SELECT ( concat) erzeugen und dieses Feld dann las .ListField nehmen.
Markus Kinzler
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#5

Re: DBcombobox//DBlookupcombobox

  Alt 2. Aug 2006, 20:37
Gerade gepostet, da fiel mir wieder ein, wo ich das schon gesehen hatte. 8) Es war in diesem Text :

http://community.borland.com/article...,27653,00.html

Übrigens sehr interessanter Artikel ! Ausgedruckt auf Seite 7 um das Bild gehts. Auf Anhieb sehe ich allerdings jetzt nicht, was der da verwendet hat. Normale Combobox, DBLookupbox oder was ? Das direkt im Select zusammen in ein Feld zu packen, das ist allerdings auch sehr gute Idee. Nur, kriege ich das auch wieder auseinander zum abspeichern ? Bild alleine hänge ich mal noch hier dran.
Miniaturansicht angehängter Grafiken
fig05_146.jpg  
Gruß
Hansa
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: DBcombobox//DBlookupcombobox

  Alt 2. Aug 2006, 20:41
Zitat:
Nur, kriege ich das auch wieder auseinander zum abspeichern ?
Dürfte nicht nötig sein, da ja die ID (oder was als KeyField ausgewählt ist) gespeichert wird.
Markus Kinzler
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#7

Re: DBcombobox//DBlookupcombobox

  Alt 3. Aug 2006, 00:06
Das wird komplizierter als gedacht. Ob es so überhaupt machbar ist, das ist mir noch nicht sicher genug. Es ist nämlich noch ein Quereffekt aufgetaucht, der mich aufhält.

Die Tabelle steht ja schon weiter oben. Folgendes ist jetzt noch hinzugekommen : eine SP, wie gesagt soll die alle zu einem bestimmten Datum vorhandenen Mwst-Sätze auflisten,

SQL-Code:
CREATE PROCEDURE ERMITTLE_ALLEMWSTSP (
    ABDATUM DATE)
RETURNS (
    ID_OUT INTEGER,
    MWSTSATZ_OUT INTEGER,
    ABDATUM_OUT DATE,
    MWSTWERT_OUT DECIMAL(15,2))
AS
begin
FOR
  SELECT ID,MWSTSATZ,ABDATUM,MWSTWERT FROM MWST
  WHERE (ABDATUM <= :ABDATUM) <-- so noch nicht richtig, aber egal. Werte werden geliefert
  INTO :ID_OUT,:MWSTSATZ_OUT,:ABDATUM_OUT,:MWSTWERT_OUT
  DO
  SUSPEND;
end^
Diese gelieferte Datenmenge lese ich so aus (SelectSQL im OI für Dataset) :

SELECT * FROM ERMITTLE_ALLEMWSTSP8 (:ABDATUM) Zu Testzwecken habe ich ein DBGrid verwendet. Dieses zeigt auch 3 Datensätze an (momentan alle angelegten)), also die mit RETURNS zurückgelieferten Spalten. Ich hänge jetzt an folgendem : es geht nicht, die ListField/KeyFields usw. zu bestücken (betrifft nur Design-Time). "unexpected end of command..." Der zur Design-Time fehlende Parameter wird das sein.

Was ist da zu tun ? Es wäre echt sehr mühsam, das zur Laufzeit alles zu bestücken.
Gruß
Hansa
  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 19:33 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