<rss version="2.0">
<channel>
<title>microsoft.pubkic.de.sqlserver</title>
<link>http://www.nnseek.com/e/microsoft.pubkic.de.sqlserver/</link>
<description>Posts for microsoft.pubkic.de.sqlserver</description>
<lastBuildDate>Wed, 21 Feb 2007 05:32:59 PST</lastBuildDate>
  <image>
    <title>http://www.nnseek.com/</title>
    <link>http://www.nnseek.com/</link>
    <url>http://www.nnseek.com/img/64.png</url>
    <width>64</width>
    <height>64</height>
    <description>NNSeek</description>
  </image>
<item>
	<title><![CDATA[Re: Mehrere Werte (1:n) in einem Feld einer Liste anzeigen]]></title>
	<guid>http://www.nnseek.com/e/microsoft.pubkic.de.sqlserver/mehrere_werte_1_n_in_einem_feld_einer_liste_anzeig_43870837t.html</guid>
	<link>http://www.nnseek.com/e/microsoft.pubkic.de.sqlserver/mehrere_werte_1_n_in_einem_feld_einer_liste_anzeig_43870837t.html</link>
	<description><![CDATA[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.

Mit dem GROUP BY klappt es wunderbar! Danke.

Viele Grüße aus Bremen,
Stefan<br>
    <table border="0" cellspacing="0" cellpadding="0">
      <tr>
        <td width="30">&nbsp;</td>
        <td>Posted In: <a href="http://www.nnseek.com/e/microsoft.pubkic.de.sqlserver/">microsoft.pubkic.de.sqlserver</a></td>
        <td width="20">&nbsp;</td>
        <td><a href="http://www.nnseek.com/e/microsoft.pubkic.de.sqlserver/mehrere_werte_1_n_in_einem_feld_einer_liste_anzeig_43870837t.html">no comments</a></td>
        <td width="20">&nbsp;</td>
        <td><a href="http://www.nnseek.com/e/microsoft.pubkic.de.sqlserver/mehrere_werte_1_n_in_einem_feld_einer_liste_anzeig_43870837m.html">Reply</a></td>
      </tr></table><br>]]></description>
	<pubDate>Wed, 21 Feb 2007 05:32:59 PST</pubDate>
</item>
<item>
	<title><![CDATA[Re: Mehrere Werte (1:n) in einem Feld einer Liste anzeigen]]></title>
	<guid>http://www.nnseek.com/e/microsoft.pubkic.de.sqlserver/mehrere_werte_1_n_in_einem_feld_einer_liste_anzeig_43839861t.html</guid>
	<link>http://www.nnseek.com/e/microsoft.pubkic.de.sqlserver/mehrere_werte_1_n_in_einem_feld_einer_liste_anzeig_43839861t.html</link>
	<description><![CDATA[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<br>
    <table border="0" cellspacing="0" cellpadding="0">
      <tr>
        <td width="30">&nbsp;</td>
        <td>Posted In: <a href="http://www.nnseek.com/e/microsoft.pubkic.de.sqlserver/">microsoft.pubkic.de.sqlserver</a></td>
        <td width="20">&nbsp;</td>
        <td><a href="http://www.nnseek.com/e/microsoft.pubkic.de.sqlserver/mehrere_werte_1_n_in_einem_feld_einer_liste_anzeig_43839861t.html">no comments</a></td>
        <td width="20">&nbsp;</td>
        <td><a href="http://www.nnseek.com/e/microsoft.pubkic.de.sqlserver/mehrere_werte_1_n_in_einem_feld_einer_liste_anzeig_43839861m.html">Reply</a></td>
      </tr></table><br>]]></description>
	<pubDate>Wed, 21 Feb 2007 04:49:26 PST</pubDate>
</item>
<item>
	<title><![CDATA[Re: Mehrere Werte (1:n) in einem Feld einer Liste anzeigen]]></title>
	<guid>http://www.nnseek.com/e/microsoft.pubkic.de.sqlserver/mehrere_werte_1_n_in_einem_feld_einer_liste_anzeig_43838837t.html</guid>
	<link>http://www.nnseek.com/e/microsoft.pubkic.de.sqlserver/mehrere_werte_1_n_in_einem_feld_einer_liste_anzeig_43838837t.html</link>
	<description><![CDATA[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?

select @liste = @liste + ',' + Abteilung from Tabelle where Drucker = 
@drucker

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?

Viele Grüße aus Bremen,
Stefan<br>
    <table border="0" cellspacing="0" cellpadding="0">
      <tr>
        <td width="30">&nbsp;</td>
        <td>Posted In: <a href="http://www.nnseek.com/e/microsoft.pubkic.de.sqlserver/">microsoft.pubkic.de.sqlserver</a></td>
        <td width="20">&nbsp;</td>
        <td><a href="http://www.nnseek.com/e/microsoft.pubkic.de.sqlserver/mehrere_werte_1_n_in_einem_feld_einer_liste_anzeig_43838837t.html"><b>1</b> Comment</a></td>
        <td width="20">&nbsp;</td>
        <td><a href="http://www.nnseek.com/e/microsoft.pubkic.de.sqlserver/mehrere_werte_1_n_in_einem_feld_einer_liste_anzeig_43838837m.html">Reply</a></td>
      </tr></table><br>]]></description>
	<pubDate>Wed, 21 Feb 2007 04:47:28 PST</pubDate>
</item>
</channel>
</rss>