Jump to content

Thorsten1967

Members
  • Gesamte Inhalte

    2
  • Registriert seit

  • Letzter Besuch

Alle erstellten Inhalte von Thorsten1967

  1. Hallo Expert Member, ich bin leider nicht so der Sql-Profi. Aber ich gehe davon aus das es eine View ist. Auf das Order bzw. die Sortierung könnte ich verzichten. Das Hauptproblem sind aber die Abfragen und die zusammengesetzten Inhalte der Spalten wie hier: CAST(b.Belegjahr AS VARchar) + '-' + CAST(b.Belegnummer AS varchar) AS Belegnummer, Greife ich von dem Client über Excel auf die Sicht/View zu werden die Spalteninhalte angezeigt, also scheinen die Rechte O.K. zu sein. Kurz: funktioniert: b.A0Name1 AS Name1, funktioniert NICHT: CASE WHEN (b.A1Name1 IS NULL) THEN b.A0Name1 ELSE b.A1Name1 END AS Name1
  2. Hallo zusammen, wir nutzen eine SQL 2012 er Datenbank sowie eine erstellte Sicht. Auf diese Sichtungstabellen werden von anderen Rechnern mit einer Software (DPD DelisPrint Versandsoftware) zugegriffen. Diese Sichtungstabellen lassen sich sowohl auf dem SQL Manager als auch von der Versandsoftware (DPD) aufrufen. Von der Versandsoftware allerdings nur die Überschriften der Spalten der Sichtabelle. Einige Spalten bzw deren Inhalte der Sichtungstabellen besitzen allerdings eine Abfrage, z.b. mit Case oder IIF und diese Spalten mit der Abfrage sind beim Aufruf mit unserer Versandsoftware (DPD) dann leider leer, also nicht gefüllt. Ruft man die Tabelle am Client mit Excel auf, sind die Spalten jedoch vorhanden und gefüllt. Die Tabelle ansicht scheint somit O.K. zu sein. Nur die Versandsoftware hat anscheinend Probleme auf Sichtungstabellen zuzugreifen die eine Abfrage besitzen. Füllt man die Sicht mit einem einfachen Befehl z.B. b.A0Name1 AS Name1, funktioniert es. Bei einer älteren SQL Server Version hat es einwandfrei funktioniert. Irgendetwas muss bei SQL 2012 nun anders sein. Hat jemand Lösungsvorschläge. ??? Hier einmal unsere komplette Sicht: SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO DROP VIEW [dbo].[vwicVersandadressen] GO CREATE VIEW [dbo].[vwicVersandadressen] AS SELECT TOP (100) PERCENT CAST(b.Belegjahr AS VARchar) + '-' + CAST(b.Belegnummer AS varchar) AS Belegnummer, b.A0Empfaenger AS Kundennummer, CASE WHEN (b.A1Name1 IS NULL) THEN b.A0Name1 ELSE b.A1Name1 END AS Name1, CASE WHEN (b.A1Name1 IS NULL) THEN b.A0Name2 ELSE b.A1Name2 END AS Name2, CASE WHEN (b.A1Name1 IS NULL) THEN b.A0Zusatz ELSE b.A1Zusatz END AS Name3, CASE WHEN (b.A1Name1 IS NULL) THEN b.A0Zusatz ELSE b.A1Zusatz END AS Expr1, CASE WHEN (b.A1Name1 IS NULL) THEN b.A0Strasse ELSE b.A1Strasse END AS Strasse, CASE WHEN (b.A1Name1 IS NULL) THEN b.A0PLZ ELSE b.A1PLZ END AS PLZ, CASE WHEN (b.A1Name1 IS NULL) THEN b.A0Ort ELSE b.A1Ort END AS Ort, CASE WHEN (b.A1Name1 IS NULL) THEN b.A0Land ELSE b.A1Land END AS Land, ISNULL(b.WebEMail, a.EMail) AS EMail FROM dbo.KHKVKBelege AS b INNER JOIN dbo.KHKAdressen AS a ON b.A0AdressNr = a.Adresse AND a.Mandant = b.Mandant WHERE (b.Mandant = 1) ORDER BY b.Belegjahr DESC, Belegnummer DESC GO
×
×
  • Neu erstellen...