|
[ djgorandj @ 16.07.2008. 14:45 ] @
| Trebalo bi da napravim program u accessu koji bi iz excel dokumenta tj. njegovih kolona iscitao neke podatke i uradio neke operacije.
Znaci ovako:
excel dokument sadrzi imena radnika, datum prijave, i ono sto je bitno VREME PRIJAVE ili VREME ODJAVE. Posebne su kolone za prijavu a posebne za odjavu i one sadrze vrednosti IN ili OUT u zavisnosti da li se radnik tad prijavio ili odjavio.
E sad, trebao bih da napravim program u access-u koji ce taj excel dokument da importuje u svoju bazu, tj neku tabelu, da povadi iz nje parametre i da ih grupise kako treba (u excelu je sve na gomili, recimo: ime radnika, danasnji datum, vreme prijave (IN), pa na kraju vremena isto to samo (OUT)) a zatim izracuna na dnevnom ili mesecnom nivou koliko taj radnik ima radnih sati.
Ako ima neko dobru ideju bilo bi dobro da podeli samnom, a i ostalim korisnicima, mozda to jos nekom zatreba. Inace skoro smo instalirali iGuard Security System koji belezi vreme dolaska i odlaska radnika i ima mogucnos exportovanja tih podataka u excel fajl. Dosta bi potrajalo da sad ja sedim i racunam koliko je ko bio. Zato je potreban program. Hvala unapred. |
[ Getsbi @ 16.07.2008. 16:16 ] @
Evo ti ideja. Početak imaš ovde : http://www.elitesecurity.org/t329770-Baza-za-firmu-satnice-rada
Dopuni tabele sa vremenima prijave i odjave. Importovanje podataka iz Excela je sasvim uobičajeno.
Dodatna opcija je da čak možeš i da linkuješ Excelov fajl ukoliko se odlučiš za tu varijantu. To kasnije sa opcijom relink, koja se može izprogramirati ima efekat Refresh podataka.
[ djgorandj @ 17.07.2008. 07:37 ] @
Pogledacu da vidim sta moye da se iskoristi.Hvala.
[ djgorandj @ 18.07.2008. 07:35 ] @
Tesko da to moze da se iskoristi, ja iz tog aparata dobijem tabelu u excelu u kojoj se nalaze kolone sa sledecim podacima " ime radnika, danasnji datum, vreme prijave (IN), pa na kraju vremena isto to samo (OUT)" pa onda za danasnji dan ulazi i izlazi pa za jucerasnji i tako za mesec dana. Meni treba nesto sto ce sve te podatke da razdvoji i grupise u neke celine koje se mogu koristiti za proracun radnog vremena. Ja sam recimo queryem razdvojio ulaz od izlaza i sad bih opet iz toga trebao valjda da razdvojim radnike pa da napravim onoliko queryja koliko imam i radnika ili ima neki laksi nacin? Mislim da bi tako bilo mnogo zamrseno ili pak da napravim program pa sam da unosim te podatke kad je ko doao i izasao i da program samo to racuna? Svaki predlog je dobrodosao?
[ Trtko @ 18.07.2008. 07:53 ] @
Da se prepisat ali moraš sve raditi programski
Evo vidi primjer iz kojeg ja moram prepisivat podatke, prepisane u excel datoteku,
Znači , otvoriš excel datoteku , čitaš red po red
uzimaš kolonu koja ti je potrebna, provjeravaš dal je to to
i upisuješ u svoju tablicu
U ovom dolje primjeru jedan red je bio u pisan u jednu čeliju , ( u prvu )
' objexcel.Cells(red, kolona).Value
Dim dato22 As Database
Dim rek22 As Recordset
Set dato22 = CurrentDb
Dim sqlupit22 As String
sqlupit22 = "select * from kontrola"
Set rek22 = dato22.OpenRecordset(sqlupit22)
kolona = 1
Set objexcel = CreateObject("Excel.Application")
lnkput = "C:\Program Files\Baan\tmp\privremena"
objexcel.Workbooks.Open (lnkput)
For j = 1 To 11000
PODACI = (objexcel.Cells(j, 1).Value)
rbr = Mid(PODACI, 1, 6)
predmet = Mid(PODACI, 8, 14)
imepredmeta = Mid(PODACI, 23, 30)
kupac = Mid(PODACI, 54, 25)
referent = Mid(PODACI, 80, 15)
tehnolog = Mid(PODACI, 96, 10)
grpred = Mid(PODACI, 107, 8)
sastav = Mid(PODACI, 116, 8)
tehnologija = Mid(PODACI, 125, 12)
If IsNumeric(rbr) Then
rek22.AddNew
rek22.Fields("rbr") = CDbl(rbr)
rek22.Fields("predmet") = Trim(predmet)
rek22.Fields("ime_predmeta") = Trim(imepredmeta)
rek22.Fields("kupac") = Trim(kupac)
rek22.Fields("referent") = Trim(referent)
rek22.Fields("tehnolog") = Trim(tehnolog)
rek22.Fields("gr_predmeta") = Trim(grpred)
rek22.Fields("sastav") = Trim(sastav)
rek22.Fields("tehnologija") = Trim(tehnologija)
rek22.Update
End If
Next j
rek22.Close
Set dato22 = Nothing
objexcel.Application.DisplayAlerts = False
objexcel.Application.Quit
objexcel.Application.DisplayAlerts = True
MsgBox "Podaci su prepisani "
[ djgorandj @ 18.07.2008. 12:17 ] @
Ako importujem tu excel tabelu u access sa tako nabacanim podacima, jel mogu posle iz nje da napravim querye i medju queryima da uradim neki proracun tj. da od odlaznog vremena oduzmem ulazno i tako izracunam sate? Mogu li se tu uraditi relacije ili sta vec, ja mogu da napravim tabele koje su potrebne ali opet ih ja rucno popunjavam odnosno kopiram podatke iz queryja koje napravim pomocu odredjenih parametara, filtera.
[ Trtko @ 19.07.2008. 11:54 ] @
Pa ako prepisuješ iz exela u access podatke, uvijek možeš napraviti
preglede, izvještaje po nekom uvjetu
Prvo moraš iskreirati tablicu i polja u njima , po podacima koje uzimaš iz excela
datum_dolaska, sifra_radnika, ime_radnika...... itd , več što imaš u excelu
prepišeš iz excel tablice, onaj gore primjer si prepraviš .
A ako ti neide programiranje, zakači excel fajl iz kog trebaš prepisivat, pa ti sredimo
[ djgorandj @ 21.07.2008. 08:36 ] @
Evo ja sam nesto uspeo da povezem.Okacio sam access dokument i tabelu.
[ Trtko @ 21.07.2008. 09:46 ] @
Nažalost, ne koristim access 2007
koristim 2002, 2003
pa ti nemogu pomoć
[ djgorandj @ 21.07.2008. 09:51 ] @
Evo konvertovano u 2003.
[ djgorandj @ 21.07.2008. 15:26 ] @
SELECT Volunteers.VolunteerID, Volunteers.FirstName, Volunteers.SchoolName,
Int(CSng(nz(Sum([timeout]-[timein]),0)*24)) & ":" &
Format(Int(CSng(nz(Sum([timeout]-[timein]),0)*1440)) Mod 60,"00") AS
TotalHrs
FROM Volunteers LEFT JOIN VolunteerLog ON Volunteers.VolunteerID =
VolunteerLog.VolunteerID
GROUP BY Volunteers.VolunteerID, Volunteers.FirstName, Volunteers.SchoolName
Jel moze ovo da se prepravi i da se iskoristi u mom slucaju?
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.
|