Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Kako ukloniti polje sa forme koje nije definisano??

[es] :: Access :: Kako ukloniti polje sa forme koje nije definisano??

[ Pregleda: 2618 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

mika
NBG-ML

Član broj: 55
Poruke: 640
*.privsav.co.yu.



+1 Profil

icon Kako ukloniti polje sa forme koje nije definisano??27.05.2005. u 08:55 - pre 230 meseci
Zdravo svima.

Pravim neku vrstu kadrovske evidencije, doduše trivijalnu, i potrebna mi je forma/report koja kao kolone ima 1-31 podatke o danima u mesecu, a kao redove podatke o imenima radnika. Upit je relativno jednostavan:

Code:

TRANSFORM 
     Format(Sum(tblListe.Time),"#.00") AS SumOfTime
SELECT 
     tblEmployees.Name
FROM 
     tblEmployees INNER JOIN tblListe ON tblEmployees.IdEmp = tblListe.IdEmp
WHERE 
     format(tblListe.Datum, "m") = 4
GROUP BY 
     tblEmployees.Name
PIVOT 
     Format(tblListe.Datum,"dd");


...koji pravi baš takav prikaz. Problem je u sledećem: ponekad nisu definisane sve kolone, npr. vikendom nema nikakvih unosa, ili je februar pa ima 28 dana, pa mi se u polju čiji je recordsource nepostojeći (npr. 29, 30, 31 u slučaju februara), javlja ono "#Name?", u okviru polja. E sad, ja bih da izbegnem to, tj. na mestima gde nemam recordsource za polje, da se to polje ne ispiše. Da li je ovo moguće? Probao sam preko conditional formatinga, ali ne ide. Rešenje vidim u unbound formi i nekoj funkciji PopulateRecordSet koju bih napravio i kojom bih "ručno" punio formu, ali mi se to rešenje čini nezgrapnim. Dakle, postoji li neko bolje i jednostavnije rešenje?

Pozdrav, nadam se da ste me razumeli!
Bolje 100 godina biti milioner nego nedelju dana siromašak
(c) Alan ford
 
Odgovor na temu

tacka
novi sad

Član broj: 55414
Poruke: 105
*.nspoint.net.



Profil

icon Re: Kako ukloniti polje sa forme koje nije definisano??27.05.2005. u 13:19 - pre 230 meseci
ja sam u jednom takvom slucaju u upitu pravio polja tipa:
polje 1:sum(iif(format(tbllista.datum;"dd")=1;sati;0))
to je za 1 dan
polje 2:sum(iif(format(tbllista.datum;"dd")=2;sati;0))
to je za 2 dan
stim da ti 30 februar u polju ima 0 sati
 
Odgovor na temu

Zidar
Canada

Moderator
Član broj: 15387
Poruke: 3085
*.eqao.com.



+79 Profil

icon Re: Kako ukloniti polje sa forme koje nije definisano??27.05.2005. u 13:49 - pre 230 meseci
Ako su ti polja nazvana definisana kao
"1","2","3",...."28",'29","30","31"
onda unesi svih 31 u query property "Column Headings".
U tom slucaju ce cross tab query da vrati tacno ta polja, bez obzira ima li ili nema podatka za njih.
 
Odgovor na temu

mika
NBG-ML

Član broj: 55
Poruke: 640
*.privsav.co.yu.



+1 Profil

icon Re: Kako ukloniti polje sa forme koje nije definisano??27.05.2005. u 14:44 - pre 230 meseci
Jeste, ali Access ne dozvoljava da unesem više od jednog polja kao column heading, u tome je problem. Jedino da probam da napravim nekako podupit kao uniju koja će da vraća svih 31 polje tipa:

Code:
UNION SELECT "01" UNION SELECT "02".... UNION SELECT "31"


Ovo sam pokušao, ali neće.
Bolje 100 godina biti milioner nego nedelju dana siromašak
(c) Alan ford
 
Odgovor na temu

tacka
novi sad

Član broj: 55414
Poruke: 105
*.nspoint.net.



Profil

icon Re: Kako ukloniti polje sa forme koje nije definisano??27.05.2005. u 16:14 - pre 230 meseci
SELECT Table1.id, Table1.ime, Sum(IIf(Format(Table2!datum,"dd")=1,Table2!sati,0)) AS 1, Sum(IIf(Format(Table2!datum,"dd")=2,Table2!sati,0)) AS 2, Sum(IIf(Format(Table2!datum,"dd")=3,Table2!sati,0)) AS 3, Sum(IIf(Format(Table2!datum,"dd")=4,Table2!sati,0)) AS 4, Sum(IIf(Format(Table2!datum,"dd")=5,Table2!sati,0)) AS 5
FROM Table1 INNER JOIN Table2 ON Table1.id = Table2.id
GROUP BY Table1.id, Table1.ime;
Prikačeni fajlovi
 
Odgovor na temu

Zidar
Canada

Moderator
Član broj: 15387
Poruke: 3085
*.eqao.com.



+79 Profil

icon Re: Kako ukloniti polje sa forme koje nije definisano??27.05.2005. u 21:05 - pre 230 meseci
Probaj ovako:
Kvari "qryEmpDayTime":
Code:

SELECT tblEmployees.IdEmp, tblEmployees.Name, Year([Datum]) AS Godina, Month([Datum]) AS mesec, Day([Datum]) AS Dan, tblListe.Time
FROM tblEmployees INNER JOIN tblListe ON tblEmployees.IdEmp = tblListe.EmpID;

pa onda Kross tab kveri "qryEmpDayTime_Crosstab":
Code:

TRANSFORM Sum(qryEmpDayTime.Time) AS SumOfTime
SELECT qryEmpDayTime.IdEmp, qryEmpDayTime.Godina, qryEmpDayTime.mesec, Sum(qryEmpDayTime.Time) AS [Total Of Time]
FROM qryEmpDayTime
GROUP BY qryEmpDayTime.IdEmp, qryEmpDayTime.Godina, qryEmpDayTime.mesec
PIVOT qryEmpDayTime.Dan In (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31);


Obrati paznju na ono
Code:

PIVOT qryEmpDayTime.Dan In (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15.......)


To IN (......) se ili kuca u SQL prozoru, ili otvoris cross tab kveri u dizajn modu, pa kliknes na povrsinu gde povezujes tabele i onda kliknes na View Properties i odes u Column headings i tamo uneses ono sto je u zagradi - 31 dan.

Dva kverija sam upotrebio umesto jednog samo zbog jasnoce pisanja.

Prikačeni fajlovi
 
Odgovor na temu

izonic
ishab zonic
Tuzla

Član broj: 38128
Poruke: 591
217.71.52.*

Sajt: www.icentar.ba


+2 Profil

icon Re: Kako ukloniti polje sa forme koje nije definisano??28.05.2005. u 23:09 - pre 230 meseci
evo mozda ovo pomogne
zxz
Prikačeni fajlovi
 
Odgovor na temu

mika
NBG-ML

Član broj: 55
Poruke: 640
*.privsav.co.yu.



+1 Profil

icon Re: Kako ukloniti polje sa forme koje nije definisano??30.05.2005. u 09:32 - pre 230 meseci
Super, hvala svima na odgovorima, ključ je bio u liniji:

Code:
PIVOT qryEmpDayTime.Dan In (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15.......)


Samo sam tu liniji modifikovao u svom upitu, i sve je profunkcionisalo kako treba... Zidar, Izonic i ostali-genijalci ste! Uz opasku da sam konačno naučio da koristim funkciju day(Datum) umesto format(Datum,"d"), toliko logično...



Bolje 100 godina biti milioner nego nedelju dana siromašak
(c) Alan ford
 
Odgovor na temu

[es] :: Access :: Kako ukloniti polje sa forme koje nije definisano??

[ Pregleda: 2618 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.