Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 35 odgovora
  • 8.380 pregleda

Najnovija ↓

Re: Provera stanja sirovina prilikom knjizenja izlaza 06.06.2007. u 19:22 · pre 236 meseci
izmenjeno 1 put, poslednji put Getsbi 06.06.2007. u 23:46
  1. Getsbi06.06.2007. u 23:46zapis iz teksta poruke
#21
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.
Potpis
https://mzahorjanski.wixsite.com/mzahorjanski
https://www.fiverr.com/miroljubzahorja?up_rollout=true
https://www.youtube.com/@miroljubzahorjanski


Re: Provera stanja sirovina prilikom knjizenja izlaza 28.06.2007. u 15:24 · pre 235 meseci #22
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] & "'") ?

Re: Provera stanja sirovina prilikom knjizenja izlaza 28.06.2007. u 20:03 · pre 235 meseci #23
[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.

:-)
Re: Provera stanja sirovina prilikom knjizenja izlaza 02.07.2007. u 16:08 · pre 235 meseci #24
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?
Re: Provera stanja sirovina prilikom knjizenja izlaza 03.07.2007. u 17:07 · pre 235 meseci #25
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



Re: Provera stanja sirovina prilikom knjizenja izlaza 04.07.2007. u 09:40 · pre 235 meseci #26
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??!

Re: Provera stanja sirovina prilikom knjizenja izlaza 04.07.2007. u 13:07 · pre 235 meseci #27
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.
Potpis
https://mzahorjanski.wixsite.com/mzahorjanski
https://www.fiverr.com/miroljubzahorja?up_rollout=true
https://www.youtube.com/@miroljubzahorjanski


Re: Provera stanja sirovina prilikom knjizenja izlaza 04.07.2007. u 14:50 · pre 235 meseci #28
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] -> ..... ?





Re: Provera stanja sirovina prilikom knjizenja izlaza 04.07.2007. u 16:08 · pre 235 meseci #29
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.
Re: Provera stanja sirovina prilikom knjizenja izlaza 04.07.2007. u 16:20 · pre 235 meseci #30
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.
Potpis
https://mzahorjanski.wixsite.com/mzahorjanski
https://www.fiverr.com/miroljubzahorja?up_rollout=true
https://www.youtube.com/@miroljubzahorjanski


Re: Provera stanja sirovina prilikom knjizenja izlaza 04.07.2007. u 17:38 · pre 235 meseci #31
Š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.

Potpis
https://mzahorjanski.wixsite.com/mzahorjanski
https://www.fiverr.com/miroljubzahorja?up_rollout=true
https://www.youtube.com/@miroljubzahorjanski


Re: Provera stanja sirovina prilikom knjizenja izlaza 05.07.2007. u 13:58 · pre 235 meseci #32
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.



Re: Provera stanja sirovina prilikom knjizenja izlaza 05.07.2007. u 14:56 · pre 235 meseci #33
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.
Re: Provera stanja sirovina prilikom knjizenja izlaza 05.07.2007. u 15:50 · pre 235 meseci #34
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.
Potpis
https://mzahorjanski.wixsite.com/mzahorjanski
https://www.fiverr.com/miroljubzahorja?up_rollout=true
https://www.youtube.com/@miroljubzahorjanski


Re: Provera stanja sirovina prilikom knjizenja izlaza 05.07.2007. u 18:17 · pre 235 meseci #35
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 :-)
Re: Provera stanja sirovina prilikom knjizenja izlaza 06.07.2007. u 13:02 · pre 235 meseci
izmenjeno 1 put, poslednji put marija rnic 06.07.2007. u 15:35
  1. marija rnic06.07.2007. u 15:35zapis iz teksta poruke
#36
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.
Odgovori
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme