<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Ein Problem mit einer SqlAbfrage]]></title><description><![CDATA[<p>Ich führe folgenden Abfrage mit CDao aus:</p>
<pre><code>SELECT 
 Agenten.Name, 
 Suchparameter.Preis_min_real, 
 Suchparameter.Preis_max_real, 
 Suchparameter.EZ, 
 Suchparameter.IDNr, 
 NZ([Anzahl von Link],0) AS Anzahl_gefunden, Agenten.Aktiv 
FROM 
((Links RIGHT JOIN Suchparameter ON Links.gefundenVon = Suchparameter.IDNr) 
INNER JOIN (Agent_Suchparameter_Link 
INNER JOIN Agenten ON Agent_Suchparameter_Link.Agent_Nr = Agenten.AgentNr) ON Suchparameter.IDNr = Agent_Suchparameter_Link.Sp_Nr) 
LEFT JOIN Abfrage14 ON Agenten.AgentNr = Abfrage14.Agent_Nr 
GROUP BY 
 Agenten.Name,
 Suchparameter.Preis_min_real,
 Suchparameter.Preis_max_real,
 Suchparameter.EZ, Suchparameter.IDNr,
 Agenten.Aktiv,
 Abfrage14.[Anzahl von Link],
 Suchparameter.Priorität 
ORDER BY Agenten.Name, Suchparameter.Priorität DESC;&quot;);
</code></pre>
<p>Anzahl Links kommt aus Abfrage14 und liefert die Anzahl die eine bestimmte Bedingung erfüllen zurück.</p>
<p>Nun zu meinen Problem wenn ich die Abfrage in Access ausführen habe ich keine Probleme ,aber wenn ich sie über CDao ausführe kennt er NZ plötzlich nicht mehr.Wenn ich NZ weglasse kriege ich überall wo die Anzahl = NULL ist die IDNr geliefert.</p>
<p>So gebe ich die Daten aus:</p>
<pre><code class="language-cpp">while(!r-&gt;IsEOF())
	{
		...
		r-&gt;GetFieldValue(0,val);
		CString in =val.pbVal;
		in.Replace(&quot;--2&quot;,&quot;-&quot;);

		int q = parent-&gt;m_SP.InsertItem(r-&gt;GetAbsolutePosition(),in);
		if(parent-&gt;m_SP.GetStringWidth(in)&gt;parent-&gt;m_SP.GetColumnWidth(0))
		{
			parent-&gt;m_SP.SetColumnWidth(0,parent-&gt;m_SP.GetStringWidth(in)+10);
		}

		for(int i=1;i &lt;= 5;i++)
		{
			val.Clear();
			r-&gt;GetFieldValue(i,val);
			in = &quot;&quot;;
			in.Format(&quot;%d&quot;,val.lVal);
			if(i&lt; 3)
			{
			 in = Format_Preis(in);
			}
			parent-&gt;m_SP.SetItemText(q,i,in);
						if(parent-&gt;m_SP.GetStringWidth(in)&gt;parent-&gt;m_SP.GetColumnWidth(i)&amp;&amp; i!=4)
			{
				parent-&gt;m_SP.SetColumnWidth(i,parent-&gt;m_SP.GetStringWidth(in)+10);
			}
			parent-&gt;m_SP.SetColumnWidth(4,0);

		}
		pos++;
		r-&gt;MoveNext();
	}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/68375/ein-problem-mit-einer-sqlabfrage</link><generator>RSS for Node</generator><lastBuildDate>Sat, 06 Jun 2026 19:47:22 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/68375.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 17 Mar 2004 13:35:51 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Ein Problem mit einer SqlAbfrage on Wed, 17 Mar 2004 13:39:34 GMT]]></title><description><![CDATA[<p>Ich führe folgenden Abfrage mit CDao aus:</p>
<pre><code>SELECT 
 Agenten.Name, 
 Suchparameter.Preis_min_real, 
 Suchparameter.Preis_max_real, 
 Suchparameter.EZ, 
 Suchparameter.IDNr, 
 NZ([Anzahl von Link],0) AS Anzahl_gefunden, Agenten.Aktiv 
FROM 
((Links RIGHT JOIN Suchparameter ON Links.gefundenVon = Suchparameter.IDNr) 
INNER JOIN (Agent_Suchparameter_Link 
INNER JOIN Agenten ON Agent_Suchparameter_Link.Agent_Nr = Agenten.AgentNr) ON Suchparameter.IDNr = Agent_Suchparameter_Link.Sp_Nr) 
LEFT JOIN Abfrage14 ON Agenten.AgentNr = Abfrage14.Agent_Nr 
GROUP BY 
 Agenten.Name,
 Suchparameter.Preis_min_real,
 Suchparameter.Preis_max_real,
 Suchparameter.EZ, Suchparameter.IDNr,
 Agenten.Aktiv,
 Abfrage14.[Anzahl von Link],
 Suchparameter.Priorität 
ORDER BY Agenten.Name, Suchparameter.Priorität DESC;&quot;);
</code></pre>
<p>Anzahl Links kommt aus Abfrage14 und liefert die Anzahl die eine bestimmte Bedingung erfüllen zurück.</p>
<p>Nun zu meinen Problem wenn ich die Abfrage in Access ausführen habe ich keine Probleme ,aber wenn ich sie über CDao ausführe kennt er NZ plötzlich nicht mehr.Wenn ich NZ weglasse kriege ich überall wo die Anzahl = NULL ist die IDNr geliefert.</p>
<p>So gebe ich die Daten aus:</p>
<pre><code class="language-cpp">while(!r-&gt;IsEOF())
	{
		...
		r-&gt;GetFieldValue(0,val);
		CString in =val.pbVal;
		in.Replace(&quot;--2&quot;,&quot;-&quot;);

		int q = parent-&gt;m_SP.InsertItem(r-&gt;GetAbsolutePosition(),in);
		if(parent-&gt;m_SP.GetStringWidth(in)&gt;parent-&gt;m_SP.GetColumnWidth(0))
		{
			parent-&gt;m_SP.SetColumnWidth(0,parent-&gt;m_SP.GetStringWidth(in)+10);
		}

		for(int i=1;i &lt;= 5;i++)
		{
			val.Clear();
			r-&gt;GetFieldValue(i,val);
			in = &quot;&quot;;
			in.Format(&quot;%d&quot;,val.lVal);
			if(i&lt; 3)
			{
			 in = Format_Preis(in);
			}
			parent-&gt;m_SP.SetItemText(q,i,in);
						if(parent-&gt;m_SP.GetStringWidth(in)&gt;parent-&gt;m_SP.GetColumnWidth(i)&amp;&amp; i!=4)
			{
				parent-&gt;m_SP.SetColumnWidth(i,parent-&gt;m_SP.GetStringWidth(in)+10);
			}
			parent-&gt;m_SP.SetColumnWidth(4,0);

		}
		pos++;
		r-&gt;MoveNext();
	}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/482560</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/482560</guid><dc:creator><![CDATA[Andorxor]]></dc:creator><pubDate>Wed, 17 Mar 2004 13:39:34 GMT</pubDate></item><item><title><![CDATA[Reply to Ein Problem mit einer SqlAbfrage on Wed, 17 Mar 2004 15:43:07 GMT]]></title><description><![CDATA[<p>Hab es selbst rausgefunden.COleVariant::Clear hat val überhaupt nicht geleert.Ich habe jetzt val.lVal auf 0 gesetzt</p>
]]></description><link>https://www.c-plusplus.net/forum/post/482750</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/482750</guid><dc:creator><![CDATA[Andorxor]]></dc:creator><pubDate>Wed, 17 Mar 2004 15:43:07 GMT</pubDate></item></channel></rss>