Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem MS Access - potrebujem dopisat overovacie pravidla

nasiel by sa tu nejaky ochotny clovek ktory by mi pomohol urobit nieco v accesse pretoze uz som fakt zufala potrebujem vyriesit par uloh ku ktorym treba dopisat overovacie pravidla a podobne veci ak sa v tom niekto vyzna a ma trocha casu keby bol taky dobry a napisal by mail kde by som mu to poslala zeby sa na to pozrel vopred moc diky

Změna předmětu, původně: MC Access (host)

Jsou zobrazeny jen nové odpovědi. Zobrazit všechny
Předmět Autor Datum
tak teda posielam tie veci keby sa na to niekto pozrel ze ci by to vedel potrebujem urobit tie ulohy… nový
prisonbreak 13.08.2010 21:16
prisonbreak
Takže nějaký domácí úkol? A vás to ve škole neučili? ::) nový
host 13.08.2010 21:21
host
da sa to tak povedat ze domaca mali sme z toho hrozne narychlo prednasku a nik tomu nerozumie poriad… nový
prisonbreak 13.08.2010 21:25
prisonbreak
aha.. "nik tomu nerozumie" ]:) Nevěřím, že vám to nikdo neodpřednášel. Tohle jsou úplné základy tra… nový
touchwood 14.08.2010 16:01
touchwood
bude mi s tym prosim niekto vediet pomoct ci nie pozeral sa uz niekto na to kto vie robit v accesse nový
prisonbreak 13.08.2010 21:49
prisonbreak
Měl bych nejprve dotaz. V databázi jsou dotazy, formulář a sestava. Jsou to vzory, nebo jsi to už sa… nový
uri 14.08.2010 13:25
uri
ale to je tak strašně jednoduché, na to stačí 30 minut, stačí to naklikat. To "nejhorší" je použití… nový
touchwood 14.08.2010 15:36
touchwood
SELECT KLIENTI.OBEC as bydlisko, Count(KLIENTI.OBEC) AS Pocet_klientov FROM KLIENTI INNER JOIN TRANS… nový
touchwood 14.08.2010 15:42
touchwood
diki moc ze si sa na to pozrel ale to co si mi popisal tak sa z toho moc nevyznam tak ci by si mi as… nový
prisonbreak 15.08.2010 11:45
prisonbreak
promiň, ale ti si to tam nedokážeš dát sama? Vždyť jsou to 2 kliknutí (označit text, ctrl+c, nový do… poslední
touchwood 15.08.2010 11:47
touchwood

aha.. "nik tomu nerozumie" ]:) Nevěřím, že vám to nikdo neodpřednášel.

Tohle jsou úplné základy transakčních dotazů.. co vás teda učili? A proč sis to nenastudovala na netu? Zrovna v Accessu se tyhle pakárny dělají strašně jednoduše pouhým přetahováním políček, jen čas od času je potřeba dopsat nějaký ten vzoreček.

Měl bych nejprve dotaz. V databázi jsou dotazy, formulář a sestava. Jsou to vzory, nebo jsi to už sama vytvořila ? Relace je vytvořena tebou ? Pokud jsou to vše jen vzory od zadavatele, tu máš SQL dotaz na první otázku:
SELECT Month([TRANSAKC]![DATUM]) AS Měsíc, Sum([TRANSAKC]![SUMA]) AS SUMA
FROM TRANSAKC
WHERE (((TRANSAKC.DATUM) Between #1/1/1995# And #12/31/1995#))
GROUP BY Month([TRANSAKC]![DATUM])
ORDER BY Month([TRANSAKC]![DATUM]);
Stručně vysvětlení: Podmínka WHERE určuje rozsah transakce, Sum je součet transakcí, GROUP BY Month slučuje do jednotlivých měsíců a ORDER BY Month je vzestupné seřazení dle měsíce.

SELECT KLIENTI.OBEC as bydlisko, Count(KLIENTI.OBEC) AS Pocet_klientov
FROM KLIENTI INNER JOIN TRANSAKC ON KLIENTI.CISLO_UCTU = TRANSAKC.CISLO_UCTU
GROUP BY KLIENTI.OBEC;
SELECT Count(TRANSAKC.CAS) AS Pocet_dopoledne
FROM KLIENTI INNER JOIN TRANSAKC ON KLIENTI.CISLO_UCTU = TRANSAKC.CISLO_UCTU
HAVING (([cas]<=12));
SELECT Year([DATUM_NAR]) AS rok, Count(Year([DATUM_NAR])) AS pocet
FROM KLIENTI INNER JOIN TRANSAKC ON KLIENTI.CISLO_UCTU = TRANSAKC.CISLO_UCTU
GROUP BY Year([DATUM_NAR]);
SELECT Month([DATUM_NAR]) AS rok, Count(Year([DATUM_NAR])) AS pocet
FROM KLIENTI INNER JOIN TRANSAKC ON KLIENTI.CISLO_UCTU = TRANSAKC.CISLO_UCTU
GROUP BY Month([DATUM_NAR]);
SELECT KLIENTI.MENO, UCase([PRIEZVISKO]) AS UCPRIEZ, KLIENTI.DATUM_NAR, KLIENTI.OBEC
FROM KLIENTI
GROUP BY KLIENTI.MENO, UCase([PRIEZVISKO]), KLIENTI.DATUM_NAR, KLIENTI.OBEC;
SELECT KLIENTI.OBEC, Sum(TRANSAKC.SUMA) AS SumOfSUMA
FROM KLIENTI INNER JOIN TRANSAKC ON KLIENTI.CISLO_UCTU = TRANSAKC.CISLO_UCTU
GROUP BY KLIENTI.OBEC, TRANSAKC.VKLAD
HAVING (((TRANSAKC.VKLAD)=Yes));
SELECT KLIENTI.MENO, KLIENTI.PRIEZVISKO, Month([DATUM_NAR]) AS mesic, KLIENTI.OBEC
FROM KLIENTI INNER JOIN TRANSAKC ON KLIENTI.CISLO_UCTU = TRANSAKC.CISLO_UCTU
GROUP BY KLIENTI.MENO, KLIENTI.PRIEZVISKO, Month([DATUM_NAR]), KLIENTI.OBEC
HAVING (((Month([DATUM_NAR]))=5));
SELECT KLIENTI.CISLO_UCTU, KLIENTI.MENO, KLIENTI.PRIEZVISKO, KLIENTI.PSC
FROM KLIENTI INNER JOIN TRANSAKC ON KLIENTI.CISLO_UCTU = TRANSAKC.CISLO_UCTU
GROUP BY KLIENTI.CISLO_UCTU, KLIENTI.MENO, KLIENTI.PRIEZVISKO, KLIENTI.PSC, Right([psc],2)
HAVING (((Right([psc],2))="01"));
SELECT KLIENTI.MENO, KLIENTI.PRIEZVISKO, KLIENTI.DATUM_NAR, KLIENTI.OBEC, TRANSAKC.VKLAD, Sum(TRANSAKC.SUMA) AS SumOfSUMA
FROM KLIENTI INNER JOIN TRANSAKC ON KLIENTI.CISLO_UCTU = TRANSAKC.CISLO_UCTU
GROUP BY KLIENTI.MENO, KLIENTI.PRIEZVISKO, KLIENTI.DATUM_NAR, KLIENTI.OBEC, TRANSAKC.VKLAD
HAVING (((TRANSAKC.VKLAD)=Yes));
SELECT KLIENTI.MENO, KLIENTI.PRIEZVISKO, KLIENTI.DATUM_NAR, (Date()-[datum_nar])/365 AS vek
FROM KLIENTI INNER JOIN TRANSAKC ON KLIENTI.CISLO_UCTU = TRANSAKC.CISLO_UCTU
GROUP BY KLIENTI.MENO, KLIENTI.PRIEZVISKO, KLIENTI.DATUM_NAR, (Date()-[datum_nar])/365
HAVING ((((Date()-[datum_nar])/365)<40));
SELECT Count(TRANSAKC.VKLAD) AS CountOfVKLAD
FROM KLIENTI INNER JOIN TRANSAKC ON KLIENTI.CISLO_UCTU = TRANSAKC.CISLO_UCTU
GROUP BY TRANSAKC.VKLAD
HAVING (((TRANSAKC.VKLAD)=Yes));
SELECT KLIENTI.MENO, KLIENTI.PRIEZVISKO, Count(TRANSAKC.VKLAD) AS CountOfVKLAD
FROM KLIENTI INNER JOIN TRANSAKC ON KLIENTI.CISLO_UCTU = TRANSAKC.CISLO_UCTU
GROUP BY KLIENTI.MENO, KLIENTI.PRIEZVISKO, TRANSAKC.VKLAD
HAVING (((TRANSAKC.VKLAD)=Yes))
ORDER BY Count(TRANSAKC.VKLAD) DESC;
SELECT KLIENTI.MENO, KLIENTI.PRIEZVISKO, Sum(TRANSAKC.SUMA) AS SumOfSUMA
FROM KLIENTI INNER JOIN TRANSAKC ON KLIENTI.CISLO_UCTU = TRANSAKC.CISLO_UCTU
GROUP BY KLIENTI.MENO, KLIENTI.PRIEZVISKO, TRANSAKC.VKLAD
HAVING (((TRANSAKC.VKLAD)=No))
ORDER BY Sum(TRANSAKC.SUMA);
SELECT KLIENTI.MENO
FROM KLIENTI INNER JOIN TRANSAKC ON KLIENTI.CISLO_UCTU = TRANSAKC.CISLO_UCTU
GROUP BY KLIENTI.MENO;
SELECT KLIENTI.MENO, KLIENTI.PRIEZVISKO, KLIENTI.DATUM_NAR, KLIENTI.OBEC, (Date()-[datum_nar])/365 AS vek
FROM KLIENTI INNER JOIN TRANSAKC ON KLIENTI.CISLO_UCTU = TRANSAKC.CISLO_UCTU
GROUP BY KLIENTI.MENO, KLIENTI.PRIEZVISKO, KLIENTI.DATUM_NAR, KLIENTI.OBEC, (Date()-[datum_nar])/365
HAVING (((KLIENTI.OBEC)="Bratislava") AND (((Date()-[datum_nar])/365)<30));
SELECT TRANSAKC.CISLO_UCTU, KLIENTI.HESLO
FROM KLIENTI INNER JOIN TRANSAKC ON KLIENTI.CISLO_UCTU = TRANSAKC.CISLO_UCTU
GROUP BY TRANSAKC.CISLO_UCTU, KLIENTI.HESLO, Len([heslo])
HAVING (((Len([heslo]))<5));
SELECT TRANSAKC.CISLO_UCTU, KLIENTI.MENO, KLIENTI.PRIEZVISKO, KLIENTI.HESLO
FROM KLIENTI INNER JOIN TRANSAKC ON KLIENTI.CISLO_UCTU = TRANSAKC.CISLO_UCTU
GROUP BY TRANSAKC.CISLO_UCTU, KLIENTI.MENO, KLIENTI.PRIEZVISKO, KLIENTI.HESLO, Len([heslo])
HAVING (((Len([heslo])) Is Null));
SELECT KLIENTI.MENO, KLIENTI.PRIEZVISKO, Sum(TRANSAKC.SUMA) AS SumOfSUMA
FROM KLIENTI INNER JOIN TRANSAKC ON KLIENTI.CISLO_UCTU = TRANSAKC.CISLO_UCTU
GROUP BY KLIENTI.MENO, KLIENTI.PRIEZVISKO, TRANSAKC.VKLAD
HAVING (((TRANSAKC.VKLAD)=Yes))
ORDER BY Sum(TRANSAKC.SUMA);
SELECT TRANSAKC.CISLO_UCTU, KLIENTI.MENO, KLIENTI.PRIEZVISKO, Sum(TRANSAKC.SUMA) AS SumPlus, Sum(TRANSAKC_1.SUMA) AS sumMinus, [sumplus]-[summinus] AS stav
FROM TRANSAKC AS TRANSAKC_1 RIGHT JOIN (KLIENTI LEFT JOIN TRANSAKC ON KLIENTI.CISLO_UCTU = TRANSAKC.CISLO_UCTU) ON TRANSAKC_1.CISLO_UCTU = KLIENTI.CISLO_UCTU
GROUP BY TRANSAKC.CISLO_UCTU, KLIENTI.MENO, KLIENTI.PRIEZVISKO, TRANSAKC.VKLAD, TRANSAKC_1.VKLAD
HAVING (((Sum(TRANSAKC.SUMA))>0) AND ((Sum(TRANSAKC_1.SUMA))>0) AND ((TRANSAKC.VKLAD)=Yes) AND ((TRANSAKC_1.VKLAD)=No))
ORDER BY [sumplus]-[summinus] DESC;

edit: názvy polí si uprav podle zadání. Nijak jsem to neoptimalizoval.

edit2: Ověřovací pravidla se používají při vstupu dat, nikoli při tvorbě dotazů. ;-)

diki moc ze si sa na to pozrel ale to co si mi popisal tak sa z toho moc nevyznam tak ci by si mi aspon dve ulohy nemohol uz priamo do accessu spravit a pripojit do prilohy aby som podla toho vedela lebo ja mam access 2007 v cestine a ty si mi tam po anglicky pisal a neviem kde co mam dat teraz tak ak by si bol taky dobry aby som nejaky vzor mala strasne moc dakujem

Zpět do poradny Odpovědět na původní otázku Nahoru