<?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[QuickRep soll wenn Seite voll ist mit der 2 seite Anfangen]]></title><description><![CDATA[<p>Hallo,</p>
<p>Ja im Titel steht schon die Frage .. ich schreibe halt in die QuickRep und wenn die Seite voll ist soll er die 2(usw.) machen solange bis keine Datensätze mehr kommen. ist das möglich ?? Wenn ja jemand ne idee ??</p>
<p>mfg</p>
<p>|23|</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/97821/quickrep-soll-wenn-seite-voll-ist-mit-der-2-seite-anfangen</link><generator>RSS for Node</generator><lastBuildDate>Sat, 11 Jul 2026 21:59:45 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/97821.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 14 Jan 2005 07:05:39 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to QuickRep soll wenn Seite voll ist mit der 2 seite Anfangen on Fri, 14 Jan 2005 07:05:39 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>Ja im Titel steht schon die Frage .. ich schreibe halt in die QuickRep und wenn die Seite voll ist soll er die 2(usw.) machen solange bis keine Datensätze mehr kommen. ist das möglich ?? Wenn ja jemand ne idee ??</p>
<p>mfg</p>
<p>|23|</p>
]]></description><link>https://www.c-plusplus.net/forum/post/695807</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/695807</guid><dc:creator><![CDATA[*23*]]></dc:creator><pubDate>Fri, 14 Jan 2005 07:05:39 GMT</pubDate></item><item><title><![CDATA[Reply to QuickRep soll wenn Seite voll ist mit der 2 seite Anfangen on Fri, 14 Jan 2005 07:11:09 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>das ist doch genau das was QuickRep macht <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
<p>du erzeugst ein &quot;Formulat&quot; (QuickRep)<br />
dieses Formular verbindest du mit einer Datenquelle (Query)<br />
und startest das Drucken (Vorschau)</p>
<p>MfG<br />
Klaus</p>
]]></description><link>https://www.c-plusplus.net/forum/post/695812</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/695812</guid><dc:creator><![CDATA[KlausB]]></dc:creator><pubDate>Fri, 14 Jan 2005 07:11:09 GMT</pubDate></item><item><title><![CDATA[Reply to QuickRep soll wenn Seite voll ist mit der 2 seite Anfangen on Fri, 14 Jan 2005 07:16:57 GMT]]></title><description><![CDATA[<p>Hmm ja gut bei mir tut er das irgendwie ned <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
<p>naja sprich bei den code den ich bekommen habe..</p>
<pre><code class="language-cpp">void __fastcall TfrmLADrucken::qrLADruckenNeedData(TObject *Sender,
      bool &amp;MoreData)
{

  AnsiString test;
  DateSeparator = '-';
  ShortDateFormat = &quot;m/d/yyyy&quot;;

   test=   AnsiString(&quot;SELECT name ,COUNT(termintreue) as Anz,COUNT(iif(termintreue=4 ,tbewertung.bw, NULL)) as tpp,  &quot;)+
           AnsiString(&quot;COUNT(iif(termintreue=3 , tbewertung.bw  , NULL )) as tp , COUNT(iif( termintreue=2 , tbewertung.bw , NULL )) as tm, &quot;)+
           AnsiString(&quot;COUNT(iif(termintreue=1 , tbewertung.bw , NULL )) as tmm , COUNT(iif( qualität=4 , qbewertung.bw , NULL )) as qpp, &quot;)+
           AnsiString(&quot;COUNT(iif(qualität=3 , qbewertung.bw , NULL )) as qp , COUNT(iif( qualität=2 , qbewertung.bw , NULL )) as qm,&quot;)+
           AnsiString(&quot;COUNT(iif(qualität=1 , qbewertung.bw , NULL )) as qmm FROM ((bestellung INNER JOIN tbewertung ON bestellung.termintreue=tbewertung.bwnr) &quot;)+
           AnsiString(&quot;INNER JOIN qbewertung ON bestellung.qualität=qbewertung.bwnr) INNER JOIN Lieferant ON lieferant.liefererid=bestellung.liefererid  &quot;)+
           AnsiString(&quot;WHERE Datbest &gt;= #&quot;) + frmMain-&gt;dtpVonErfassung-&gt;Date.DateString() +
           AnsiString(&quot;# AND Datbest &lt;= #&quot;) + frmMain-&gt;dtpBisErfassung-&gt;Date.DateString() +
           AnsiString(&quot;# AND offen=false GROUP BY name;&quot;);

  if (frmMain-&gt;adoQry-&gt;Active)
  frmMain-&gt;adoQry-&gt;Close();
  frmMain-&gt;adoQry-&gt;SQL-&gt;Clear();
  frmMain-&gt;adoQry-&gt;SQL-&gt;Add(test);
  frmMain-&gt;adoQry-&gt;Open();

  frmLADrucken-&gt;qrlblLALieferant-&gt;DataSet = frmMain-&gt;adoQry;
  frmLADrucken-&gt;qrlblLALieferant-&gt;DataField = &quot;name&quot;;

  frmLADrucken-&gt;qrlblLAAnz-&gt;DataSet = frmMain-&gt;adoQry;
  frmLADrucken-&gt;qrlblLAAnz-&gt;DataField = &quot;Anz&quot;;

  frmLADrucken-&gt;qrlblLAtpp-&gt;DataSet = frmMain-&gt;adoQry;
  frmLADrucken-&gt;qrlblLAtpp-&gt;DataField = &quot;tpp&quot;;

  frmLADrucken-&gt;qrlblLAtp-&gt;DataSet = frmMain-&gt;adoQry;
  frmLADrucken-&gt;qrlblLAtp-&gt;DataField = &quot;tp&quot;;

  frmLADrucken-&gt;qrlblLAtm-&gt;DataSet = frmMain-&gt;adoQry;
  frmLADrucken-&gt;qrlblLAtm-&gt;DataField = &quot;tm&quot;;

  frmLADrucken-&gt;qrlblLAtmm-&gt;DataSet = frmMain-&gt;adoQry;
  frmLADrucken-&gt;qrlblLAtmm-&gt;DataField = &quot;tmm&quot;;

  frmLADrucken-&gt;qrlblLAqpp-&gt;DataSet = frmMain-&gt;adoQry;
  frmLADrucken-&gt;qrlblLAqpp-&gt;DataField = &quot;qpp&quot;;

  frmLADrucken-&gt;qrlblLAqp-&gt;DataSet = frmMain-&gt;adoQry;
  frmLADrucken-&gt;qrlblLAqp-&gt;DataField = &quot;qp&quot;;

  frmLADrucken-&gt;qrlblLAqm-&gt;DataSet = frmMain-&gt;adoQry;
  frmLADrucken-&gt;qrlblLAqm-&gt;DataField = &quot;qm&quot;;

  frmLADrucken-&gt;qrlblLAqmm-&gt;DataSet = frmMain-&gt;adoQry;
  frmLADrucken-&gt;qrlblLAqmm-&gt;DataField = &quot;qmm&quot;;
  frmMain-&gt;adoQry-&gt;Close();

}
</code></pre>
<p>und durch diesen Druckbutton wird er ausgelöst:</p>
<pre><code class="language-cpp">frmLADrucken-&gt;qrLADruckenNeedData(Sender,true);
  frmLADrucken-&gt;qrLADrucken-&gt;Preview();
</code></pre>
<p>sicht jemand ein fehler ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/695815</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/695815</guid><dc:creator><![CDATA[*23*]]></dc:creator><pubDate>Fri, 14 Jan 2005 07:16:57 GMT</pubDate></item><item><title><![CDATA[Reply to QuickRep soll wenn Seite voll ist mit der 2 seite Anfangen on Fri, 14 Jan 2005 07:31:29 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>auf die Gefahr, das ich mich (zum 1000en mal) wiederhole</p>
<blockquote>
<p>Hmm ja gut bei mir tut er das irgendwie ned <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
</blockquote>
<p>ist keine Fehlerbeschreibung !</p>
<p>- Bitte erklaer uns doch was nicht geht<br />
- beschreib uns was du schon unternommen hast den Fehler zu beseitigen</p>
<p>Was ist eigentlich der Grund NeedData zu verwenden</p>
<p>MfG<br />
Klaus</p>
]]></description><link>https://www.c-plusplus.net/forum/post/695820</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/695820</guid><dc:creator><![CDATA[KlausB]]></dc:creator><pubDate>Fri, 14 Jan 2005 07:31:29 GMT</pubDate></item><item><title><![CDATA[Reply to QuickRep soll wenn Seite voll ist mit der 2 seite Anfangen on Fri, 14 Jan 2005 07:51:33 GMT]]></title><description><![CDATA[<p>Was genau willst Du mit dem permanenten Öffnen und Schließen der Datenquelle in der OnNeedData() erreichen? OnNeedData() benötigt man nur in Aushnahmefällen, um zB Daten auszugeben, die man nicht direkt per SQL ermitteln kann (zB, wenn Daten aus 2 verschiedenen Datenbanken stammen).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/695831</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/695831</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Fri, 14 Jan 2005 07:51:33 GMT</pubDate></item><item><title><![CDATA[Reply to QuickRep soll wenn Seite voll ist mit der 2 seite Anfangen on Fri, 14 Jan 2005 08:00:45 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">void __fastcall TfrmLADrucken::qrLADruckenNeedData(TObject *Sender,
      bool &amp;MoreData)
{
   MoreData = true;

   AnsiString asSQLLA;
   DateSeparator = '-';
   ShortDateFormat = &quot;m/d/yyyy&quot;;

   asSQLLA=   AnsiString(&quot;SELECT name ,COUNT(termintreue) as Anz,COUNT(iif(termintreue=4 ,tbewertung.bw, NULL)) as tpp,  &quot;)+
           AnsiString(&quot;COUNT(iif(termintreue=3 , tbewertung.bw  , NULL )) as tp , COUNT(iif( termintreue=2 , tbewertung.bw , NULL )) as tm, &quot;)+
           AnsiString(&quot;COUNT(iif(termintreue=1 , tbewertung.bw , NULL )) as tmm , COUNT(iif( qualität=4 , qbewertung.bw , NULL )) as qpp, &quot;)+
           AnsiString(&quot;COUNT(iif(qualität=3 , qbewertung.bw , NULL )) as qp , COUNT(iif( qualität=2 , qbewertung.bw , NULL )) as qm,&quot;)+
           AnsiString(&quot;COUNT(iif(qualität=1 , qbewertung.bw , NULL )) as qmm FROM ((bestellung INNER JOIN tbewertung ON bestellung.termintreue=tbewertung.bwnr) &quot;)+
           AnsiString(&quot;INNER JOIN qbewertung ON bestellung.qualität=qbewertung.bwnr) INNER JOIN Lieferant ON lieferant.liefererid=bestellung.liefererid  &quot;)+
           AnsiString(&quot;WHERE Datbest &gt;= #&quot;) + frmMain-&gt;dtpVonErfassung-&gt;Date.DateString() +
           AnsiString(&quot;# AND Datbest &lt;= #&quot;) + frmMain-&gt;dtpBisErfassung-&gt;Date.DateString() +
           AnsiString(&quot;# AND offen=false GROUP BY name;&quot;);

   frmMain-&gt;ADOQryLAD-&gt;SQL-&gt;Clear();
   frmMain-&gt;ADOQryLAD-&gt;SQL-&gt;Add(asSQLLA);
   frmMain-&gt;ADOQryLAD-&gt;Open();

   frmLADrucken-&gt;qrlblLALieferant-&gt;DataSet = frmMain-&gt;ADOQryLAD;
   frmLADrucken-&gt;qrlblLALieferant-&gt;DataField = &quot;name&quot;;

   frmLADrucken-&gt;qrlblLAAnz-&gt;DataSet = frmMain-&gt;ADOQryLAD;
   frmLADrucken-&gt;qrlblLAAnz-&gt;DataField = &quot;Anz&quot;;

   frmLADrucken-&gt;qrlblLAtpp-&gt;DataSet = frmMain-&gt;ADOQryLAD;
   frmLADrucken-&gt;qrlblLAtpp-&gt;DataField = &quot;tpp&quot;;

   frmLADrucken-&gt;qrlblLAtp-&gt;DataSet = frmMain-&gt;ADOQryLAD;
   frmLADrucken-&gt;qrlblLAtp-&gt;DataField = &quot;tp&quot;;

   frmLADrucken-&gt;qrlblLAtm-&gt;DataSet = frmMain-&gt;ADOQryLAD;
   frmLADrucken-&gt;qrlblLAtm-&gt;DataField = &quot;tm&quot;;

   frmLADrucken-&gt;qrlblLAtmm-&gt;DataSet = frmMain-&gt;ADOQryLAD;
   frmLADrucken-&gt;qrlblLAtmm-&gt;DataField = &quot;tmm&quot;;

   frmLADrucken-&gt;qrlblLAqpp-&gt;DataSet = frmMain-&gt;ADOQryLAD;
   frmLADrucken-&gt;qrlblLAqpp-&gt;DataField = &quot;qpp&quot;;

   frmLADrucken-&gt;qrlblLAqp-&gt;DataSet = frmMain-&gt;ADOQryLAD;
   frmLADrucken-&gt;qrlblLAqp-&gt;DataField = &quot;qp&quot;;

   frmLADrucken-&gt;qrlblLAqm-&gt;DataSet = frmMain-&gt;ADOQryLAD;
   frmLADrucken-&gt;qrlblLAqm-&gt;DataField = &quot;qm&quot;;

   frmLADrucken-&gt;qrlblLAqmm-&gt;DataSet = frmMain-&gt;ADOQryLAD;
   frmLADrucken-&gt;qrlblLAqmm-&gt;DataField = &quot;qmm&quot;;

   if(!frmMain-&gt;adoQry-&gt;Eof)
      {
      MoreData = false;
      frmMain-&gt;ADOQryLAD-&gt;Close();
      }

}
</code></pre>
<p>Probolem wurde so gelöst. Das größe Problem an der ganze Sache war das der Programmierer der das geschrieben hat, die gleiche Query genommen hat die auch in einem Timer war und da der Time so eine kleine interval zeit hatte der er los ging gab es da kleien probleme.</p>
<p>Naja jetzt geht das ganze ganz gut. (bin froh wenn ich den kram Fertig hab und mich wieder meinen Projekten widmen kann.)</p>
<p>Aber danke für die Hilfe. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/695841</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/695841</guid><dc:creator><![CDATA[*23*]]></dc:creator><pubDate>Fri, 14 Jan 2005 08:00:45 GMT</pubDate></item><item><title><![CDATA[Reply to QuickRep soll wenn Seite voll ist mit der 2 seite Anfangen on Fri, 14 Jan 2005 08:06:01 GMT]]></title><description><![CDATA[<p>und anstatt es richtig zu machen, schreibst Du einen mehr oder weniger zweifelhaften Workaround?!?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/695843</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/695843</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Fri, 14 Jan 2005 08:06:01 GMT</pubDate></item><item><title><![CDATA[Reply to QuickRep soll wenn Seite voll ist mit der 2 seite Anfangen on Fri, 14 Jan 2005 08:26:54 GMT]]></title><description><![CDATA[<p>Joe_M. schrieb:</p>
<blockquote>
<p>und anstatt es richtig zu machen, schreibst Du einen mehr oder weniger zweifelhaften Workaround?!?</p>
</blockquote>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
<p>Warum sollte das ein Workaround ?? Gibts noch ne bessere Lösung ?</p>
<p>Wenn ja bitte einen Vorschlag.</p>
<p>jetzt bleibt nur noch dieses:</p>
<p><a href="http://www.c-plusplus.net/forum/viewtopic.php?t=97826" rel="nofollow">http://www.c-plusplus.net/forum/viewtopic.php?t=97826</a></p>
<p>Das ist aber nurnoch ne kleinigkeit die ned so Wichtig ist..</p>
<p>MfG</p>
<p>|23|</p>
]]></description><link>https://www.c-plusplus.net/forum/post/695861</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/695861</guid><dc:creator><![CDATA[*23*]]></dc:creator><pubDate>Fri, 14 Jan 2005 08:26:54 GMT</pubDate></item><item><title><![CDATA[Reply to QuickRep soll wenn Seite voll ist mit der 2 seite Anfangen on Fri, 14 Jan 2005 08:36:33 GMT]]></title><description><![CDATA[<p>Noch mal die Frage, wozu steht da überhaupt etwas in OnNeedData()? Ich habe eher den Eindruck, dass ihr die Verwendung von QR nicht richtig verstanden habt.</p>
<p>Bei mir sieht der Aufruf eines Drucks in etwa so aus:</p>
<pre><code class="language-cpp">if (Form_PrintReport-&gt;PrintDialog1-&gt;Execute())
{
	int CurPrinterIndex;
	TPrinter* Prt = Printer();
	CurPrinterIndex = Prt-&gt;PrinterIndex;

	Form_PrintReportSummary-&gt;qrepsum-&gt;PrinterSettings-&gt;PrinterIndex = CurPrinterIndex;
	Form_PrintReport-&gt;qrep-&gt;PrinterSettings-&gt;PrinterIndex = CurPrinterIndex;
	Form_PrintReport-&gt;qrep-&gt;Print();
}
</code></pre>
<p>Wenn der Report korrekt mit der Datenquelle verbunden ist, sind keine weiteren Aktionen nötig. Es werden alle Datensätze der Datenquelle gedruckt.<br />
In dem QR verwende ich nur in Ausnahmefällen spezifische Funktionen, wie OnNeedData().</p>
]]></description><link>https://www.c-plusplus.net/forum/post/695875</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/695875</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Fri, 14 Jan 2005 08:36:33 GMT</pubDate></item></channel></rss>