| ||
|
Ergebnisse auf Deutsch für vba anzahl sätze im bericht
|
| Szukaj:Słowo(a): vba anzahl sätze im bericht |
Textfelder im Bericht dynamisch erzeugen Hallo NG, ich möchte in meinem Bericht die Ergebnisse einer Auswertung anzeigen lassen. Die Auswertung besteht aus einem kürzeren bzw. längeren SQL-Statement, je nachdem, welche Auswertungskriterien man im Formular ausgewählt hat. Die Ergebnisse sollen in einer tabellarischen öbersicht angezeigt werden. Diese enthält 7 Spalten. Theoretisch bräuchte ich dann für einen Datensatz auch 7 Textfelder, in denen die Werte eines Datensatzes angezeigt werden. Da ich noch nie mit Berichten gearbeitet habe, wollte ich fragen, ob es möglich ist, in Abhängigkeit von der Anzahl der gefundenen Datensätze, auch die Anzahl der Textfelder dynamisch zu erzeugen? Also wenn z.B. 50 Datensätze zu der Auswertung gefunden werden, bräuchte ich dann auch 50 Zeilen, die jeweils 7 Textfelder beinhalten. Kann man so was in VBA programmieren bzw. gibts vielleicht auch ne einfachere Möglichkeit, die Datensätze in der öbersicht anzeigen zu lassen? Gruü, Peter |
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo, das Grundprinzip von ADO.NET basiert auf der Trennung zwischen dem Datenzugriff (produktspezifische Klassen) und der Datenspeicherung (DataSet speichert universell die Daten jeder beliebigen Datenquelle). Das DataSet läuft immer dann in Hochform auf, wenn zwischen der DataSet-Instanz eine Prozess- oder Rechner-Grenze liegt (d.h. in diesem Fall ist das gefüllte DataSet ein im eigenen Prozess liegender Cache). Aus diesem Grund verbaut Visual Studio im TableAdapter alle nötigen Zutaten automatisch, die für die Master-/Detail-Synchronisation zwischem dem DataSet (Offline) und dem SQL Server (IDENTITY-Spalten) notwendig sind. Für die INSERT-Anweisung wird eine Stapelanweisung verbaut, die nach dem INSERT sofort ein SELECT ausführt und somit die vom SQL Server automatisch vergebenen Werte (IDENTITY bzw. Trigger) sofort in der DataSet-Kopie nachzieht. Allerdings basiert die SQL Server Compact Edition auf einem völlig anderen Ansatz. Hier wird die Engine selbst innerhalb des Prozesses der Anwendung ausgeführt, so dass die originale Datenbank bereits im gleichen Prozess liegt. Aus diesem Grund stellt die CE zwei prinzipiell unterschiedliche Zugriffswege zur Verfügung:lSystem.Data.SqlServerCe.SqlCeDataAdapter (ADO.NET-Standardzugriffsweg auf eine im DataSet gepufferte Ergebnismenge)l lSystem.Data.SqlServerCe.SqlCeResultSet (serverseitiger Cursor, wobei "serverseitig" bei der CE bedeutungslos ist, da der "Server" ja direkt im Client ausgeführt wird)l Die DataSets als lokale Kopie der Datenbank-Daten sind bei der Compact Edition streng betrachtet ein "unnötiger" Ballast, da die Daten bereits im Adressraum (Prozess) der Anwendung liegen. Der "unnötige Ballast" ergibt erst dann einen Sinn, wenn zum Beispiel andere Dienstleister wie zum Beispiel das ReportViewer-Control in Verbindung mit einem lokalen Reporting Services-Bericht genutzt werden sollen, wenn die Sync Services for ADO.NET eingebunden werden oder wenn der Entwickler nur mit dem gleichen Implementierungsprinzip wie bei einer der anderen SQL Server 2005-Editionen hantieren möchte. In allen anderen Fällen ist der Zugriff über SqlCeResultSet die "bessere" Wahl, zumal dann das technisch gleiche Prinzip wie bei der JET Engine verwendet wird. Zitat:
Wie in der angehängten Abbildung zu sehen ist, erlaubt der TableAdapter-Wizard nicht die automatische Aktualisierung, da Stapelanweisungen bei der CE nicht möglich sind. |
Hallo Stefan, Stefan Schmidhammer <ssttaa@web.de> schrieb: >> so ganz ohne Deinen Code zu kennen fällt es schwer, das Problem zu >> analysieren. >> Du könntest Deinem Code ein paar "DoEvents" beifügen. Das macht die >> Verarbeitung zwar langsamer - aber vielleicht hilft das ja. Hast Du mal ein paar "DoEvents" eingefügt? Hat sich dadurch etwas geändert? >> Wenn Du dann immer noch Probleme hast solltest Du uns den >> relevanten Code posten. > Der Code besteht aus mehr als 1000 Zeilen und ist eine Monats- > abrechnung, ich will den Code hier ehrlich gesagt nicht > online stellen ... Deshalb schrieb ich von den *relevanten* Stellen. Aber ich gebe zu, dass es bei 1000 Zeilen und dieser Problemlage schwierig ist, diese zu identifizieren. > Aber es Funktioniert im Prinzip so ich es geschrieben hab. Es sind > auch keine besonderen Dinge im Code vorhanden. Die verschiedenen > Recordsets laufen durch ein paar Schleifen und es wird in den > Recordsets gesucht. Bau mal in diese Schleifen ein "DoEvents" ein. Das wird den Code verlangsamen. Das tut der Einzelschrittmodus auch. Wenn sich dadurch etwas ändert baust Du ein "DoEvents" nach dem anderen wieder aus. So finden wir die Stelle, an der eine ćnderung erforderlich ist. > Dazu werden auch manchmal Bookmarks gesetzt. Mit ein paar Werten der > Recordsets wird gerechnet und das Ergebnis wird in die > Ergebnis-Tabelle geschrieben. > Es werden 7 Tabellen, die schon existieren und alte Daten beinhalten, > geleert und neu befüllt. Diese 7 Tabellen haben bei der > normalen Ausführung und bei der Debug Ausführung denselben Inhalt, an den > Daten kann es also auch nicht liegen, es muss der VBA Code > sein der damit rechnet. Damit haben wir schon einmal eine erste Erkenntnis. Der Code, der diese Tabellen befüllt, scheint nicht die Quelle Deiner Probleme zu sein. Meine obigen Tipps beziehen sich also nur auf den noch folgenden Code. > Ja die Ergebnis-Tabelle enthält unterschiedliche Daten, Ich glaube, Du musst das Verfahren, mit dem Du Deine Daten bearbeitest nochmal genauer beschreiben: - Du kopierst Daten in 7 Tabellen - Dann wird irgendwie gerechnet und die Daten kommen in die Ergebnistabelle. Hier ergeben sich Unterschiede. - Dann wird ein Bericht auf Basis der Daten in der Ergebnistabelle angezeigt. Ist das so richtig? > genauergesagt sind meistens 3-5 Datensätze unterschiedlich, ein > System konnte ich bisher keines entdecken aber es sind immer die gleichen. Diesen Satz hat Michel schon moniert. Ich verstehe ihn auch nicht. Ist die Anzahl der Datensätze immer gleich? Gibt es 3 bis 5 DS, die unterschiedliche Werte aufweisen? Sind diese Werte dann immer gleich? > Man kann den Bericht selbst also schonmal als Fehlerursache > ausschlieüen da die Daten in der Tabelle anders sind. Das sehe ich genau so. > Es ist ziemlich frustrierend weil ich schon länger an dem Problem > sitze und auch nur Raten kann was die Ursache ist weils mit dem > Debug Modus ja funktioniert :-/ Ich denke, wenn Du nochmals Dein vorgehen Stück für Stück beschreibst, uns dann sagst an welcher Stelle Unterschiede auftreten, dort in den Code DoEvents einfügst oder uns evtl. die relevanten Codestellen postest werden wir schon weiter kommen. CU -- Thomas Homepage: (Kein Link ?) TM-ćnderungsProtokoll: Update auf Version 2.25 (seit 12.08.05) Groü- u. Kleinschreibung wird bei ćnderungen berücksichtigt. |
Transcoder Liste der Anhänge anzeigen (Anzahl: 170) Die Transcoder erfreuen sich einer immer gröüer werdende Fan-Gemeinde. Das haben die Transcoder vor allem ihrer einfachen Handhabung zu verdanken und der Geschwindigkeit, mit der die Transcoder zu werke gehen. Q: Was ist eine Transcoder? A: Ein Transcoder entpackt den original Mpeg-2 Stream bis auf die Marcoblock-Ebene und komprimiert diese Blöcke stärker. Q: Warum ist ein Transcoder so schnell? A: Ein Encoder muss aus einem unkomprimierten Bild auch die DCT-Einheit, die den eigentlichen Bildinhalt darstellt, komprimieren. In dieser Hierarchie-Ebene werden auch die Bewegungs-Vektoren für die einzelnen DCT-Einheiten berechnet und dies ist es, was dem Encoder die Zeit kostet. Das braucht ein Transcoder nicht, da er diese Hierarchie-Ebene nicht bearbeitet. Q: Was gibt es für Transcoder? A: Es ist ein rechter Boom entbrannt auf die Transcoder und es werden beinahe täglich mehr. Man kann eigentlich nur 3 Transcoder namentlich hervorheben.
Q: Gibt es Testbericht zu diesen Transcodern? A: Ja, MB1 hat eine sehr ausführlichen Testbericht zu InstantCopy 7 und DVD2One geschrieben. Q: Wo kann ich die Programme beziehen? A: Testversionen gibt es jeweils auf...
Q: InstantCopy 7 wie DVD2One verweigern das auslesen meiner original DVD. Warum? A: Aus urheberrechtlichen Gründen versagen beide Programme beim auslesen einer mit CSS geschützen DVD. Q: Wie kann ich eine geschützte DVD trotzdem auslesen? A: Es gibt unzählige Programme, sogenannte Ripper, die in der Lage sind eine DVD auszulesen und diese auf die Festplatte abzulegen. Dabei wird der Kopierschutz umgangen und entfernt. Mit so vorbereiteten Daten können die Transcoder InstantCopy 7 und DVD2One arbeiten. Q: Welcher Ripper ist der beste und wo bekomme ich diesen her? A: Der beste Ripper für die Aufgabe ist der DVD Decypter und gerippt werden muss der gesamte DVD-Inhalt im File-Modus Q: Wo kann ich das Programm downloaden und wo bekomme ich eine detailierte Anleitung? A: :google: Den auch für uns gelten die deutschen Gesetze im Bezug auf das Urheberrecht. Q: Bis wieweit kann ich ohne nennenswerte Qualitäteinbusen ein Original verkleinern? A: Als Fausregel kann man 70% ansehen. Bei einer höheren Kompression kann es zu Verblockung kommen. Q: Ich will nur den Hauptfilm kopieren. Wie gehe ich da am besten vor? A: Am einfachsten ist das strippen vom Hauptfilm mit der DVD Toolbox. Dabei wird der Hauptfilm mir nur den gewünschten Ton- und Untertitelspuren heraus gelöst und ein neuer Satz Ifo-Dateien geschrieben. Das ganze nach bedarf noch mit einem Transcoder auf DVD-R(W) Gröüe von 4,37 GB verkleiner. Spezialteil InstantCopy 7: Q: Was brauche ich alles für InstantCopy an Software? A: Einen Ripper, um den Kopierschutz einer DVD zu umgehen, für den Anfang eine 15-tägige Testversion und immer die aktuellsten Updates. Q: Warum sind die erstellten Dateien hinterher zu klein oder zu groü für eine DVD-R? A: Nicht immer trifft die vorhersage der Analyse vom Film für die weitere Komprimierung genau zu. Im Regelfall braut InstantCopy 7 einen Sicherheitspuffer ein, das der Film trotz aller Abweichungen immer auf eine DVD passt. Diesbezüglich immer auf aktuelle Updates hoffen. Mit etwas Erfahrungen kann man auch eine höhere Zielgröüe vorgeben, um die exakte Gröüe der DVD-Rohlinge (4,37 GB) besser zu treffen. Q: Ich kann einzelne Titel nicht abwählen, die Auswahlfelder sind grau unterlegt. Wie geht es trotzdem? A: Mit dem Registrierunghack im Dateianhang dieser FAQ kannst du das abwählen der einzelnen Titeln freischalten. Aber Achtung, nicht immer lassen sich einfach Titel abwählen. Bei Titeln die von der Abspielreihenfolge vor dem Menü und dem Hauptfilm liegen, ist immer Vorsicht angeraten. Q: InstantCopy legt meine Dateien im Ausgabeordner im *.pdi-Format ab. Was ist das für ein Format und wie kann ich die brennen? A: *.pdi steht für Pinnacle Disk Image. InstantCopy 7 kann diese Dateien direkt brennen. Möchtest du das aber mit einem anderen Brennprogramm brennen, so steht dir von Gerd Mitländer das kostenlose Programm pdi2iso zu Verfügung. Damit läüt sich das *.pdi-Format in eine *.iso-Format umwandeln, das eigentlich jedes Brennprogramm verarbeiten kann. Download pdi2iso Q: Kann ich die Dateien *.pdi Dateien auch auf die Festplatte entpacken? A: Ja, mit dem PDITool. Damit ist es möglich das ganze auf die Festplatte zu entpacken. Download PDITool. Das Programm benötigt noch die Visual Basic Runtime Libraries . Q: Was gibt es für gute Anleitungen für InstantCopy 7? A: Der Testbericht von MB1 zu InstantCopy 7 ist auch gleichzeitig mit die beste Anleitung im deutschsprachigem Raum. Für diejenigen die der englschen Sprache mächtig sind, stehen noch die Anleitungen von mrbass, MisterX und Baldrick zu Verfügung. |