Autor Beitrag
TheWhitePhoenix
Hält's aus hier
Beiträge: 13

Linux, Win 2000 Server, Win XP Pro
D2 Std, D2 C/S, D6 Pers, D2005 Pers
BeitragVerfasst: Di 13.05.08 21:53 
Hallo Delphianer,

hoffe einer von euch Kann mir hilfe Leisten. Ich habe ein Kleines Stand-a-Lone Tool zur Abfrage der Kunden Kontakt-Informationen entwickelt.

Dafür wird mitels ODBC (ADO) eine SSL-Verschlüsselte Verbindung auf den MySQL-Server geschaltet. Dahinter ist eine TQuery Komponente die folgenden SQL befehl ausführt:
ausblenden SQL-Anweisung
1:
select ID, Name1, Abt, Telefon1, Telefon2, Fax1, Fax2 from kunden;					


Die Query wird zur Laufzeit aktiviert und ist mit einer DataSource verbunden. Nun frage ich die Informationen über eine DBLookupComboBox ab (sortiert über die ID). Das funktioniert auch ganz gut. Nun mein Problem - Mein Chef möchte das man die Abfrage auch über den Kunden-Namen durchfüren kann - soweit so gut dachte ich setzt du einfach noch ein DBLookupComboBox dazu konfigurierts diese auf den Name1 und dann geht das schon ist auch schon soweit richtig das Problem ist halt das einige Kunden-Namen Doppelt vorhanden sind (nur Unterschiedliche Abtteilungen und ich dadurch störungen und Fehler in der Zweiten DBLookupComboBox bekomme (Doppelauswahlen, usw.) gibts da eine Möglichkeit sowas zu Unterdrücken und die Anzeige vernüftig hinzubekommen ohne das ich die Duplikate rausnehmen muss das es ja unterschiedliche Rufnammer, Abteilungen und FaxNr sind (z.B. Kunde 1 - Abt. Export und Kunde 1 - Abt. Import)

Ich hoffe jemand hat einen Tipp für mich und ich bedank mich schonmal im Vorraus für die Hilfe.

MfG

TheWhitePhoenix
SmileySN
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 297

WinXP, Win7
Delphi 2010 Professional
BeitragVerfasst: Di 13.05.08 22:15 
Du kannst mit SQL ein neues Feld aus verschiedenen Feldern zusammenbauen mit AS.
Beispiel:

ausblenden Delphi-Quelltext
1:
select ID, Name1, Abt, Telefon1, Telefon2, Fax1, Fax2, Name1+' '+Abt+' '+Telefon1 AS Name2 from kunden;					


Dann kannst Du Name2 als Feld für die Combobox benutzen.
TheWhitePhoenix Threadstarter
Hält's aus hier
Beiträge: 13

Linux, Win 2000 Server, Win XP Pro
D2 Std, D2 C/S, D6 Pers, D2005 Pers
BeitragVerfasst: Di 13.05.08 23:58 
user profile iconSmileySN hat folgendes geschrieben:
Du kannst mit SQL ein neues Feld aus verschiedenen Feldern zusammenbauen mit AS.
Beispiel:

ausblenden Delphi-Quelltext
1:
select ID, Name1, Abt, Telefon1, Telefon2, Fax1, Fax2, Name1+' '+Abt+' '+Telefon1 AS Name2 from kunden;					


Dann kannst Du Name2 als Feld für die Combobox benutzen.


Danke! Hatt funktioniert. Musste allerdings den SQL Befehl noch etwas Abwandeln da eine MySQL Datebnak dahinter steht siegt der Befehl dan so aus:
ausblenden SQL-Anweisung
1:
select ID, Name1, Abt, Telefon1, Telefon2, Fax1, Fax2, CONCAT(Name1,' ',Abt) AS Name4 from kunden;					


dann funktiniert es. Ach ja Name 2 und Name3 sind vorhandene Felder deswegen Name4. :wink:

Hmm. die Leichtesten Problem sind die wo mann die Lösung am Schwersten für findet.

MfG

TheWhitePhoenix
SmileySN
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 297

WinXP, Win7
Delphi 2010 Professional
BeitragVerfasst: Mi 14.05.08 08:37 
Somit hat das durcharbeiten des SQL-Buches dann doch einen Sinn gehabt, wenn auch nicht für mich :)
Habe in den letzten beiden Wochen 2 Bücher über SQL und Datenbanken allgemein durchgearbeitet und freue mich, das ich davon mal was direkt umsetzen konnte.
Wenn jemand mal ein gutes Delphibuch sucht, dann schaut nach dem Author Ebner.
Ich habe 30 Delphi Bücher, aber keiner hat mich beim lesen so fasziniert wie dieser Author.