![]() |
nullen ersetzen in sql abfrage
hi leute
ich hab mal wieder ein kleines prob und bin heut nicht so auf der höhe daher folgende frage : ich habe mir einen union select gebastelt und da ist ja voraussetzung, dass in jedem select die gleiche anzahl der felder vorkommt. daher musste ich mir auch "platzhalter" anlegen. die platzhalter geben mir eine "0" aus. die eigentlichen felder sind jedoch datumsfelder. jetzt das problem : wenn ich den select durchführe und die daten in mein db grid einfliessen und anzeigen lassen möchte kommt ein fehler und zwar , dass er ein datum erwartet aber einen widestring findet . ich denk mal das hängt mit den nullen zusammen. wie kann ich das umgehen oder abändern, dass statt den nullen einfach leere felder an den stellen dann jeweils angezeigt werden ?! thx 4 help mfg stoni |
Re: nullen ersetzen in sql abfrage
probier mal die methoden "OnGetText". Weiß nicht genau, ob dir das hilft, könnte aber sein.
mfg rochus |
Re: nullen ersetzen in sql abfrage
kannst du mal bitte deine abfrage posten, evtl. gibts dann mehr tips.
|
Re: nullen ersetzen in sql abfrage
Moin,
wie wärs mit einem anderen Platzhalter z.B '' as Spalte. Ich nutze das teilweise in Access. |
Re: nullen ersetzen in sql abfrage
Die SQL Abfrage und das verwendete Datenbanksystem (MSSQL, Access, MySQL...) wären echt hilfreich.
Da einige SQL Befehle nur auf bestimmten SQL Servern laufen und auf anderen nicht. Ich denke mal das deine Anfrage etwa so aussieht..
SQL-Code:
Du solltest die virtuelle Spalte entweder als NULL as 'Eintrittsdatum' bzw.
SELECT ID,Name,Vorname, Email, Eintrittsdatum FROM Personal
UNION ALL SELECT ID,Name,Vorname, Email, '0' as Eintrittsdatum FROM Adressen als "richtigen Datumswert" as "Eintrittsdatum" erstellen. Dein Grid sollte die Variante mit dem NULL akteptieren. :hi: |
Re: nullen ersetzen in sql abfrage
ok also hier mal der quellcode von der selectabfrage :
so habe ich es jetzt :
Delphi-Quellcode:
ich hoffe ihr könnt damit was anfangen
with ADODSMahnwesen do begin
Active:= False; sqlstrmahn:= 'SELECT auftrag.Repnr, auftrag.Annahmedatum, auftrag.Kunden_nummer, auftrag.Ean, ' + 'auftrag.Artikelbezeichnung, auftrag.Ausgangsdatum, auftrag.Beschaedigung1, 0 AS auftrag.Rep_zurueck_datum, ' + 'auftrag.Kudienst_mahn1, auftrag.KZ_Status, 0 AS auftrag.Kudienst_mahn2, 0 AS auftrag.Kundeninfo1 ' + 'FROM stamm INNER JOIN auftrag ON stamm.Ark = auftrag.Ark ' + 'WHERE (((auftrag.Ausgangsdatum)<(Date()-10)) AND ((auftrag.Kudienst_mahn1) Is Null) ' + 'AND ((auftrag.KZ_Status)="Ware in Reparatur" Or (auftrag.KZ_Status)="Ware für Kostenvoranschlag an Kundendienst")) ' + 'UNION SELECT auftrag.Repnr, auftrag.Annahmedatum, auftrag.Kunden_nummer, auftrag.Ean, ' + 'auftrag.Artikelbezeichnung, auftrag.Ausgangsdatum, auftrag.Beschaedigung1, 0 AS auftrag.Rep_zurueck_datum, ' + 'auftrag.Kudienst_mahn1, auftrag.KZ_Status, auftrag.Kudienst_mahn2, 0 AS auftrag.Kundeninfo1 ' + 'FROM stamm INNER JOIN auftrag ON stamm.Ark = auftrag.Ark ' + 'WHERE (((auftrag.Kudienst_mahn1)<(Date()-10)) AND ((auftrag.KZ_Status)="Ware in Reparatur" ' + 'Or (auftrag.KZ_Status)="Ware für Kostenvoranschlag an Kundendienst") AND ((auftrag.Kudienst_mahn2) Is Null)) ' + 'UNION SELECT auftrag.Repnr, auftrag.Annahmedatum, auftrag.Kunden_nummer, auftrag.Ean, ' + 'auftrag.Artikelbezeichnung, 0 AS auftrag.Ausgangsdatum, auftrag.Beschaedigung1, auftrag.Rep_zurueck_datum, ' + '0 AS auftrag.Kudienst_mahn1, auftrag.KZ_Status, 0 AS auftrag.Kudienst_mahn2, auftrag.Kundeninfo1 ' + 'FROM stamm INNER JOIN auftrag ON stamm.Ark = auftrag.Ark ' + 'WHERE (((auftrag.Rep_zurueck_datum)<(Date()-10)) AND ((auftrag.KZ_Status)="Ware an Lager") AND ((auftrag.Kundeninfo1) Is Null));'; CommandText := sqlstrmahn; Active:= True; @ jensw_2000 : ist eine access db so hatte ich es vorher :
Delphi-Quellcode:
sqlstrmahn:= 'SELECT auftrag.Repnr, auftrag.Annahmedatum, auftrag.Kunden_nummer, auftrag.Ean, '
+ 'auftrag.Artikelbezeichnung, auftrag.Ausgangsdatum, auftrag.Beschaedigung1, 0 AS Ausdr1, ' + 'auftrag.Kudienst_mahn1, auftrag.KZ_Status, 0 AS Ausdr2, 0 AS Ausdr3 ' + 'FROM stamm INNER JOIN auftrag ON stamm.Ark = auftrag.Ark ' + 'WHERE (((auftrag.Ausgangsdatum)<(Date()-10)) AND ((auftrag.Kudienst_mahn1) Is Null) ' + 'AND ((auftrag.KZ_Status)="Ware in Reparatur" Or (auftrag.KZ_Status)="Ware für Kostenvoranschlag an Kundendienst")) ' + 'UNION SELECT auftrag.Repnr, auftrag.Annahmedatum, auftrag.Kunden_nummer, auftrag.Ean, ' + 'auftrag.Artikelbezeichnung, auftrag.Ausgangsdatum, auftrag.Beschaedigung1, 0 AS Ausdr1, ' + 'auftrag.Kudienst_mahn1, auftrag.KZ_Status, auftrag.Kudienst_mahn2, 0 AS Ausdr2 ' + 'FROM stamm INNER JOIN auftrag ON stamm.Ark = auftrag.Ark ' + 'WHERE (((auftrag.Kudienst_mahn1)<(Date()-10)) AND ((auftrag.KZ_Status)="Ware in Reparatur" ' + 'Or (auftrag.KZ_Status)="Ware für Kostenvoranschlag an Kundendienst") AND ((auftrag.Kudienst_mahn2) Is Null)) ' + 'UNION SELECT auftrag.Repnr, auftrag.Annahmedatum, auftrag.Kunden_nummer, auftrag.Ean, ' + 'auftrag.Artikelbezeichnung, 0 AS Ausdr1, auftrag.Beschaedigung1, auftrag.Rep_zurueck_datum, ' + '0 AS Ausdr2, auftrag.KZ_Status, 0 AS Ausdr3, auftrag.Kundeninfo1 ' + 'FROM stamm INNER JOIN auftrag ON stamm.Ark = auftrag.Ark ' + 'WHERE (((auftrag.Rep_zurueck_datum)<(Date()-10)) AND ((auftrag.KZ_Status)="Ware an Lager") AND ((auftrag.Kundeninfo1) Is Null));'; |
Re: nullen ersetzen in sql abfrage
Dann sollte NULL as Ausdruck gehen
|
Re: nullen ersetzen in sql abfrage
leider nein :(
fehler zitat : die selcet anweisung schliesst ein reserviertes wort oder einen argumentnamen ein, das/der falsch, mit falscher zeichensetzung oder überhaupt nicht eingegeben wurde. |
Re: nullen ersetzen in sql abfrage
Code:
Das geht so nicht.
0 AS auftrag.Ausgangsdatum
Ausgangsdatum ist in diesen fall eine "virtuelle" Spalte Da musst du den Tabellenverweis weglassen. Wenn Access ...
Code:
... nicht akzeptiert dann versuche es mal bitte mit
NULL AS Ausgangsdatum
Code:
'' AS Ausgangsdatum
:hi: |
Re: nullen ersetzen in sql abfrage
aus, Schluß ... :wall:
SQL-Code:
so muß das ...
NULL AS 'Ausgangsdatum'
oder '' AS 'Ausgangsdatum' |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:58 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