![]() |
Datenbank: Paradox • Version: 7 • Zugriff über: BDE
Feldbezeichnung herausfinden
Hallo zusammen
Vielleicht bin ich ein bisschen blöd oder schon zu müde. Habe ein Problem. Ich habe eine Tabelle (Kunden.DB) mit Feldern Name, Vorname, Datum1, Datum2, Datum3, datum4. In irgendeinem Feld (Datum1 bis Datum4) ist beispielsweise das Datum "13.08.2007" eingegeben. Wie finde ich jetzt heraus, in welchem Feld das Datum eingegeben ist? Bis jetzt habe ich folgenden Code:
Delphi-Quellcode:
Tabelle 4 hat die Felder Name und Task.
procedure TForm1.Button33Click(Sender: TObject);
var Field1 : string; begin //Hilfstabelle löschen Table4.First; while table4.Eof = false do begin Table4.Delete; end; with Query1 do //alle Datensätze in Kunden.DB durchsuchen nach gewähltem Datum begin //SQL.Text := 'Select * from Kunde.DB where Request_Formular = :datum'; Close; Params.ParamByName('datum').AsDateTime := Trunc(DateTimePicker4.Date); // RequestLive := True; // im Object Inspector gesetzt Open; end; Query1.First; While Query1.Eof = false do //gefundene Datensätze in Hilfstabelle füllen begin Table4.Edit; Table4.Insert; Table4.FieldByName('Name').AsString := Query1.FieldByName('Nachname').AsString; Table4.FieldByName('Task').AsString := Field1; Table4.Post; Query1.Next; end; end; In der Tabelle Kunde.DB finde ich nun alle Datensätze welche das gesuchte Datum enthalten. Jetzt sollte ich aber wissen in welchem Feld das Datum eingegeben ist und den Feldnamen des betreffenden Feldes in eine Variable laden und in die Hilfstabelle einfügen. Kann mir da jemand helfen. |
Re: Feldbezeichnung herausfinden
Hallo,
alle Datensätze einer Tabelle kannst du mit der Methode EmptyTable() entfernen, aber warum willst du eine statische Tabelle benutzen, wenn es auch eine Query tun würde? Das Prinzip ist einfach:
SQL-Code:
Grüße vom marabu
SELECT nachname AS name, datum1 AS datum
FROM kunde WHERE datum1 = :datum1 UNION SELECT nachname AS name, datum2 AS datum FROM kunde WHERE datum2 = :datum2 UNION ... |
Re: Feldbezeichnung herausfinden
Hallo Marabu, danke für Deine aufopfernde Hilfe. Es ist nicht ganz das was ich wollte. Ich zeichne hier mal auf wie der Output aussehen sollte:
Name ------------------------Task Meier--------------------------Request_Formular Müller-------------------------Request_Formular Schmidt-----------------------Approval_legale Heinecken--------------------Request_Formular Die Tabelle KUNDE hat die Felder Nachname (Alpha), Request_Formular (Datum), Approval_legale (Datum)- In Tabelle KUNDE hat es folgende Daten: Name ------------------Request_Formular------------------Approval_legale Meier-------------------18.08.2007-------------------------22.08.2007 Müller------------------18.08.2007-------------------------22.08.2007 Schmidt----------------12.08.2007-------------------------18.08.2007 Heinecken-------------25.08.2007------------------------31.08.2007 Wenn ich jetzt mit Hilfe des DateTimePicker die Datensätze durchsuche und sage ich will alle die das Datum 18.08.2007 irgendwo eingegeben haben, dann sollte doch der Output so aussehen: Meier--------------------------Request_Formular Müller-------------------------Request_Formular Schmidt-----------------------Approval_legale Nun, wie komme ich zu diesem Output?? |
Re: Feldbezeichnung herausfinden
Guten Morgen,
nur eine kleine Änderung ist nötig:
SQL-Code:
Freundliche Grüße
SELECT nachname AS name, 'Request_Formular' AS task
FROM kunden WHERE Request_Formular = :rf UNION SELECT nachname AS name, 'Approval_legale' AS task FROM kunden WHERE Approval_legale = :al |
Re: Feldbezeichnung herausfinden
Hallo,
warum schreibst du nicht select * from kunde where (datum1=:'18.08.2007') or (datum2='18.08.2007') or (datum3='18.08.2007') or (datum4='18.08.2007') Das ganze nat. als Parameter (sieht schöner aus) Heiko |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:43 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