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

Provera stanja sirovina prilikom knjizenja izlaza

[es] :: Access :: Provera stanja sirovina prilikom knjizenja izlaza

Strane: 1 2

[ Pregleda: 6173 | Odgovora: 35 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Getsbi

Moderator
Član broj: 124608
Poruke: 2831



+45 Profil

icon Re: Provera stanja sirovina prilikom knjizenja izlaza06.06.2007. u 18:22 - pre 206 meseci
Ne bih da koleginici ometam topic ali ovo je jedina tema na podforumu Access koja u nazivu ima reč knjizenje, te stoga odlučih da dovršim priču. Na formi zaglavlja dokumenta koristim sledeći kood ispod dugmeta "Knjizi".
Code:

Private Sub Knjizi_Click()
    On Error GoTo Knjizenje_ERR
    Dim Transakcija As Workspace
    DoCmd.RunCommand acCmdSaveRecord
    DoCmd.Hourglass True
    Set Transakcija = DBEngine.Workspaces(0)
    Transakcija.BeginTrans

    Knjizi_Glavnu
    
    Transakcija.CommitTrans
    DoCmd.Hourglass False
    DoCmd.Close acForm, Name  
    Exit Sub  
Knjizenje_ERR:
    Transakcija.Rollback
    DoCmd.Hourglass False
    Select Case Err.Number
       Case 94: zxzBox "Nema podataka"
       Case 3021: zxzBox "Nema sloga"
       Case Else: zxzBox Err.Number & " " & Err.Description
    End Select
   End Sub

Ono "Knjizi_Glavnu" je VBA modul u kojem napišem proceduru za knjiženje. Tehnika je dobra iz razloga eventualnog prekida jer se na ovaj način ili proknjiži sve i na kraju dobije pozitivna poruka ili u slučaju greške sve vrati na staro. Nema polovično proknjiženih podataka.
Zidar verujem zna za transakcije ali neka ostane na forumu za neka eventualna interesovanja.
Odgovor Zidaru: Koristim indikatore stanja.

[Ovu poruku je menjao Getsbi dana 06.06.2007. u 23:46 GMT+1]
 
Odgovor na temu

marija rnic
Programer - analiticar

Član broj: 145537
Poruke: 15
*.scansafe.net.



Profil

icon Re: Provera stanja sirovina prilikom knjizenja izlaza28.06.2007. u 14:24 - pre 205 meseci
Na postojecoj aplikaciji sam do sada imala nekoliko izmena sto se tice ispitivanja roka trajanja sirovina
pa shodno tome doslo se do toga da se u svakom trebovanju unosi kontrolni broj i datum ispitivanja
sirovina (iz razloga sto jedna sirovina moze vise puta da stigne iz uvoza sa istim kontrolnim brojem ali razlicitim datumom ispitivanja).
Iz tog razloga sam tabeli qryStanje dodala polja [Kontrolni broj] i [Datum ispitivanja].

Prilikom unosenja kolicine u polje [Izlaz] trebalo bi da mi se proverava stanje sirovine po jednakosti unetog
kontrolnog broja, datuma i naziva sirovine.

Kako trebam sada da definisem sngStanje koje smo prvobitno definisali kao

sngStanje = DLookup("Stanje", "qryStanje", "[Naziv materijala]= '" & Me![Naziv materijala] & "'") ?

 
Odgovor na temu

Zidar
Canada

Moderator
Član broj: 15387
Poruke: 3085
*.100.46-69.q9.net.



+79 Profil

icon Re: Provera stanja sirovina prilikom knjizenja izlaza28.06.2007. u 19:03 - pre 205 meseci
[qoute]Kako trebam sada da definisem sngStanje koje smo prvobitno definisali kao

sngStanje = DLookup("Stanje", "qryStanje", "[Naziv materijala]= '" & Me![Naziv materijala] & "'") ?
[/quote]

Morace da se zakomplikuje posednji parametar u Dlookup. Nesto ovako:

sngStanje = DLookup("Stanje", "qryStanje", "[Naziv materijala]= '" & Me![Naziv materijala] & "'") ?


"[Naziv materijala]= '" & Me![Naziv materijala] & "' AND KontrolniBroj =" & me!KontrolniBroj & " AND DatumInspekcije = " & SQLDAte(me!DatumInspekcije)

Funkciju SQLDate nadji u bazi znanja, da ti olaksa zivot kad radis sa datumima. Pretpostavio sam da je KontrolniBroj numericki podatak. Ako nije, treba dodati single quote, kao sto je uradjeno za Naziv materijala ili koristi funkciju QUoted() - takodje je imas u bazi znanja. Naravno da KontrolniBroj i DatumInspekcije moraju biti u qryStanje. Mozda i qryStanje treba da se modifikuje. Posla koliko volis ;-)

Ovakvi komplikovani uslovi nikada ne prodju iz prve, pa ce biti verovatno nekoliko iteracija dok se ne natera da radi kako treba.


 
Odgovor na temu

marija rnic
Programer - analiticar

Član broj: 145537
Poruke: 15
*.scansafe.net.



Profil

icon Re: Provera stanja sirovina prilikom knjizenja izlaza02.07.2007. u 15:08 - pre 205 meseci
Nakon poslednje Zidareve pomoci, pokusala sam da resim moj problem ali
ipak nisam uspela u tome.

Za pocetak, prvo sam funkciji DLookup dodala polje [Kontrolni broj] i u proveri rada aplikacije pokazalo se da ona vec nije radila.

Test sa poljem [Datum ispitivanja] takodje nije prosao.

sngStanje = DLookup("Stanje", "qryStanje", "[Naziv materijala]= '" & Me![Naziv materijala] & "'" _
"[Kontrolni broj]= '" & Me![Kontrolni broj] & "'")

Da dodam da je Kontrolni broj definisan kao tekstualno polje.

U bazi znanja sam pronasla opis fukncije SQLDate() i moram da priznam da uvek koristim
Short format za unos datuma i vodim racuna da takva polja imaju i masku.

Interesuje me da li ovakav rad ipak moze dovesti do nekih poteskoca u radu aplikacija?
 
Odgovor na temu

Zidar
Canada

Moderator
Član broj: 15387
Poruke: 3085
*.100.46-69.q9.net.



+79 Profil

icon Re: Provera stanja sirovina prilikom knjizenja izlaza03.07.2007. u 16:07 - pre 205 meseci
Umesto
Citat:
sngStanje = DLookup("Stanje", "qryStanje", "[Naziv materijala]= '" & Me![Naziv materijala] & "'" _
"[Kontrolni broj]= '" & Me![Kontrolni broj] & "'")

probaj ovako:
Code:
sngStanje = DLookup("Stanje", "qryStanje", "[Naziv materijala]= '" & Me![Naziv materijala] & "'" _
" AND [Kontrolni broj]= '" & Me![Kontrolni broj] & "'")


Citat:
U bazi znanja sam pronasla opis fukncije SQLDate() i moram da priznam da uvek koristim
Short format za unos datuma i vodim racuna da takva polja imaju i masku.

Nije bitan Short format, nego redosled y/m/d kojin koristis u SQL stringu. Redosled mora uvek biti onako kako ga definise funkcija SQLDate() - mm/dd/yyy. Ako tvoj Short Date ima bas taj redosled, to je slucajno i imala si srecu :-)

Vidi ovaj link obavezno: http://allenbrowne.com/ser-36.html
tamo ima objasnjeno mnogo toga u vezi sa datumima i data je bolja funkcija SQLDate (vodi racuna o satima i minutima i o delimiters):

Function SQLDate(varDate As Variant) As String
'Purpose: Return a delimited string in the date format used natively by JET SQL.
'Argument: A date/time value.
'Note: Returns just the date format if the argument has no time component,
' or a date/time format if it does.
'Author: Allen Browne. [email protected], June 2006.
If IsDate(varDate) Then
If DateValue(varDate) = varDate Then
SQLDate = Format$(varDate, "\#mm\/dd\/yyyy\#")
Else
SQLDate = Format$(varDate, "\#mm\/dd\/yyyy hh\:nn\:ss\#")
End If
End If
End Function



 
Odgovor na temu

marija rnic
Programer - analiticar

Član broj: 145537
Poruke: 15
*.scansafe.net.



Profil

icon Re: Provera stanja sirovina prilikom knjizenja izlaza04.07.2007. u 08:40 - pre 205 meseci
U proveri rada aplikacije sa ovako napisanim Codom

sngStanje = DLookup("Stanje", "qryStanje", "[Naziv materijala]= '" & Me![Naziv materijala] & "'" _
And "[Kontrolni broj]= '" & Me![Kontrolni broj] & "'")

pojavio se Debug okvir sa greskom br.13 - Type mismatch.


Htela sam da vidim kako bi aplikacija radila kada bih u Cod ostavila samo [Kontrolni broj] kao kriterijum

sngStanje = DLookup("Stanje", "qryStanje", "[Kontrolni broj]= '" & Me![Kontrolni broj] & "'")

i ona je radila.


Zatim sam dodala i [Datum ispitivanja] i opet mi se pojavio debug sa greskom br.13.

Problem se pojavi cim mi se u kriterijumu pojave dva i tri polja??!

 
Odgovor na temu

Getsbi

Moderator
Član broj: 124608
Poruke: 2831



+45 Profil

icon Re: Provera stanja sirovina prilikom knjizenja izlaza04.07.2007. u 12:07 - pre 205 meseci
Ako su ti kompatabilni tipovi podataka u promenljivima na formi gde se referenciraš sa tipovima podataka u tabelama, onda preostaje da je greška u nedoslednosti korišćenja ključa tabela. Probaj da na prvo mesto u kriterijumu postaviš ključ pa onda druga polja. Daklle prvo kontrolni broj pa onda naziv materjala.
 
Odgovor na temu

marija rnic
Programer - analiticar

Član broj: 145537
Poruke: 15
*.scansafe.net.



Profil

icon Re: Provera stanja sirovina prilikom knjizenja izlaza04.07.2007. u 13:50 - pre 205 meseci
Ja sam kao kljuc stavila [Naziv sirovine] iz razloga sto u nekim slucajevima sirovine mozemo primiti i
bez kontrolnog broja a takodje mozemo jednu sirovinu u jednoj isporuci da primimo sa dva razlicita
kontrolna broja.

Da li bih u tom slucaju morala da promenim redosled unosenja podataka

[Naziv sirovine] -> [Kontrolni broj] -> [Datum ispitivanja] -> ..... ?





Prikačeni fajlovi
 
Odgovor na temu

Zidar
Canada

Moderator
Član broj: 15387
Poruke: 3085
*.100.46-69.q9.net.



+79 Profil

icon Re: Provera stanja sirovina prilikom knjizenja izlaza04.07.2007. u 15:08 - pre 205 meseci
OK, uspeo sam da napravim da Dlookup proradi. Ja sam dobijao 'invalid use of null'. Kad je 'where' uslov u Dlookup komplikovan, onda se lako gresi. Vidi kod na BeforeUpdate, doao sam jednu novu varijablu i jednu novu funkciju, Quoted, das nam bude lakse da napravimo 'where' uslov za Dlookup.

Takodje sam na formi [Knjizenej I] promenio DataEntry property na No, da bih video sta se desava. verovatno zelis da to vratis kako je bilo, DataEntry = Yes.

Medjutim, qryStanej mi ne izgleda dobro ili ne razumem sta se desava. qryStanje bi morao da vrati jedan rekord po materijalu, ni vise ni manje. Ovako kako je qryStanje ne vraca stanje, nego pokazuje svaku transakciju ponaosob. qryStanje vraca isti broj redova kao i tabela [Knjizenja II] sto nikako ne moze da bude u redu.
Prikačeni fajlovi
 
Odgovor na temu

Getsbi

Moderator
Član broj: 124608
Poruke: 2831



+45 Profil

icon Re: Provera stanja sirovina prilikom knjizenja izlaza04.07.2007. u 15:20 - pre 205 meseci
Mislim da redosled unosa podataka u formi nije od presudnog značaja za problem. Bitno je da Ako ti tabela Sirovine -materjali ima primarni ključ "Naziv sirovine" onda taj primarni ključ postaje preneseni ključ query-a (ako se varam neka me neko ispravi). E onda bi u DLookUp funkciji trebala da pretražuješ po "Naziv sirovine", a u qryStanje da uključiš takođe "Naziv sirovine", umesto "Naziv materjal". U svakom slučaju mislim da tvoj problem ima neke veze sa ključem. Probaj. Možda se javi Zidar.

E dobro, vidim da se javio.
 
Odgovor na temu

Getsbi

Moderator
Član broj: 124608
Poruke: 2831



+45 Profil

icon Re: Provera stanja sirovina prilikom knjizenja izlaza04.07.2007. u 16:38 - pre 205 meseci
Što se tiče query-ja.Skini sve ostale GroupBy osim po nazivu i dobićešono što želiš. Dakle samo jedan group By. U međuvremenu sam pokušavao da pomognem koleginici oko greske br.13 - Type mismatch. ali nisam baš uspeo. Ono sa Quoted je odlično. sintaksa mi je uvek bila problematična.


 
Odgovor na temu

marija rnic
Programer - analiticar

Član broj: 145537
Poruke: 15
*.scansafe.net.



Profil

icon Re: Provera stanja sirovina prilikom knjizenja izlaza05.07.2007. u 12:58 - pre 205 meseci
Kada sam qryStanje otklonila sve grupacije osim na polju [Naziv sirovine]
query nije radio uopste.

Zidarev Code sam prenela (kopirala) u moju aplikaciju i u proveri mi se
pojavila poruka da finkcija nije definisana pri cemu je u pozadini
funkcija Quoted bila markirana.



 
Odgovor na temu

Zidar
Canada

Moderator
Član broj: 15387
Poruke: 3085
*.100.46-69.q9.net.



+79 Profil

icon Re: Provera stanja sirovina prilikom knjizenja izlaza05.07.2007. u 13:56 - pre 205 meseci
U fajlu koji sam zakacio imas u jednom od modula funkciju. Prebaci je u neki od modula tvoje aplikacije.

U svakoj aplikaciji imam modul koji se zove Utils i on sadrzi sve uniarzalno korisne funkcije. Taj modul Utils se nalazi u zasebnom Access MDB fajlu, koji zovem na primer AccessLIbrary, koji ne radi nista osim sto cuva neke vazne module sa funkcijama koje se prenose iz aplikacije u aplikaiju. Kad pocnem aplikaciju, prvo sta uradim je da iskopiram modul Utils iz AccessLibrary.MDB

Sto se tice kverija, vrati se na pocetak. Imam utisak da si stalnim dodavanjem odlutala od prvobitne funkcije kverija, ili pokusavas da dodas funkcionalnosti koje nam nisi rekal pa stalno nesto zapinje. Polako, ostavi malo posao na dan dva pa se vrati na problem odmorna.
 
Odgovor na temu

Getsbi

Moderator
Član broj: 124608
Poruke: 2831



+45 Profil

icon Re: Provera stanja sirovina prilikom knjizenja izlaza05.07.2007. u 14:50 - pre 205 meseci
Citat:
Zidar:
Medjutim, qryStanej mi ne izgleda dobro ili ne razumem sta se desava. qryStanje bi morao da vrati jedan rekord po materijalu, ni vise ni manje. Ovako kako je qryStanje ne vraca stanje, nego pokazuje svaku transakciju ponaosob. qryStanje vraca isti broj redova kao i tabela [Knjizenja II] sto nikako ne moze da bude u redu.



Ajde pokreni qryStanje u ovom prikačenom fajlu. To je Zidarev fajl, samo sam poskidao ostale GroupBY. Moguće je da Zidar nije pročitao moj prethodni post.
Prikačeni fajlovi
 
Odgovor na temu

Zidar
Canada

Moderator
Član broj: 15387
Poruke: 3085
*.100.46-69.q9.net.



+79 Profil

icon Re: Provera stanja sirovina prilikom knjizenja izlaza05.07.2007. u 17:17 - pre 205 meseci
Naravno da je Getsbijev kveri OK :-)

Kveri u fajlu Sirovina_Z.zip nisam ja napravio, to je originalni Marijin kveri koji mi nije bio jasan. Ja sam samo naterao kod oko Dlookup da radi u tom fajlu :-)
 
Odgovor na temu

marija rnic
Programer - analiticar

Član broj: 145537
Poruke: 15
*.scansafe.net.



Profil

icon Re: Provera stanja sirovina prilikom knjizenja izlaza06.07.2007. u 12:02 - pre 205 meseci
Moj cuveni qryStanje koji Vam je napravio toliku zabunu prikazuje stanje sirovina ponaosob po kontrolnim brojevima i datumima ispitivanja. (svim poljima sam vratila prvobitni Group By i sada je sve u redu).

Ovim sam olaksala postupak izdavanja sirovina operaterima jer u formi KnjizenjaI imaju mogucnost da otvore ovaj
pregled i da istog trenutka imaju uvid u to koja se sirovina izdaje po redu.
Naime, vodjeni ISO standardnom, svaki postupak rada ima ispisanu proceduru pa prema tome postoji i
procedura izdavanja sirovine a bas te procedure razdvajaju sirovine po kontrolnim brojevima i datumima ispitivanja.

Kada smo se pre nekih mesec dana bavili Reordering pointom i Safety stockom qryStanje je prikazivao stanje samo po nazivu sirovine a onda je operater otvarao karticu svake sirovine, zapisivao na papiru kontrolni broj i datum ispitivanja sirovine i to tako, recimo za 20 - 30 sirovina na dan, pa tu je i pomocni materijal sa istom pricom i tek tada je mogao da ispise i izda trebovanje. (Takvo trebovanje se prosledjuje magacioneru i on ima sve podatke po kojima izdaje sirovinu)

Sada kada sam modulu dodala funkciju Quoted aplikacija radi dobro.
Uradila sam i proveru aplikacije i rekla bih da je zadatak resen.

Veliko HVALA kolegama na pomoci i savetima.





[Ovu poruku je menjao marija rnic dana 06.07.2007. u 15:35 GMT+1]
 
Odgovor na temu

[es] :: Access :: Provera stanja sirovina prilikom knjizenja izlaza

Strane: 1 2

[ Pregleda: 6173 | Odgovora: 35 ] > FB > Twit

Postavi temu Odgovori

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