Centar za edukaciju-BiH



#1 26.04.2011 13:20
mario Van mreze
Clan
Registrovan od:21.04.2011
Postovi:23


Predmet:Pomoć oko sintaxe SQL i Procedure
Moram se ispričati ZZZ. Otvorio sam novu TEMU ni sam neznajući kako da je nazovem. Pregledavam danima VaÅ¡e primjere međutim nisam naiÅ¡ao na neÅ¡to slićno.
U ovih par dana sam puno toga prokljuvio i napravio u svom programu.
Može mi neko pomoći napisati proceduru
imam tablicu pila, polja -- DatumPiljenja, VrijemePiljenja
Forma ima dva polja---Datum, UkupnoVrijeme --- ' nevezana s tablicom
Htio bih da iz tablice dobijem u polje UkupnoVrijeme, sumu VrijemePiljenja kada je DatumiPiljenja=datum
Private Sub Form_Load()
Dim strSQL As String
Dim strSQl As String
Dim Db As Database
strSQL = "SELECT sum(pila.VrijemePiljenja) FROM Pila WHERE pila.DatumPiljenja=Me.Datum
GROUP BY pila.DatumPiljenja ' Ovako bih to napisao u SQL
Set baza = CurrentDb
Set Rs = Db.OpenRecordset(strSQL) ' Nisam siguran ide li nakon prijave Recordset i
Me.suma = Rs
End Sub
↑  ↓

#2 26.04.2011 16:07
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,611


Predmet:Re: Pomoć oko sintaxe SQL i Procedure
U cemu ti je ovo Vrijeme piljenja.
Jeli polje broj ili date time.
Ovo je bitno za izracunavanje.
U principu si treba samo zapisati pocetak i kraj piljenja i sve bi bilo ok.
Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#3 26.04.2011 17:09
mario Van mreze
Clan
Registrovan od:21.04.2011
Postovi:23


Predmet:Re: Pomoć oko sintaxe SQL i Procedure
VrijemePiljenja je broj
Svaki dan se unose nalozi i djelatnici prave raspored kada će Å¡to ići na piljenje ili na neku drugu obradu.
Da bi nešto stavili za petak moraju znati koliko u petak ima piljenja odnosno slobodnog vremena.
Napravio sam ja to preko Subforme odnosno Queria, ali to mi iozgleda ružno, a i troši resurce.
To je bilo ono pitanje kako napraviti formu za taj pregled od prije par dana.
Sada bih to pojednostavio. Postavio bih formu koja bi u stupcima osnosno kolonama 14 kol. imala datum (14 dana unaprijed od trenutačnog) a ispod toga vremena obrade(piljenja) na pojedinom stroju.
Hvala
↑  ↓

#4 26.04.2011 18:42
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,611


Predmet:Re: Pomoć oko sintaxe SQL i Procedure
Funcion VrijemePiljenja(DanP as Date)
Dim Db as Database
Dim SQL as string
Dim Rs as Recordset
Dim DatumS as string

DatumS= "#" & Rormat(DanP,"mm-dd-yyyy") & "#"
SQL=T "SELECT sum(VrijemePiljenja) As V FROM Pila WHERE DatumPiljenja=" & Me.Datum

Set DB=Currentdb()
Set Rs= Db.Openrecordset(SQL)
VrijemePiljenja=Rs.Fields(0)
Rs.Close
Set Db=nothing
End function

Frnkciju Mozemo pozvati bilo odakle.

Napisao sam je ovdje pa je moguce da ima gresaka.
Ukoliko ti ne bude islo napisi samo imetabele i imena polja u tabeli iz koje ovo vadis.
Sretan rad.
Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#5 26.04.2011 19:29
mario Van mreze
Clan
Registrovan od:21.04.2011
Postovi:23


Predmet:Re: Pomoć oko sintaxe SQL i Procedure
Hvala na odgovoru. Baš ne ide
Polja u tablici ( Pila), DatumPiljenja (za grupiranje-uvjet), VrijemePiljenja (suma)
U formi polja datum (bez baze-tu sam postavio default vrijednost Date(), Date()+1 itd ), vrijeme (bez baze- tu dolazi suma VrijemePiljenja iz baze).
Proceduru bih stavio u LoadForm.
Danas sam uspio poezati Oracl bazu Access odnosno kombinacija podataka iz Oracla i Accessa ćine čuda.
↑  ↓

#6 26.04.2011 19:52
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,611


Predmet:Re: Pomoć oko sintaxe SQL i Procedure
Proceduru stavi u neki modul.
PreuzmiIzvorni kôd (Visual Basic):
  1. Function VrijemePiljenja(DanP As Date)
  2.  Dim Db As Database
  3.  Dim SQL As String
  4.  Dim Rs As Recordset
  5.  Dim DatumS As String
  6.  
  7. if  Format$(DanP)="" goto Kraj
  8.  DatumS = "#" & Format(DanP, "mm-dd-yyyy") & "#"
  9.  SQL = "SELECT sum(VrijemePiljenja) As V FROM Pila WHERE DatumPiljenja=" & DatumS
  10.  
  11.  Set Db = CurrentDb()
  12.  Set Rs = Db.OpenRecordset(SQL)
  13.  VrijemePiljenja = Rs.Fields(0)
  14.  Rs.Close
  15.  Set Db = Nothing
  16. Kraj:
  17.  End Function

Ako imas na formi polje za datum koje se zove datum i polje vrijeme koje se zove vrijeme onda na control soure poljaverijem upisi ovo:
=VrijemePiljenja([Datum])
Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#7 26.04.2011 20:24
mario Van mreze
Clan
Registrovan od:21.04.2011
Postovi:23


Predmet:Re: Pomoć oko sintaxe SQL i Procedure
Function VrijemePiljenja(DanP As Date)
Dim Db As Database
Dim SQL As String
Dim Rs As Recordset
Dim DatumS As String
If Format$(DanP) = "" Then GoTo Kraj
DatumS = "#" & Format(DanP, "mm-dd-yyyy") & "#"
SQL = "SELECT sum(VrijemePiljenja) As V FROM Pila WHERE DatumPiljenja=" & DatumS
Set Db = CurrentDb()
Set Rs = Db.OpenRecordset(SQL) ---- JAVLJA GREÅ KU PRILIKOM COMPILACIJE
VrijemePiljenja = Rs.Fields(0)
Rs.Close
Set Db = Nothing
Kraj:
End Function
↑  ↓

#8 26.04.2011 20:36
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,611


Predmet:Re: Pomoć oko sintaxe SQL i Procedure
Eh onda ces morati nakaciti primjer samo sa tom tabelom i tom tvojom formom.
Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#9 26.04.2011 21:32
mario Van mreze
Clan
Registrovan od:21.04.2011
Postovi:23


Predmet:Re: Pomoć oko sintaxe SQL i Procedure
Hvala. Super u probnoj formi je dobro ispalo
Kako bi to ispalo kada bi se datumS pozivao na Datum_1.
Može li se to riješiti bez Control Source odnosno preko Me.Vrijeme=RS
Mora li se procedura pisati za svaki datum,
odnosno kad bi se pisalo na npr. ON_CLICK na nekom Fieldu.
Još jednom Hvala

Prilozi:
Informacije o tipu datoteke za:zip  Proba_pila1.zip
Preuzimanja:295
Velicina datoteke:20.52 KB

↑  ↓

#10 26.04.2011 23:10
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,611


Predmet:Re: Pomoć oko sintaxe SQL i Procedure
Evo ja mislim da je to ono sto ti treba.

Prilozi:
Informacije o tipu datoteke za:zip  Proba_pilaz.zip
Preuzimanja:288
Velicina datoteke:21.62 KB


Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

Stranice (3):1,2,3


Sva vremena su GMT +01:00. Trenutno vrijeme: 12: 41 pm.