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

automatsko ponunjavanje tabele - kartica robe

[es] :: Access :: automatsko ponunjavanje tabele - kartica robe

[ Pregleda: 5463 | Odgovora: 12 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

DonMikele

Član broj: 117571
Poruke: 8
212.200.52.*



Profil

icon automatsko ponunjavanje tabele - kartica robe06.02.2007. u 21:03 - pre 209 meseci
Poz svima.

Pocetnik sam....to je otezavajuca okolnost...da shvatim odgovore.

Poceo sam da pravim jednu "malu" bazu za robno knjigovodstvo - skracena varijanta. Problem je sledeci kada unesem dokumnet prijemnicu u zadatu formu - tabelu hocu da mi popuni i tabelu "kartica robe". Nadam se da sam bio jasan.

 
Odgovor na temu

pavlakus
Beograd

Član broj: 84519
Poruke: 236
*.dynamic.sa.sbb.co.yu.



+3 Profil

icon Re: automatsko ponunjavanje tabele - kartica robe06.02.2007. u 22:06 - pre 209 meseci
ne znam na koji su ti nacin povezane tabele ali ako si radio preko sql upita (query-ja) da ti tako popunjava jednu tabelu treba da navedes i polja iz te druge tabele koja hoces da popunis. tako bi trebalo da radi e sad daj malo detaljnije o samoj tabeli u vezi polja, primarnih kljuceva i veza izmedju tabela
pavlakus grosus
 
Odgovor na temu

BiloKoje
Beograd

Član broj: 40147
Poruke: 401



+4 Profil

icon Re: automatsko ponunjavanje tabele - kartica robe07.02.2007. u 08:46 - pre 209 meseci

DonMikele, ne znam kako si zamislio i organizovao bazu, ali mislim da ti nije potrebna tabela "kartica robe". Potrebne su ti tabele za ulaz robe i tabele za izlaz robe (može da bude i samo jedna tabela i za ulaz i za izlaz). Kartica robe se kobija računski i možeš je imati kao formu za prikaz na ekranu i kao izveštaj za štampu.
Prouči malo temu Magacinsko poslovanje. Ima dobrih ideja, saveta i primera.http://www.elitesecurity.org/t165367-Magacin-Maloprodaja-Kafic
 
Odgovor na temu

DonMikele

Član broj: 117571
Poruke: 8
212.200.52.*



Profil

icon automatsko ponunjavanje tabele - kartica robe09.02.2007. u 14:58 - pre 209 meseci
Organizovao sam tako da posebno imam tabele po vrstama dokumenata koji se koriste, prijemnica, otpremnica, izdatnica... imaju svoje tabele. Hocu da prilikom unosa jednog od dokumenata popunjava i tabelu 'kartica robe'.

Tako sam ja zamislio i trebalo bi da, ukoliko ima veliki broj podataka, baza brze radi na ovaj nacin.
 
Odgovor na temu

Getsbi

Moderator
Član broj: 124608
Poruke: 2831



+45 Profil

icon Re: automatsko ponunjavanje tabele - kartica robe09.02.2007. u 16:34 - pre 209 meseci
Moja iskustva su ista kao i kolege BiloKoje. Veruj mi da Access nema problema sa većim brojem slogova, čak ni do par stotina hiljada pogotovo na singl mašini. Osnovna stvar i čak možda 80 % dobrog Access programa je dobar relacioni model podataka. Ovo što ti je moderator predložio je sasvim Ok. Ukoliko baš hoćeš tabelu "kartica robe" koju bih ja radije nazvao tabela "promet robe", jer ćeš tek iz nje za zahtevanu šifru robe da praviš karticu, onda se to može uraditi na dva načina.

1. Append query - dodaje izabrane podatke jedne tabele drugoj tabeli

2. Pisanje VBA koda na neki od događaja (recimo After Update forme), tako da kad dodaš slog u tabelu tvog dokumenta (prijemnica, otpremnica....) Access doda slog i u tabelu "promet robe".

U oba slučaja stvar dodatno komplikuje i potreba za ažuriranjem (brisanje i izmena) jer se i za to treba pobrinuti. Od tebe zavisi čemu si skloniji upitima ili pisanju kodu. Inače se ovakav način modeliranja smatra neadekvatnim jer stvara rededancu (suvišnost) podataka.
 
Odgovor na temu

DonMikele

Član broj: 117571
Poruke: 8
212.200.52.*



Profil

icon automatsko ponunjavanje tabele - kartica robe09.02.2007. u 23:43 - pre 209 meseci
Ne sumljam da je tacno to sto pisete, ali ja ne znam da napravim karticu robe bez moje zamisljene tabele.

Citat:

1. Append query - dodaje izabrane podatke jedne tabele drugoj tabeli


Uradio sam sa Append query - ali mi je nesigurno na taj nacin.

Ne znam kako da vam prikacim primer pa da bude malo jasnije gde mi je problem.
 
Odgovor na temu

Getsbi

Moderator
Član broj: 124608
Poruke: 2831



+45 Profil

icon Re: automatsko ponunjavanje tabele - kartica robe10.02.2007. u 06:40 - pre 209 meseci
Pripremiš primer na disku, otvoriš prozor za poruku, napišeš dve tri reči, a može i bez, pritisneš pošalji odgovor, nakon toga na strani koju ćeš videti u dnu pritisni Upload uz poruku. Ostalo će ti se samo kazati. Prilikom pripreme spakuj fajl sa .rar ili.zip arhiverom.
 
Odgovor na temu

ex-Neznalac

Član broj: 118677
Poruke: 164
*.dlp41.bih.net.ba.



Profil

icon Re: automatsko ponunjavanje tabele - kartica robe10.02.2007. u 13:18 - pre 209 meseci
Ajd drug ne muči se poslat ću ti ja r.knjigovodstvo samo ostavi mail.

Pozdrav !
 
Odgovor na temu

DonMikele

Član broj: 117571
Poruke: 8
212.200.52.*



Profil

icon automatsko ponunjavanje tabele - kartica robe10.02.2007. u 21:05 - pre 209 meseci
Evo Primera kako sam zamislio.

Prikačeni fajlovi
 
Odgovor na temu

Getsbi

Moderator
Član broj: 124608
Poruke: 2831



+45 Profil

icon Re: automatsko ponunjavanje tabele - kartica robe11.02.2007. u 11:39 - pre 209 meseci
Nisam dodao ni jednu tabelu a napravio sam ti izvor podataka za budući izveštaj kartica. U Forms imaš pokretačku formu „IzborKartice“ koja na On Click događaj dugmeta pokreće Union Query „Kartica“. Ovaj union query se sastoji od svih ulaza i svih izlaza po traženom artiklu. Pogledaj upite „UlazRobe“ i „IzlazRobe“ i uslov Criteria u polju Artikli: . Polje „Oznaka“ definše šta je ulaz (1), a šta izlaz (2).

Popuni malo kolicine kroz prijemnice i otpremnice i testiraj Union Query. Nakon toga napravi izveštaj tako da za izvor podataka uzmeš Union Query „Kartica“. Na reportu startovati Sorting and grouping dijalog

FieldExpresion Sort Order

1. datum ascending
2. oznaka ascending

Kad završiš izveštaj, na On Click događaj dugmeta u formi pozovi taj izveštaj umesto sadašnji Union upit

Saveti :
1. Izbaci polja PR_ST_VREDNOST i OT_ST_VREDNOST. Takva izračunata polja ti ničemu ne služe u tabeli, jer uvek možeš da dobiješ taj podatak.
2. Kod sledećeg modeliranja podataka sva dokumenta (prijemnica, otpremnica, izdatnica.....) drži zajedno u dve tabele DokumentZaglavlje i DokumentStavke povezane sa trećom tabelom VrstaDokumenata. Tako ćeš olakšati sebi život.
3. Budi dosledan u pisanju naziva polja i slobodno koristi duže nazive jer će trebati da te asociraju i nakon par godina kad budeš održavao aplikaciju.

Srećno.

Nepotrebno sam zakomplikovao. U upitu "UlazRobe" može da stoji Oznaka: 1, a u upitu "IzlazRobe" Oznaka: 2

[Ovu poruku je menjao Getsbi dana 11.02.2007. u 19:02 GMT+1]
Prikačeni fajlovi
 
Odgovor na temu

DonMikele

Član broj: 117571
Poruke: 8
212.200.52.*



Profil

icon automatsko ponunjavanje tabele - kartica robe11.02.2007. u 20:04 - pre 209 meseci
Getsbi,
hvala naucio sam nesto...dao si mi dobrih ideja i dobrih resenja.

E sad da se vratimo na sustinu teme "kako da u formi zadam da, pored vezane tabele koju popunjava kroz formu, popuni i neku tamo x tabelu. konkretno me interesuje kod.

 
Odgovor na temu

Getsbi

Moderator
Član broj: 124608
Poruke: 2831



+45 Profil

icon Re: automatsko ponunjavanje tabele - kartica robe11.02.2007. u 20:51 - pre 209 meseci
Knjiženje iz tabela Prijemnica i PrijemnicaStavka u tabelu PROMETREPROMATERJALA. Ovde se konsultuje prilikom knjiženja i Magacin repromaterjala jer se roba vodi po prosečnim cenama koje se stalno ažuriraju. Možda ti se učini malo komplikovano ali nemam ni jedan prostiji primer jer one manje zahtevne radim pomoću Query-a.

Code:

Public Sub Knjizi_Rep(Broj_ulaza As Long)
     Dim Baza              As Database
     Dim Sl_Zagl           As Recordset
     Dim Usl_Zagl          As String
     Dim Sl_Stavke         As Recordset
     Dim Usl_Stavke        As String
     Dim Sl_Repromat       As Recordset
     Dim Sl_Matrep         As Recordset
     Dim Usl_Matrep        As String
     Dim zadnji            As Long
     Dim udatum            As Date
     Dim udokument         As String
     Dim usifpart          As Long
     Dim ubrulaz           As Long
     Dim uvaluta           As Date
     Dim vrsta             As String
     Dim usifrau           As Long
     Dim uprosec           As Currency
     Dim suma              As Currency
     
     suma = 0
     uprosec = 0
     
     Usl_Zagl = "SELECT * FROM [Prijemnica] WHERE ((([Prijemnica].BrojPrijemnice)= " & Broj_ulaza & "));"
     Usl_Stavke = "SELECT * FROM [PrijemnicaStavka] WHERE ((([PrijemnicaStavka].BrojPrijemnice)= " & Broj_ulaza & "));"

     Set Baza = CurrentDb()
     Set Sl_Zagl = Baza.OpenRecordset(Usl_Zagl, dbOpenDynaset)
     Set Sl_Stavke = Baza.OpenRecordset(Usl_Stavke, dbOpenDynaset)
     Set Sl_Repromat = Baza.OpenRecordset("PROMETREPROMATERJALA", dbOpenDynaset)
     
    If Sl_Zagl.RecordCount > 0 Then
        Sl_Zagl.MoveFirst   'otidi na prvi slog Zaglavlja
        ubrulaz = Sl_Zagl![BrojPrijemnice]
        udatum = Sl_Zagl![DatumPrijema]
        udokument = Sl_Zagl![NaOsnovu]
        usifpart = Sl_Zagl![SifraPartnera]
        uvaluta = Sl_Zagl![ValutaPlacanja]
        If Sl_Zagl![IndikatorKnjizenja] = 1 Then  'ako je dokument vec proknjizen
            MsgBox "Ovaj dokument je vec proknjizen!", vbCritical, "Paznja"
            GoTo Kraj
        End If
    Else
        MsgBox "Nema podataka", vbInformation, "Obavestenje"
        GoTo Kraj
    End If
    If MsgBox("Potvrdite knjizenje ?", vbYesNo, "Paznja") = vbNo Then
       Exit Sub
    End If
    If Sl_Stavke.RecordCount > 0 Then
       Sl_Stavke.MoveFirst
       While Not Sl_Stavke.EOF
          ' dodaje slogove u tabelu prometrepromaterjala
          With Sl_Repromat
              .AddNew
              ![BrojPrijemnice] = Sl_Stavke![BrojPrijemnice]
              ![DatumPrometa] = udatum
              ![NaOsnovu] = udokument
              ![SifraPartnera] = usifpart
              ![ValutaPlacanja] = uvaluta
              ![SifraUlaza] = Sl_Stavke![SifraUlaza]
              ![Kolicina] = Sl_Stavke![Kolicina]
              ![CENA] = Sl_Stavke![CENA]
              ![ZavisniTroskovi] = Sl_Stavke![FiksniTroskovi]
              ![Ulaz_Izlaz] = "U"
              .Update
          End With
          usifrau = Sl_Stavke![SifraUlaza]
          Usl_Matrep = "SELECT * FROM [MagacinRepromaterjala] WHERE ((([MagacinRepromaterjala].SifraUlaza) = " & usifrau & "));"
          Set Sl_Matrep = Baza.OpenRecordset(Usl_Matrep, dbOpenDynaset)
          If Sl_Matrep.RecordCount > 0 Then
             Sl_Matrep.MoveFirst
             ' azurira prosecnu cenu
             If (Sl_Matrep![Kolicina] + Sl_Stavke![Kolicina]) > 0 Then
                uprosec = ((Sl_Matrep![ProsecnaCena] * Sl_Matrep![Kolicina]) _
                + (Sl_Stavke![CENA] * Sl_Stavke![Kolicina])) _
                / (Sl_Matrep![Kolicina] + Sl_Stavke![Kolicina])
             End If
             uprosec = Round(uprosec, 2)
             ' povecava kolicinu u tabeli magacinrepromaterjala
             With Sl_Matrep
                 .Edit
                 ![Kolicina] = Sl_Matrep![Kolicina] + Sl_Stavke![Kolicina]
                 ![ProsecnaCena] = uprosec
                 .Update
             End With
          Else
             ' dodaje novu stavku u MAGACINREPROMATERJALA
             With Sl_Matrep
                 .AddNew
                 ![SifraUlaza] = Sl_Stavke![SifraUlaza]
                 ![NazivUlaza] = Sl_Stavke![NazivUlaza]
                 ![Jm] = Sl_Stavke![Jm]
                 ![Kolicina] = Sl_Stavke![Kolicina]
                 ![ProsecnaCena] = Sl_Stavke![CENA]
                 .Update
             End With
          End If
          suma = suma + Round(Sl_Stavke![Kolicina] * Sl_Stavke![CENA], 2)
          Sl_Stavke.MoveNext
       Wend
    End If
    With Sl_Zagl
         .Edit
         ![IndikatorKnjizenja] = 1   'obelezava u zaglavlju repromaterjala da je proknjizeno
         .Update
    End With
    ' poruka da je proknjizeno
    MsgBox "Prijemnica je proknjizena", vbInformation, "Obavestenje"
    
Kraj:

    Set Baza = Nothing
    
End Sub






 
Odgovor na temu

vulin

Član broj: 120283
Poruke: 42
217.169.219.*



+3 Profil

icon Re: automatsko ponunjavanje tabele - kartica robe19.02.2007. u 14:41 - pre 208 meseci
DonMikele, red je bar da odgovoriš čoveku, ako ne i da se zahvališ...
 
Odgovor na temu

[es] :: Access :: automatsko ponunjavanje tabele - kartica robe

[ Pregleda: 5463 | Odgovora: 12 ] > FB > Twit

Postavi temu Odgovori

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