Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
schnelle komplexe Abfrage per Code?
zurück: Abfrage nicht aktualisierbar / Gruppierungsfunktion weiter: Verknüpfung Access mit Outlook Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Feedback Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
SaschaR
Gast


Verfasst am:
18. März 2008, 17:00
Rufname:

schnelle komplexe Abfrage per Code? - schnelle komplexe Abfrage per Code?

Nach oben
       Version: Office 2k (2000)

SaschaR am 18. März 2008 um 14:53 hat folgendes geschrieben:
Hallo,

ich fange am besten ganz vorne an, damit mein Problem verstanden wird.

In meinem Unternehmen haben wir bisher 4 verschiedene Access-DB's und viele weitverstreute Dokumente für unsere Produktion.

Ich habe mir jetzt zur Aufgabe gemacht, eine einzige DB mit dem Inhalt der 4 DB's und Links zu den Dokumenten, zu machen.

Mein (derzeit) einziges Problem ist es, dass ich täglich einen Bericht an die Firmen- und mehrere Abteilungsleitungen schicken muss, den ich über eine recht komplexe Abfrage- und Berichtstruktur gelöst habe. Zumindest bisher.

Allerdings wollte ich aus Formatgründen keinen Bericht mit 5 Unterberichten. Momentan verwende ich ein SendObject-Makro, das den Bericht als *.rtf exportiert. Funktioniert zwar, aber ich muss die Formatierung überarbeiten, da diese beim Export geschrottet wird.

Zu dem Bericht und den Abfragen:

Entsprechend je Abfrage habe ich einen Unterbericht im Hauptbericht.
Die Abfragen berufen sich alle auf die selbe Tabelle (Stammdaten_Laufzettel_Produktion) und hauptsächlich nur auf einen Wert (Stückzahl). Gefiltert wird anhand der Artikelbezeichnung. Mögliche Werte sind EPUNXXX-XXX, EKUNXXX-XXX, KPUNXXX-XXX, KKUNXXX-XXX und das ganze noch mit GK oder DGK am Anfang (Bsp.: GKEPUNXXX-XXX, DGKEPUNXXX-XXX). Die X'en sind dann jeweils Zahlen.

Abfr1: direkte Abfrage der produzierten Artikel und deren Stückzahlen
Abfr2: gesamte produzierte Menge/Tag
Abfr3: gesamte produzierter Typ/Tag (DGK* oder GK*)
Abfr4: gesamte produzierte Menge/Tag (*EP*)
Abfr5: gesamte produzierte Menge/Tag (*EK*)
Abfr6: gesamte produzierte Menge/Tag (*KP* oder *KK*)

Sieht soweit super aus und funktioniert, aber gibt es keine andere Lösung?

Mein erster Alternativversuch war, in Abfr1 die relevanten Summen die Abfr2-6 ausgeben, mit einzubinden.

Ergebnis dieses Versuchs war, dass die Abfrage sehr viel langsamer ist (Rechenzeit >30sec) und es werden am Ende keine Daten ausgegeben.

Jetzt wären meine Fragen:
Kann ich die benötigten Summen schnell und präzise über Code erreichen?
Wie würde so ein Code aussehen?
Wie kann ich die Werte dann in den Bericht einbinden?

Ich hoffe meine Angaben sind ausreichend, um meinen Fall darzustellen.
Ansonsten bitte nachhacken.

Auf eine schnelle Raktion freut sich,
SaschaR

PS: Das sind keine Rechtschreibfehler, das ist künstlerische Freiheit!

Nachtrag:

Den Grund für die "Null-Ausgabe" in der Abfrage habe ich gefunden.
Eigentlich auch dumm von mir, zu erwarten, dass er einen einzigen Summenwert mit mehreren Einzelwerten gemeinsam ausgibt. Rolling Eyes

Bleibt aber immernoch das Problem mit den Unterberichten... Sad

Grüße
Master_Chief
Im Profil kannst Du frei den Rang ändern


Verfasst am:
20. März 2008, 17:44
Rufname:


AW: schnelle komplexe Abfrage per Code? - AW: schnelle komplexe Abfrage per Code?

Nach oben
       Version: Office 2k (2000)

Sehe ich eine schnelle Lösung:

1. Eine Tabelle mit allen relevanten Spalten erstellen
2. über die Quelltabelle/n einen recordset legen
3. daten berechnen
4. insert into in die Tabelle
5. rec.movenext
6. usw.

Vorteil:
Dieser Code muss nur einmal ausgeführt werden und deine Berichte können auf eine einzige Tabelle zurückgreifen. In Summe hohe Zeitersparnis.
Dann quasi wie bei einem Endlosformular einen Endlosbericht erstellen und fertig
SaschaR
Gast


Verfasst am:
25. März 2008, 13:14
Rufname:

AW: schnelle komplexe Abfrage per Code? - AW: schnelle komplexe Abfrage per Code?

Nach oben
       Version: Office 2k (2000)

Hallo Master_Chief,

danke für deine Lösung.
Funktioniert wunderbar.
Habe noch einen Export als PDF und ein versenden des PDF's über Outlook eingebaut und das ganze "rattert" er jetzt in einem "angenehmen" Tempo runter.
Alles in allem glaube ich, dass die Datenbank, so wie sie jetzt ist, einfach zu groß ist, um es schneller zu bekommen.
Werde die DB zuletzt noch splitten, hoffe das stört die Funktion nicht.

Auf jeden Fall hat mir dein Beitrag sehr geholfen.
Nochmals vielen Dank.

MfG
SaschaR
Master_Chief
Im Profil kannst Du frei den Rang ändern


Verfasst am:
25. März 2008, 13:38
Rufname:

AW: schnelle komplexe Abfrage per Code? - AW: schnelle komplexe Abfrage per Code?

Nach oben
       Version: Office 2k (2000)

Hi,

splitten bring nicht wirklich was, probiers vorher erst mal mit reparieren und komprimieren, hat oftmals einen grossen effekt.

Für den Fall das du noch weiter optimieren möchtest, dann passe deine Feldgrössen den Inhalten an, spricht Spalte 1 beinhaltet texte die nicht länger als 60 zeichen sind, dann verringere die Grösse des Feldes , usw. Des Weiteren geht das auch schon beim anlegen einer tabelle mit
CREATE TABLE Tabelle (Feld1 Typ [(Größe)], usw.) damit verhinderst du das die Tabelle immer mit vollen Feldgrössen arbeitet.
Durch diese Faktoren dauert der recordset auch nicht mehr so lange vielleicht bis zu 20% Geschwindigkeitsvorteil, je nach grösse der DB.
Und noch ein Tipp: Immer die Variablen mit Option Explicit festlegen, sonst wird jedes mal variant (Variable) mit entsprechender Grösse verwendet, kostet wider zeit.

Hoffe du kannst das verwenden.

Gruss
SaschaR
Gast


Verfasst am:
25. März 2008, 15:57
Rufname:


AW: schnelle komplexe Abfrage per Code? - AW: schnelle komplexe Abfrage per Code?

Nach oben
       Version: Office 2k (2000)

Hallo,

die Feldgrößen habe ich schon bei Erstellung aufs absolut mögliche Minimum reduziert.
Dadurch habe ich sogar einige "Freiheiten" entfernt die bisher bestanden, was bei der Datenmigration schon den einen oder anderen Konflikt ausgelöst hat.
Komprimierung und evtl. eine Konvertierung zu .mde werde ich wohl nach Fertigstellung machen "müssen", da die DB derzeit zu 70% fertig ist, bei ca. 30% vorhandenen DS, und trotzdem ist sie schon ca. 42MB groß.
Sogar beim Code werde ich momentan knausrig (On Error GoTo Exit_*/Variablen nicht deklariert sondern direkt im Befehl eingebaut, frei nach dem Motto "Jedes Byte zählt")

Ansonsten fälltm ir nur noch eine Splittung in 3 Tabellen-DB's (thematisch unterteilt) und eine Front-End-DB mit den Abfragen und Berichten als "Mehr-Speed"-Lösung ein. Confused

MfG
SaschaR
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Diese Seite Freunden empfehlen

Seite 1 von 1
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Access Tabellen & Abfragen: Access Abfrage Uhrzeit (von bis) 1 new 2078 02. März 2004, 11:12
new Access Abfrage Uhrzeit (von bis)
Keine neuen Beiträge Access Tabellen & Abfragen: [DANKE-ERLEDIGT] Join in einer Abfrage 2 Gast 803 01. März 2004, 08:36
ppc [DANKE-ERLEDIGT] Join in einer Abfrage
Keine neuen Beiträge Access Tabellen & Abfragen: Abfrage nach Berufssparten 3 Fabian_bkk 1537 20. Feb 2004, 10:25
Willi Wipp Abfrage nach Berufssparten
Keine neuen Beiträge Access Tabellen & Abfragen: Wie kann ich mehr als 255Felder in eine Abfrage legen? 1 D.R. 2235 12. Feb 2004, 09:05
faßnacht(IT); Wie kann ich mehr als 255Felder in eine Abfrage legen?
Keine neuen Beiträge Access Tabellen & Abfragen: Abfrage verlinken 4 dfo 1326 10. Feb 2004, 22:17
Willi Wipp Abfrage verlinken
Keine neuen Beiträge Access Tabellen & Abfragen: Suche Hilfe zu SQL (DAO 351 MS) - Abfrage 3 Berny_H 1005 04. Feb 2004, 11:41
borstel Suche Hilfe zu SQL (DAO 351 MS) - Abfrage
Keine neuen Beiträge Access Tabellen & Abfragen: Automatischer Import per Anfügeabfrage ? 6 Major Tom 4017 04. Feb 2004, 09:38
Willi Wipp Automatischer Import per Anfügeabfrage ?
Keine neuen Beiträge Access Tabellen & Abfragen: Diese Abfrage geht nicht. Kann ir jemand helfen 4 Oliver 1438 02. Feb 2004, 13:21
Willi Wipp Diese Abfrage geht nicht. Kann  ir jemand helfen
Keine neuen Beiträge Access Tabellen & Abfragen: Abfrage, die sich auf 2 Abfragen + 1 Tabelle bezieht 1 caro456 1832 27. Jan 2004, 20:03
Willi Wipp Abfrage, die sich auf 2 Abfragen + 1 Tabelle bezieht
Keine neuen Beiträge Access Tabellen & Abfragen: Unterscheid zwischen 2 Daten berechnen in Abfrage 2 itarus 1441 26. Jan 2004, 17:01
i_tarus Unterscheid zwischen 2 Daten berechnen in Abfrage
Keine neuen Beiträge Access Tabellen & Abfragen: Abfrage von Datensätzen ohne Inhalt 3 sebwa 2053 23. Jan 2004, 23:19
Gast Abfrage von Datensätzen ohne Inhalt
Keine neuen Beiträge Access Tabellen & Abfragen: Access abfrage nach 2 parametern 1 Weedy 3466 13. Jan 2004, 00:21
reke Access abfrage nach 2 parametern
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: Microsoft-Excel Diagramme