MS-Office-Forum

Zurück   MS-Office-Forum > Archive > Microsoft Access - Archiv > Microsoft Access - Archiv (2001)
Registrieren Forum Hilfe Alle Foren als gelesen markieren

Banner und Co.

Antworten
Ads
Themen-Optionen Ansicht
Alt 12.07.2001, 09:43   #16
skorpions77
Threadstarter Threadstarter
MOF User
MOF User
Traurig

hi!
Soweit scheint er zu rechnen das paßt ja nur habe ich einen Teil überprüft und das kann leider nicht stimmen!
Er gibt mir aus das zB gleich am Anfang

Obwohl da nur einer angerufen hat um die Zeit. Und wie hast Du das gemeint mit der Datumsabfrage?
Kann ich eine Abfrage machen wo er mir nur einen Tag ausgibt?
So nun das ist die Tabelle (ein Teil halt)
beginn ende
30.05.2001 00:03:26 30.05.2001 00:03:46
30.05.2001 00:04:24 30.05.2001 00:05:12
30.05.2001 00:02:11 30.05.2001 00:05:29
30.05.2001 00:00:37 30.05.2001 00:07:13
30.05.2001 00:02:15 30.05.2001 00:07:41
30.05.2001 00:11:36 30.05.2001 00:11:38
Und das ist das ergebnis:
Beginn Ende AnruferAnzahl
30.05.2001 00:03:26 30.05.2001 00:03:46 4
30.05.2001 00:04:24 30.05.2001 00:05:12 4
30.05.2001 00:02:11 30.05.2001 00:05:29 3
30.05.2001 00:00:37 30.05.2001 00:07:13 2
30.05.2001 00:02:15 30.05.2001 00:07:41 3

Wie man sieht kann das nciht ganz stimmen das diese Anrufer eigentlich alleine waren zu der Zeit und er rechnet mir aber 3 oder 4 aus! Und das sollen die TOP 5 von 10 tagen sein.

PS bin Dir sehr dankbar das Du Dich mit einer Nerve wie mir so lange aushaltest!

------------------
Auch von jedem noch so dummen Spruch kann man was lernen wenn man zuhören kann
skorpions77 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 12.07.2001, 20:10   #17
MarioR
MOF Meister
MOF Meister
Standard

Hallo,

ich hab nochmal über Dein Problem nachgedacht.

Ich bin jetzt zu folgendem Ergebnis gekommen:
Es ist im Prinzip nicht notwendig zu wissen, wann ein Gespräch begonnen hat und wann es beendet wurde. Es ist vielmehr möglich einen Zähler für die aktuelle Anzahl der Gespräche zu erstellen. Dann lässt man die Zeit ablaufen. Taucht im Feld Beginn die aktuelle Zeit auf, wird der Zähler um 1 erhöht. Taucht sie im Feld Ende auf, wird der Zähler um 1 verringert. Das ist die Basis für die folgende Lösung mit 3 Abfragen.

1.Abfrage (Anrufe_1):
(SELECT Beginn AS Zeit, 1 AS Wert FROM Anrufe) UNION ALL (SELECT Ende AS Zeit, -1 As Wert FROM Anrufe)
ORDER BY Zeit;

Die schreibt die beiden Felder Beginn und Ende hintereinander in eine Spalte und sortiert sie dabei nach der Zeit. Gleichzeitig wird in einer neuen Spalte eine +1 (Beginn) oder eine -1 (Ende) hinterlegt.

2.Abfrage (Anrufe_2):
SELECT Anrufe_1.Zeit, Sum(Anrufe_1.Wert) AS SWert
FROM Anrufe_1
GROUP BY Anrufe_1.Zeit;

Hier werden DS mit der gleichen Zeit zu einem DS verdichtet.

3.Abfrage (Anrufe_3):
SELECT Anrufe_2.Zeit AS Start, DFirst("Zeit","Anrufe_2","Zeit>#" & Format([Zeit],"mm" & "-dd" & "-yy " & "hh:nn:ss") & "#") AS Ende, DSum("SWert","Anrufe_2","Zeit<=#" & Format([Zeit],"mm" & "-dd" & "-yy " & "hh:nn:ss") & "#") AS AnzahlAnrufe
FROM Anrufe_2
ORDER BY DSum("SWert","Anrufe_2","Zeit<=#" & Format([Zeit],"mm" & "-dd" & "-yy " & "hh:nn:ss") & "#") DESC;

Diese Abfrage liefert Dir jetzt die jeweiligen Zeiträume und die Anzahl der Anrufer in diesem Zeitraum. Die Abfrage läuft eine Weile (ich habs mit rund 2000 DS in der Tab Anrufe getestet -> Laufzeit rund 3 min)

Vielleicht fällt mir für die 3. Abfrage noch eine schnellere Lösung ein.
Hoffentlich hab ich mich nirgendwo verhauen.

__________________

Mario

Fluchen ist die einzige Sprache, die alle Programmierer perfekt beherrschen.
MarioR ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 12.07.2001, 21:23   #18
WalterS
MOF Koryphäe
MOF Koryphäe
Standard

Hallo!

Ich habe das Problem meiner Abfrage schon erkannt. Es erkennt nur übereinander greifende Zeiträume, nicht aber Zeiträume die gänzlich innerhalb des überprüften Zeitraum liegen. Ich sehe als derzeit einzige Möglichkeit in der Tabelle ein nummerisches Feld anzulegen. und diese durch Abfragen für alle Möglichkeiten "hochzuzählen".

Den Ausführungen von Mario kann ich geistig leider nicht folgen. Vielleicht funkt es so ???

__________________

CU WAlter
PS: Rechtsschreibfehler und Typfehler sind mein geistiges Eigentum und dürfen ohne meine Zustimmung nicht weitergegeben werden.

Sportliche Wiener schauen auf meiner Homepage <a *****"http://www.oesta.info" target="_blank">www.oesta.info</a> vorbei oder kommen gleich zum Langsamlauftreff (Infos unter meiner eMail-Adresse); kulturell Interessierte schauen bei <a *****"http://theater.grg21.ac.at/ " target="_blank">http://theater.grg21.ac.at/</a>vorbei.

PS: <a *****"http://games03.vienna-highlanders.com/ " target="_blank">Ein Sommerhighlight in Wien</a>
WalterS ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 12.07.2001, 21:47   #19
MarioR
MOF Meister
MOF Meister
Standard

Hallo,

@Walter
Eine Sache sich auszudenken ist das Eine, sie jemandem zu erklären was ganz Anderes. Ich hab meinen geistigen Ergüsse nochmal durchgelesen - naja ...

@skorpions77
Ich hab die Abfrage mal für Dein Beispiel durchlaufen lassen. Das Ergebnis sieht so aus (jetzt allerdings nach Uhrzeit sortiert):

Start Ende AnzahlAnrufe
30.05.01 00:00:37 30.05.01 00:02:11 1
30.05.01 00:02:11 30.05.01 00:02:15 2
30.05.01 00:02:15 30.05.01 00:03:26 3
30.05.01 00:03:26 30.05.01 00:03:46 4
30.05.01 00:03:46 30.05.01 00:04:24 3
30.05.01 00:04:24 30.05.01 00:05:12 4
30.05.01 00:05:12 30.05.01 00:05:29 3
30.05.01 00:05:29 30.05.01 00:07:13 2
30.05.01 00:07:13 30.05.01 00:07:41 1
30.05.01 00:07:41 30.05.01 00:11:36 0
30.05.01 00:11:36 30.05.01 00:11:38 1

Die meisten Anrufe fanden also zwischen 0:3:26 und 0:3:46 bzw. zwischen 0:4:24 und 0:5:12 statt. In der Hinsicht stimmt auch Walters Lösung.

__________________

Mario

Fluchen ist die einzige Sprache, die alle Programmierer perfekt beherrschen.
MarioR ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 13.07.2001, 12:43   #20
skorpions77
Threadstarter Threadstarter
MOF User
MOF User
Traurig

Also zuerst muß ich Euch beiden einmal ordentlich Danken!
ich finde es total super, daß Ihr Euch so um jeden hier kümmert auch wenn es noch so schwierig ist mit den Leuten!
Super Danke und wenn Ihr mal nach Wien kommt gehn wir mal ein Bier trinken!

So nun MArio leider bin ich noch immer zu dumm es zum laufen zu bringen!
Und zwar schon bei der ersten Abfrage kommt ein Fehler.
ich habe alle drei Abfragen gemacht und Deine Angaben reinkopiert und folgender Fehler tritt auf:
ODBC-Aufruf fehlgeschlagen

[TCX][MYODBC]You have an error in your SQLsyntax near `(SELECT beginn,1 FROM statistik) UNION ALL (SELECT ende,-1 FROM statistik)at line 1(#1064)

ich kann damit leider nichts anfangen und weiß daher nichteinmal wo ich einen Fehler suchen muß!

thx to all a lot!

------------------
Auch von jedem noch so dummen Spruch kann man was lernen wenn man zuhören kann
skorpions77 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 13.07.2001, 13:00   #21
MarioR
MOF Meister
MOF Meister
Standard

Hallo,

also mit ODBC kenn ich mich nicht aus.

Ich denke aber, dass der Fehler hier liegt:
Ich habe in meinen SQL-Befehlen den Teil ... AS Zeit ... drinstehen. Damit werden die neuen Feldbezeichnungen festgelegt (hier also z.B. ZEIT). Und das fehlt bei Dir.
Ich denke es muss so aussehen:
(SELECT beginn AS Zeit, 1 AS Wert FROM statistik) UNION ALL (SELECT ende AS Zeit, -1 AS Wert FROM statistik)

__________________

Mario

Fluchen ist die einzige Sprache, die alle Programmierer perfekt beherrschen.
MarioR ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 16.07.2001, 08:59   #22
skorpions77
Threadstarter Threadstarter
MOF User
MOF User
Traurig

Kenn mich mit ODBC auch nicht sonderlich aus!

Und das heißt nun?
Kann ich da was ändern?

thx

------------------
Auch von jedem noch so dummen Spruch kann man was lernen wenn man zuhören kann
skorpions77 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 16.07.2001, 09:54   #23
MarioR
MOF Meister
MOF Meister
Standard

Hast Du meine vorgeschlagenen Änderungen im SQL-String mal probiert?

__________________

Mario

Fluchen ist die einzige Sprache, die alle Programmierer perfekt beherrschen.
MarioR ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 16.07.2001, 09:58   #24
skorpions77
Threadstarter Threadstarter
MOF User
MOF User
Standard

ich wollte nur weiß ich leider nicht was Du damit meinst!
Soll ich statt Zei eben bei Dir etwas anderes bei mir einsetzen?
Oder muß ich Zeit irgendwo definieren?
ich weiß leider nicht was Du meinst!
Sorry

------------------
Auch von jedem noch so dummen Spruch kann man was lernen wenn man zuhören kann
skorpions77 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 16.07.2001, 12:25   #25
MarioR
MOF Meister
MOF Meister
Standard

Nein, ich meinte, dass Du den jetzigen SQL-String (für die 1. Abfrage) mal durch meinen vorgeschlagenen ersetzt:

also
(SELECT beginn, 1 FROM statistik) UNION ALL (SELECT ende, -1 FROM statistik)

durch
(SELECT beginn AS Zeit, 1 AS Wert FROM statistik) UNION ALL (SELECT ende AS Zeit, -1 AS Wert FROM statistik)

ersetzen

__________________

Mario

Fluchen ist die einzige Sprache, die alle Programmierer perfekt beherrschen.
MarioR ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 16.07.2001, 12:32   #26
skorpions77
Threadstarter Threadstarter
MOF User
MOF User
Traurig

Hi!
Das habe ich gemacht nur es funktioniert immer noch nicht!
Selber fehler!
Und was mir noch aufgefallen ist aber ich damals vergessen habe aufzuschreiben bei meiner Abfrage_1 habe ich nicht das Abfrage zeichen daneben sondern 2 Ringe.
Ist das egal?
ich kenne das zeichen nicht wirklich!
Danke

------------------
Auch von jedem noch so dummen Spruch kann man was lernen wenn man zuhören kann
skorpions77 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 16.07.2001, 12:46   #27
MarioR
MOF Meister
MOF Meister
Traurig

Die doppelten Ringe sind das Symbol für eine Union-Abfrage, also das ist i.O.

Da mir im Moment auf die Ferne auch Nichts mehr einfällt, würde ich nochmal anbieten, dass Du mir die DB (oder die wichtigsten Teile) zuschickst. Ich hab allerdings nur Acc97 zur Verfügung.

__________________

Mario

Fluchen ist die einzige Sprache, die alle Programmierer perfekt beherrschen.
MarioR ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 16.07.2001, 12:56   #28
skorpions77
Threadstarter Threadstarter
MOF User
MOF User
Standard

Hi! Würde ich ja gerne aber die DB ist viel zu groß und der Datenschutz!
Ich weiß das Du ncihts machst nur es hätte sonst auch keiner gerne!

Was würdest Du denn genau brauchen?
Oder besser was mußt Du genau wissen?
Ich kann Dir alles ganz genau beschreiben wenn Du mir sagst was Du genau wissen mußt!
Die DB ist rießen groß 260MB.


------------------
Auch von jedem noch so dummen Spruch kann man was lernen wenn man zuhören kann
skorpions77 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 16.07.2001, 13:15   #29
MarioR
MOF Meister
MOF Meister
Standard

Also im Prinzip brauch ich die Struktur der Tab (Statistik ???), möglichst mit einigen Beispieldaten und die 3 Abfragen, wie Du sie jetzt angepasst hast.

Da fällt mir grad was ein. Wieso hast Du eigentlich mit ODBC zu tun. Kommt die Tab Statistik nicht aus der DB, wo die Abfragen sind?

__________________

Mario

Fluchen ist die einzige Sprache, die alle Programmierer perfekt beherrschen.
MarioR ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 16.07.2001, 14:31   #30
skorpions77
Threadstarter Threadstarter
MOF User
MOF User
Standard

nun gut also ich habe eine Tabelle "statistik" da gibt es die einzelnen Tabellen:
id/beginn/ende/linie/ und noch ein paar andere die aber komplett unwichtig sind!
Dann habe ich eine abfrage gemacht die ich anrufe nannte und wo ich nur beginn und ende aufgelistet habe!
Danach habe ich dann Eure vorschläge probiert und nun habe ich dann noch 3 Abfragen gemacht die Du mir gesagt hast: Anrufe_1:
(SELECT beginn AS Zeit, 1 AS Wert FROM statistik) UNION ALL (SELECT ende AS Zeit, -1 AS Wert FROM statistik);
Anrufe_2:
SELECT Anrufe_1.Zeit, Sum(Anrufe_1.Wert) AS SWert
FROM Anrufe_1
GROUP BY Anrufe_1.Zeit;
Anrufe_3:
SELECT Anrufe_2.Zeit AS Start, DFirst("Zeit","Anrufe_2","Zeit>#" & Format([Zeit],"mm" & "-dd" & "-yy " & "hh:nn:ss") & "#") AS Ende, DSum("SWert","Anrufe_2","Zeit<=#" & Format([Zeit],"mm" & "-dd" & "-yy " & "hh:nn:ss") & "#") AS AnzahlAnrufe
FROM Anrufe_2
ORDER BY DSum("SWert","Anrufe_2","Zeit<=#" & Format([Zeit],"mm" & "-dd" & "-yy " & "hh:nn:ss") & "#") DESC;

Brauchst Du noch was?

------------------
Auch von jedem noch so dummen Spruch kann man was lernen wenn man zuhören kann
skorpions77 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Ads
Antworten


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Besucher: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge anzufügen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

vB Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist An.
Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:54 Uhr.



Powered by: vBulletin Version 3.6.2 (Deutsch)
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.

Copyright ©2000-2018 MS-Office-Forum. Alle Rechte vorbehalten.
Copyright ©Design: Manuela Kulpa ©Rechte: Günter Kramer
Eine Verwendung der Inhalte in anderen Publikationen, auch auszugsweise,
ist ohne ausdrückliche Zustimmung der Autoren nicht gestattet.