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

Program za vođenje više maloprodajnih objekata

[es] :: Access :: Program za vođenje više maloprodajnih objekata

[ Pregleda: 4469 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

raspudic
Raspudic Zeljko
Banja Luka

Član broj: 57314
Poruke: 36
195.252.64.*



Profil

icon Program za vođenje više maloprodajnih objekata04.05.2005. u 13:33 - pre 231 meseci
Tu imam jedan za mene nerješiv problem ali prije toga da ukratko izložim koncepciju.

Ideja mi je bila da napravim program za vođenje knjigovodstva za više maloprodajnih objekata i to tako da korisnik sam, prema potrebi, otvara nove maloprodajne objekte a isto tako da može da pobriše one koji više ne postoje.

Prodavnica za koju želite da knjižite bira se sa spiska prodavnica tako da se dvoklikom na njen naziv. Na taj način se otvara meni koji sadrži sve one referate koji su potrebni: maloprodajne kalkulacije, nota blokove, knjigu poreza, trgovačku knjigu, inventure, nivelacije cijena itd.

Pošto svi prodajni objekti moraju da imaju isti šifrarnik roba zamislio sam koncepciju tako da tabela tblRoba pored uobičajenih polja kao što su šifra, naziv robe, jedinica mjere ima i po jedno polje cijene za svaku prodavnicu (recimo MC1, MC2 itd.). Razlog za ovo je da ne mora sva roba imati iste cijene u svim prodavnicama.

To sam uspješno riješio tako da pri otvaranju prodavnice u tabelu tblRoba dodam gore spomenuto polje MCX gdje je X šifra prodavnice. Ako kome ovo zatreba to sam riješio na sljedeći način:

' dodavanje kolone u tblRoba

Dim catR As ADOX.Catalog
Dim strDbR As String
Dim cnnR As ADODB.Connection
Dim strtableR As String
Dim rstRobaR As ADODB.Recordset

strtableR = "tblRoba"

Set cnnR = CurrentProject.Connection
Set catR = New ADOX.Catalog
catR.ActiveConnection = cnnR

strDbR = catR.Tables(strtableR).Properties("Jet OLEDB:Link Datasource")

If Len(strDbR) > 0 Then
' Open a connection to the external database.
Set cnnR = New ADODB.Connection
cnnR.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & strDbR & ";"
End If

Dim brpr As Integer
brpr = Me!PRODAVNICAD
Dim sSQL As String

' dodaj kolonu
sSQL = "ALTER TABLE " & strtableR & " ADD COLUMN MC" & brpr & " INTEGER;"

cnnR.Execute sSQL

Set catR = Nothing
If Len(strDbR) > 0 Then
cnnR.Close
End If
Set cnnR = Nothing

Obrnuta procedura (brisanje prodavnice) je urađena na sljedeći način:

Dim brpr As Integer
brpr = Me!PRODAVNICAD
Dim sSQL As String

' brisanje kolone
sSQL = "ALTER TABLE " & strtableR & " DROP COLUMN MC" & brpr


Predstavljenje obrasca za ažuriranje podataka o robi je urađen na klasični način osim što je polje cijena definisano pri otvaranju obrasca i to:

Me!CIJENA.ControlSource = "MC" & Forms!frm_Prodavnice!PRODAVNICA

Jasno je da je frm_prodavnica obrazac sa spiskom prodavnica.

Isti ovaj princip sam primjenio i u izvještajima tako da prokazujem cijenu iz odgovarajuće prodavnice.

E sada konačno PROBLEM ( da ne ispada kako samo držim predavanje o svojim pogledima na koncepciju programa za praćenje viže maloprodaja).
PROBLEM SU UPITI!
Kako da napravim upit tako da mi budu iz tblRoba predstavljena polja sifra, naziv (ovo znam) i cijena i to ne sve cijene već recimo ako radim prodavnicu 2 da bude cijena koja se u tblRoba nalazi u koloni MC2.
Možda pitanje izgleda trivijalno ali ja stojim u mjestu već danima.....
 
Odgovor na temu

Zidar
Canada

Moderator
Član broj: 15387
Poruke: 3085
*.eqao.com.



+79 Profil

icon Re: Program za vođenje više maloprodajnih objekata04.05.2005. u 15:56 - pre 231 meseci
Napravi lokalnu tabelu, u fajlu sa aplikacijom, tblTekucaProdavnica, sa poljima:
(
RecordID, Long
ProdavnicaID, tvoj tip polja za ProdavnicaID
)

Polje RecordID neka bude PK, DefaultValue=0, ValidationRule: RecordID =1. Unesi vrednost 1 u polje RecordID. Zbog validation , neces moci da uneses vise od jednog rekorda u ovu tabelu. Ili ce biti nula rekorda ili tacno jedan, sto ti treba.

Polje ProdavnicaID popunjava se za zeljenu prodavnicu. Na primer, startujes program i imas malu formu koja je abzirana na tblTekucaProdavnica. Tu uneses tekucu prodavnicu. Polje na formi moze da bud combo box koji gea u tabelu tblProdavnice, pa odatle biras tekucu prodavnicu.

Onda kveriji koji prikazuju podatke o prodavnicama treba da imaju i tabelu tblTekucaProdavnica koju onda JOIN sa tabelom tblProdavnica. Taj JOIN ce da ti automatski filtrira podatke samo za tekucu prodavnicu. Nista ADO nista DAO, samo promana vrednosti u polju jedne lokalne tabele.

Isto resenje moze da se primeni na razne varijante PC kasa. Svaka aplikacija setuje svoju tekucu kasu i kad se unose rekord, KasaID ide iz lokalne tabele. Treba paziti pri instalaciji da dve razlicite kase nemaju isti Id.

:-)
 
Odgovor na temu

rms
Bgd

Član broj: 41483
Poruke: 65
*.vdial.verat.net.



Profil

icon Re: Program za vođenje više maloprodajnih objekata05.05.2005. u 10:44 - pre 231 meseci
Ćao,

Zidarevo rešenje je dobro ali iz drugog ugla, ako je izvodljivo, trebalo bi dodati još jednu tabelu u kojoj bi bili izdvojeni podaci o cenama robe. Ovako kako je sada, rekao bih da tabela robe nije dovoljno normalizovana i zato imaš problema sa kreiranjem relativno jednostavnog upita.
 
Odgovor na temu

Zidar
Canada

Moderator
Član broj: 15387
Poruke: 3085
*.eqao.com.



+79 Profil

icon Re: Program za vođenje više maloprodajnih objekata05.05.2005. u 16:31 - pre 231 meseci
rms je u pravu.
 
Odgovor na temu

raspudic
Raspudic Zeljko
Banja Luka

Član broj: 57314
Poruke: 36
195.252.64.*



Profil

icon Re: Program za vođenje više maloprodajnih objekata08.05.2005. u 17:03 - pre 231 meseci
Ja sam pokrenuo ovu temu, zahvaljujem na brzim odgovorima, ali sam bio dugo odsutan zbog ovih praznika i nekakvog planinarenja. Nisam se još dodvoljno bacio na odgovore ali zasada, ovako na brzinu još nisam shvatio šta treba da radim...
:(
 
Odgovor na temu

rms
Bgd

Član broj: 41483
Poruke: 65
85.222.132.*



Profil

icon Re: Program za vođenje više maloprodajnih objekata08.05.2005. u 20:26 - pre 231 meseci
Moj predlog je da uradiš sledeće:

1)Dodaj još jednu tabelu sa sledećom strukturom:

- šifra prodavnice
- šifra artikla,
- cena artikla za datu prodavnicu.

2)Iz tabele robe izbaci podatke o prodavnicama i cenama.

Ovim bi tabela robe bila normalizovana pa bi realizacija upita bila jednostavna. Naravno morao bi da menjaš, manje više, i sve druge delove aplikacije koji se baziraju na ranijoj strukturi tabele robe.
 
Odgovor na temu

[es] :: Access :: Program za vođenje više maloprodajnih objekata

[ Pregleda: 4469 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

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