AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi ADS: Ein bestimmtes Datenfeld selektieren
Thema durchsuchen
Ansicht
Themen-Optionen

ADS: Ein bestimmtes Datenfeld selektieren

Ein Thema von Mike_on_Tour · begonnen am 28. Feb 2008 · letzter Beitrag vom 29. Feb 2008
Antwort Antwort
Mike_on_Tour

Registriert seit: 16. Aug 2007
195 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

ADS: Ein bestimmtes Datenfeld selektieren

  Alt 28. Feb 2008, 10:00
Datenbank: ADS • Version: 8 • Zugriff über: ADS Components
Hallo,

ich habe folgendes Problem:

Es gibt zwei Tabellen: KUNDEN, LAND
In beiden Tabellen gibt es ein Feld mit der Abkürzung der Ländernamen (immer 3 Zeichen).
In der Tabelle LAND gibt es je ein Feld mit dem vollständigen Landesnamen in der jeweiligen Landessprache. Diese Felder sind immer mit "LandnameXXX" bezeichnet, wobei XXX die Abkürzung des Ländernamen ist.

Der Zugriff im Programm funktioniert. Es wird mit 'Table.FindField' geprüft, ob das Datenfeld mit der jeweiligen Landessprache (aus der Windowseinstellung) existiert. Gibt es das Datenfeld nicht, verwendet das Programm das Datenfeld "LandnameDEU" (Deutschland).

Beim Ausdruck (mit FastReport 3.23) der Kundenliste soll der Ländername in der jeweiligen Landessprache verwendet werden. Die Daten für den Report werden von einem Query bereitgestellt.

Mir ist momentan aber noch unklar, wie ich mit dem Query oder dem Report nur auf das Datenfeld "LandnameXXX" zugreifen und damit einen Platzhalter im Report befüllen kann.

Über ein paar Vorschläge würde ich mich freuen.

Mike
Programmieren ist wie das Wandeln auf dem schmalen Pfad zwischen Wahnsinn und Intelligenz.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: Ein bestimmtes Datenfeld selektieren

  Alt 28. Feb 2008, 10:11
In dem du im Query filterst
Markus Kinzler
  Mit Zitat antworten Zitat
Mike_on_Tour

Registriert seit: 16. Aug 2007
195 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#3

Re: Ein bestimmtes Datenfeld selektieren

  Alt 28. Feb 2008, 10:16
Zitat von mkinzler:
In dem du im Query filterst
Kannst Du da mal ein kleines Beispiel angeben, wie ich im Query eine Spalte filtern muß ?
Programmieren ist wie das Wandeln auf dem schmalen Pfad zwischen Wahnsinn und Intelligenz.
  Mit Zitat antworten Zitat
Mike_on_Tour

Registriert seit: 16. Aug 2007
195 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#4

Re: Ein bestimmtes Datenfeld selektieren

  Alt 29. Feb 2008, 07:45
Zitat von mkinzler:
In dem du im Query filterst
Die richtige Antwort z.B. wäre gewesen: mit einem "StringReplace".
Programmieren ist wie das Wandeln auf dem schmalen Pfad zwischen Wahnsinn und Intelligenz.
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.487 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: ADS: Ein bestimmtes Datenfeld selektieren

  Alt 29. Feb 2008, 08:30
Hallo,

ich würde an Deiner Stelle die Datenstruktur überarbeiten. Willst Du tatsächlich für jede neue Sprache ein weiteres Feld in der Tabelle anlegen? Mach lieber eine zweite Tabelle mit den landessprachlichen Landesbezeichnungen, dann kannst Du es z.B. so abfragen:

SQL-Code:
select isnull(laendernamen.bezeich, laender.bezeich) as Bezeich
from kunden
left outer join laender on laender.land = kunden.land
left outer join laendernamen on laendernamen.land_id = laender.id and laendernamen.sprache = Kunden.sprachcode
Im jeweiligen Laender-Datensatz ist dabei das Feld "bezeich" mit der deutschen Bezeichnung gefüllt. So bräuchtest Du immer nur neue Sprachen in die Laendernamen Tabelle anzufügen.

Beispiel Tabelle Länder:
Code:
Id Land Bezeich
1  DE  Deutschland
2  FR  Frankreich
Beispiel Tabelle Ländernamen:
Code:
Land_id Sprache Bezeich
1       DEU     Deutschland
1       FRA     Allemagne
1       ENU     Germany
1       ENG     Germany
2       FRA     France
2       SPA     Francia
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
Mike_on_Tour

Registriert seit: 16. Aug 2007
195 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#6

Re: ADS: Ein bestimmtes Datenfeld selektieren

  Alt 29. Feb 2008, 09:15
Zitat von Union:
Willst Du tatsächlich für jede neue Sprache ein weiteres Feld in der Tabelle anlegen?
Im Moment handelt es sich um max. 3 bis 5 Sprachen (de,en,dk,pl,cz) und ich müßte eine schnelle Lösung bieten. Da ist eine Tabelle gerade noch ausreichend und der Austausch im Query mit einer einzigen Programmzeile auch sehr einfach.
Zitat von Union:
Mach lieber eine zweite Tabelle mit den landessprachlichen Landesbezeichnungen, dann kannst Du ...
Dein Vorschlag ist sehr gut. In der nächsten Programmversion kann ich das dann realisieren. Besten Dank.
Programmieren ist wie das Wandeln auf dem schmalen Pfad zwischen Wahnsinn und Intelligenz.
  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 04:32 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