Combineren resultaten van 2 Queries in 1 Chart Access 2003

Status
Niet open voor verdere reacties.

bulendyasin

Gebruiker
Lid geworden
9 dec 2011
Berichten
48
Hoi,

Ik ben bezig met het opzetten van een db in Access 2003.
Ik heb data exports van een oracle db die ik importeer in access (geautomatiseerd)
En een data export van een andere access db.

De data dat van de andere access db komt bevat een uren registratie per taak.
De data dat komt van Oracle bevat het aantal keren (met unieke transact nr) dat het uitgevoerd is.

Ik heb 2 forms (1 voor uren db en 1 voor Oracle data) waar ik 2 tekstvelden met Start en Eind datum een list box met een lijst van taken heb.
Als ik nu een taak selecteer en via een dynamische SQL string een querie run krijg ik netjes de data wat ik opvraag.

Alleen het probleem is dat ik een berekening moet hebben van het aantal taken gedeeld door het aantal uren.
Zo kan ik zien wat de productivity is.
Het lukt me om het aantal taken te zien (Count) en het aantal uren van dat taak (Sum) maar hoe kan ik deze uitkomsten met elkaar verrekenen (Delen) en de uitkomst in een grafiek weergeven?

Graag jullie hulp en/of advies
Bekijk bijlage 151399
(Sorry als het een beetje verwarrend verhaal is maar ik kon het niet anders formuleren.)
 
Uren is een getal, Aantal is een getal. Getallen kun je op elkaar delen. Lijkt mij niet zo moeilijk in een query. Maar zo te zien haal je de gegevens niet uit een query, maar uit twee formulieren? En waar moet de uitkomst dan komen?
 
De form is gebaseerd op een tabel met de uren
En een andere form dat gebaseerd is op een andere tabel met de Transacties.
De Form Activity stuurt via VBA code een SQL String in die dus een query lanceert de string ziet er zo uit:

SELECT FILTERED_ACTIVITY.*
FROM FILTERED_ACTIVITY
WHERE (((FILTERED_ACTIVITY.Activities_Date)>=#3/1/2011# And (FILTERED_ACTIVITY.Activities_Date)<=#3/28/2012#) AND ((FILTERED_ACTIVITY.User_Name) Like '*') AND ((FILTERED_ACTIVITY.Activity) In ('REPLENISHMENT')))
ORDER BY FILTERED_ACTIVITY.Activities_Date;

En het form Replenishment (een van de taken elke taak heeft een eigen tabel en form) Sql String:

SELECT FILTERED_REPLEN.*
FROM FILTERED_REPLEN
WHERE (((FILTERED_REPLEN.Txn_Date)>=#1/1/2011# And (FILTERED_REPLEN.Txn_Date)<=#3/24/2012#) AND ((FILTERED_REPLEN.Created_By) In ('DENISEH','JOHANP')))
ORDER BY FILTERED_REPLEN.Txn_Date;

De WHERE gegevens worden dus via de selecties in het form ingevuld.

Het zijn dus 2 Aparte tabellen en Forms en Queries.

Elk met een uitkomst (SUM Uren en COUNT Transacties)
Wat ik wil is dus met deze uitkomst een nieuwe berekening maken en het uitkomst op een chart laten zien ( Resultaat Uren Gedeeld door Resultaat Transacties)
 
Ik zie die SUM en COUNT anders niet terug in de query?
 
Leuk die plaatjes, maar hoe denk je die uit de chart te trekken?
 
:) dat is nou net mijn vraag
Afzonderlijk van elkaar kan ik de chart vormen.
Maar wat ik moet hebben is de chart met de resultaat van de berekening.
Dan krijg ik dus een plaatje waar ik wat mee kan.

Ik denk dat ik een query moet maken waar ik de berekening van query 1 en 2 kan doen. En het resultaat als chart weergeven.
Maar ik kom er maar niet uit hoe ik dit moet doen.:(
 
Tot nu toe heb je nog steeds geen zinvolle informatie gegeven; uit de plaatjes haal ik dat je wel ergens gegevens hebt, alleen: waar, hoe, wat? gebruik je voor de twee grafieken in beginsel dezelfde gegevens bijvoorbeeld? En zo ja, wat is dat dan voor gegevensbron? Is het een query, waarom maak je daar dan de berekening niet in? Want dat zou ik dus doen.... Als je een Totalen query hebt gemaakt op basis van één veld dat je groepeert, en een veld met de functie Som hebt, en een ander veld met de functie Aantal, dan kun je al gelijk de berekening maken. Maar zonder enig inzicht in die gegevensbron, komen we niet veel verder.
 
Sorry ik zal proberen het duidelijk mogelijk te omschrijven.

We werken met 2 bronnen.
1: Een Access db waar we voor elke activiteit de uren bijhouden.
bv:
01 Jan 2012 - Replenishment - Jantje - 1.5 uur.
01 Jan 2012 - Schoonmaak - Pietje - 0.15 uur.

De tabellen van dit db heb ik direct gelinkt.
Het bestaat uit 3 onderling gelinkte tabellen.
1. Tabel Activities
2. Tabel Operators
3. Tabel Daily Activity Registration
Er bestaat een relatie tussen deze tabellen.
Ik heb ze alle drie gelinkt en ook de relaties aangemaakt.
Zodat ik bij operators en activities geen ID nummers maar namen krijg.
Ik heb de velden die ik nodig heb verzameld in een nieuwe tabel (TEMP_ACTIVITIES)
Vanuit deze tabel die ik aanvul met een append qry doe ik filteren op datum en andere criteria (datum formaat)en draai ik een unmach qry zodat de duplicates eruit worden gehaald.
het resultaat wordt naar een andere tabel verplaats (FILTERED_ACTIVITIES)
Dit is het uiteindelijke tabel waar ik mee werk.
Met een DELETE qry wordt de TEMP_ACTIVITIES geleegd.
Dmv een form kies ik de criteria`s van een select qry en vertoon dat als een grafiek. (Ik denk dat dit overbodig is na jouw vraag waar de berekening qry is)

de 2e Gegevensbron is een Oracle db.
De boven genoemde bron is voor uren registratie per taak.
Oracle registreert per handling aan de hand van transacties.
We doen een export in komma gescheiden tekst formaat.
Deze importeer ik in een tabel (TEMP_REPLEN). Met een qry (UNMATCH) vergelijk ik dit tabel inhoud met een andere tabel dat bestaat uit eerdere imports (UNTOUCH_REPLEN).
En alleen de nieuwe records ( met de nodige filters) worden aan de uiteindelijke tabel toegevoegd namelijk FILTERED_REPLEN table.


Een hele verhaal sorry hiervoor.:o
Ik sluit een demo van mijn db in zodat het een en andere duidelijker wordt.
Gezien ik werk met FE en BE (geleerd van jouw waardevolle tut op deze site) heb ik gelinkte tabellen.
Ik zal in de demo de tabellen erbij doen dus unlinked.
(viel niet mee om het minder dan 100KB te krijgen)
 
Laatst bewerkt:
Ik krijg 'm op het werk niet geopend, vrees ik. Dat wordt dus wachten :)
 
Ok ik heb er zelf een beetje aan gesleuteld.
Ik heb 2 query gemaakt de ene om de sum te berekenen van de uren de andere om een count te doen van het aantal transactienummers.
en als 3 de qry heb ik de resultaten van deze twee op maand gegroepeerd en gesorteerd en een deling gedaan tussen de twee uitkomsten.

Nu kom ik dus op mijn eigenlijke vraag:

Hoe kan ik het aantal counts als balken weergeven en de norm als lijn in hetzelfde grafiek?
 
Ik weet niet hoe je het bestand gezipt hebt, maar zowel de eerste als de tweede bijlage kan ik ook thuis niet openen.
 
Hmm ik heb het met 7zip gezipt anders kreeg ik hem niet onder de 100 kb.
Ik heb hem nu gewoon gezipt met windows en geupload naar mijn eigen server.
hier is de link: verwijderd zie voor een updated demo onderaan

nu moet het lukken;)
 
Laatst bewerkt:
Dat scheelt! Die kent mijn systeem tenminste :)
Als je met Winrar werkt, krijg je de db overigens ook ruim onder de 100kb. Bovendien kun je met Winrar nog deelbestanden van 100kb maken, als je daar bovenuit komt. Ik kijk er dus zo even naar!
 
Ik ben maar weer van nul begonnen.
Ik denk dat het verstandig is om het stap voor stap aan te pakken.

Ik heb nu dus 2 tabellen die komen van 2 verschillende bronnen.

Tabel 1 bevat het aantal transacties van een bepaalde taak.(Replenishment Table)
Tabel 2 bevat de totale uren per dag voor de uitgevoerde taak.(Activity Table)
De opbouw en constructie van de tabellen zijn te zien in de bijlage.
Ik heb ook de demodb bijgevoegd(geupdated)
Bekijk bijlage 151993
Bekijk bijlage 151995
Bekijk bijlage 151997

Wat ik wil doen is de uren aan de taak koppelen.
Zodat ik een overzicht krijg van hoeveel tijd er besteed is aan een taak.
 
Laatst bewerkt:
ik heb het idee dat ik iets verkeerd aanpak maar ik kom er niet uit wat.
ik krijg het niet voor elkaar om de twee tabellen met elkaar te linken zodat ik op datum de taken en de uren naast elkaar krijg
Ik kan geen ID veld maken omdat de data telkens geupdate wordt met een externe bron (APPEND QUERY)
wat doe ik fout of wat ontgaat mij?
 
Dat nieuwe bestand is zeker weer met 7-zip gemaakt? Ik krijg hem althans niet uitgepakt. En 7-zip wordt door onze virusscanner als uiterst gevaarlijk bestempeld; ik kan hem althans nergens downloaden.
 
Hmm ik had het met de ingebouwde zipper van Windows gedaan (winrar heb ik niet op mijn werk en 7zip heb ik verwijderd)
Ik heb hem nu met winrar ingepakt. sorry voor het ongemak.

Ik heb alle query's verwijderd want ik heb het idee dat ik iets fout doe met de indeling dan wel type velden omdat ik deze niet goed kan linken.

Wat ik wel weet is dat mijn ORACLE bron een datum tijd heeft in de formaat van mm/dd/yyyy hh:mm:ss en dat mijn access bron een formaat hanteert van mm/dd/yyyy
Als ik de relatie tussen de twee datum velden aanmaak krijg ik een "indeterminate" relation type.
 
Laatst bewerkt:
En wat is nu de bedoeling? Je hebt in je nieuwe model twee tabellen. Wil je die aan elkaar knopen?
 
Ja zie het als een uren verantwoording van taken.
elke taak wordt elke dag geregistreerd.

Het probleem is hier elke dag wordt alleen het totaal uren van een bepaalde taak geregistreerd.
Maar dat taak kan meerdere keren op een dag uitgevoerd zijn.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan