microsoft.pubkic.de.sqlserver
  Home FAQ Contact Sign in
Your Ad Here
microsoft.pubkic.de.sqlserver only
 
Advanced search
February 2007
motuwethfrsasuw
   1234 5
567891011 6
12131415161718 7
19202122232425 8
262728     9
2007
 Jan   Feb   Mar   Apr 
 May   Jun   Jul   Aug 
 Sep   Oct   Nov   Dec 
2007      
total
microsoft.pubkic.de.sqlserver Profile…
RELATED GROUPS

POPULAR GROUPS

more...


 Up
  Re: Mehrere Werte (1:n) in einem Feld einer Liste anzeigen         


Author: Stefan Dase
Date: Feb 21, 2007 05:32

Hannes Brunner schrieb:
>> (...)
>> Allerdings habe ich die Funktionsweise nicht ganz verstanden. Wodurch
>> wird denn hier eine Rekursion ausgelöst?
>
> Iteration, nicht Rekursion. Aber gute Frage. Hier wird ein meines
> Wissens nach undokumentiertes Feature von MS SQL Server ausgenutzt. Die
> Datensätze werden sequenziell abgearbeitet und für jeden Datensatz die
> Zuweisung @liste = @liste + ',' + Abteilung durchgeführt. Letztendlich
> wird also das SELECT in eine Schleife transformiert.

Ok, da merkt man dann doch meine kleinen Defizite zu einem "richtigen"
Informatiker. ^^
>> Sollte ja erst mal eine tabellarische Auflistung liefern, wie wird das
>> in eine Zeichenkette gewandelt? Ich muss jetzt nämlich noch
>> Mehrfachnennungen verhindern, die durch mehrere Gerätepositionen
>> verursacht werden. Kann ich dann einfach SELECT DISTINCT verwenden?
>
> DISTINCT klappt nicht, GROUP BY schon. Warum auch immer. Ist eben wie
> gesagt alles undokumentiert.
Show full article (1.06Kb)
no comments
  Re: Mehrere Werte (1:n) in einem Feld einer Liste anzeigen         


Author: Stefan Dase
Date: Feb 21, 2007 04:49

Hallo Stefan,
> Einen mehrspaltigen Unterbericht kannst du nicht verwenden?

Das geht leider nicht. Ich zeige diese Liste als Übersicht über alle
Geräte als Formular in der Datenblattansicht an. Per Doppelklick kann
der Benutzer sich dann die Details zum jeweiligen Drucker anschauen,
dort sind die Abteilungen dann auch mit einem Unterformular zuordnenbar.

Viele Grüße aus Bremen,
Stefan
no comments
Your Ad Here
  Re: Mehrere Werte (1:n) in einem Feld einer Liste anzeigen         


Author: Stefan Dase
Date: Feb 21, 2007 04:47

Hallo Christa,
> create function Abteilungsliste (@drucker varchar(50))
> returrns varchar(200)
> begin
> declare @liste varchar(200)
>
> set @liste = ''
>
> select @liste = @liste + ',' + Abteilung from Tabelle where Drucker =
> @drucker
>
> set @liste = left(@liste,len(@liste)-1) -- letztes Komma entfernen
> return ( @liste )
> end

Super, das ist viel schneller als meine VBA-Funktion! Noch fix das LEFT
durch ein RIGHT ersetzt, dann passt es auch mit dem Komma. ;-)

Allerdings habe ich die Funktionsweise nicht ganz verstanden. Wodurch
wird denn hier eine Rekursion ausgelöst?
Show full article (0.98Kb)
1 Comment