Интересен въпрос

12 отговора 950 прегледа
#1

Интересен въпрос

Става дума за база данни на Access2000. Трябва ми програма за главен склад, който може да дава инструменти на други подчинени складове и на работници. Уловката е в това, че трябва, когато тези инструменти бъдат върнати да се разхвърля автоматично количеството, тоест да се възстановява. Дотук имам направени таблици и форми за въвеждане на нови инструменти, нови складове, нови работници, таблица и форма за даване на инструменти на работници и складове, таблица и форма за връшане на инструменти. Не мога обаче да направя така, че при запис във формата за връщане на инструментите количествата да се възстановяват и във другите форми...ако има някой който може да помогне...много ще се радвам...моля пишете на a_d_d_d_a@yahoo.com....ако някой има желанието да помогне мога да обясня по - подробно заданието! Благодаря предварително!!!

Отговор
в отговор на adda #2

Интересен е отговора :)

Дано съм разбрал, при четенето по диагонал.
Та ти желаеш да поддържаш главен склад, от който да даваш инструменти насам/натам и понякога тези инструменти да се връщат.

Нека диференцираме ползваните таблици като i) списъци и ii) журнали
Списъците са с описание на инструменти, складове, работници и т.н.
Най-важния журнал е кой инструмент в кой склад е преместен (връзки слкад-инструмент-работник със дата на случката)

Тоя подход позволява автоматично да се поддържа и хронологията на случките (може да се види от дата до дата кое къде е било, дори и за стари периоди)

Описвам ти го накратко - трябва да се оформи.

Отговор
в отговор на NikB #3

Re: Интересен е отговора :)

До тук добре...обаче как да стане това под Access2000. Как да стане също така автоматичното разхвърляне на върнатите количества? С каква функция или макрос??? Незнам точно как да стане това разхвърляне...правя му таблица в която давам инструментите съответно една за работници и една за подчинени складове. Също правя и таблица, в която работниците или склада да ми връщат инструментите...въпросът е как да се разхвърля върнатото количество и съответно в полето "Налично количество в главен склад" да се добави върнатото количество, без да трябва аз да го оправям ръчно...Ей тая част нещо ми се губи...незнам с каква функция, израз или макрос да го направя...

Отговор
в отговор на adda #4

Re: Интересен е отговора :)

не сум сигурен но в аксес маи няма тригери, така че пробвай с макрос :)

Отговор
в отговор на adda #5

Re: Интересен въпрос

Според мен, ако трябва да е написано коректно, трябва да ползваш VB и транзакции.Защото,например, работник връща инструмент, зануляваш му количеството и преди да успееш да "върнеш" инстумента в главния склад т.е. да увеличиш количеството там, тока спира и.... На работника не му се води инструмент, а в склада к-вото е по-малко.И някой си тръгва за вкъщи с инстументчето.Ако си писал на VB едва ли ще ти е трудно да се справиш

Отговор
в отговор на Bob #6

Re: Интересен въпрос

Bob, thanx man...обаче честно казано много не ми е ясно това с транзакциите...ако можеш да ми кажеш какво точно имаш предвид и как да го направя ще бъде много мило от твоя страна...това с разхвърлянето на количеството и прочее нещо не ми се връзва и не мога да го направя, а всъщност не съм много на ти с VB... моля те ако имаш идея какво точно може да се направи да съдействаш, че съм много на зор...

Отговор
в отговор на adda #7

Re: Интересен въпрос

Щом не си много на ти с VB единствения начин да ти хелпна е да ми пратиш на мейла mdb - то. Ще ти допълня кода и ще ти сложа коментари. Ама най-добре си е да почетеш малко за VB, защото трудно можеш да направиш нещо сериозно на Access без поне малко код. Уверявам те, не е толкова трудно, колкото изглежда.
[email protected]
P.S. Само, моля те , изпразни базата, да не е много голяма и я зипни.
Пък черпнята от теб


Отговор
в отговор на Bob #8

Re: Интересен въпрос

Много МНОГО ти благодаря!!!Изпращам я веднага!

Отговор
в отговор на adda #9

Re: Интересен въпрос

Разгледах базата ти, но не е направена по принципите на релационните бази.Ако тръгна да я поправям, означава да направя всичко наново.Например, доколкото видях, имаш поле в таблица, което на практика е изчислително поле.Това не е необходимо.Спокойно можеш да го изчислиш чрез Query.Тъй като след малко трябва да тръгвам и ще мога чак довечера да погледна пак, моля те, напиши ми от кое поле и от коя таблица данните(броя инструменти) искаш да запишеш в друга таблица и в кои полета, за да не се балтая излишно.

P.S. Разгледай хубаво Query-тата. За в бъдеще ще си спестиш много главоболия ако ги научиш добре

Отговор
в отговор на adda #10

Re: Интересен въпрос

Транзакциите, най-общо казано, ти осигуряват механизъм, чрез който или всичко в тях се изпълнява, или нищо. Например искаш да въведеш по един запис в две различни таблици - ако двете заявки са в обща транзакция, тя или ще се изпълни (commit) или няма (rollback). Но не може да се въведе само единият запис. Rollback-а може да дойде от теб или сам да се извика от СУБД-то ако възникне някъкъв системен проблем например.

Всъщност за транзакциите спокойно може да се напише цяла книга, но това е най-най основното като идея ;)

Отговор
в отговор на Bob #11

Re: Интересен въпрос

Ами да ти кажа може и да не е направена както трябва, обаче идея си нямам как точно трябва да изглежда...аз се занимавам с мода професионално, а тая база данни ми се налага да я правя, защото баща ми иначе няма да ме пусне да уча мода...така че много спешно се нуждая от помощ...изпитите наближават, а той ме юрка много гадно с тая програма...
Идеята и е най - общо казано като някой ми върне инструмент в Returning Tools by employee това върнато количество да се заприходява в останалите таблици за дистрибутиране на инструменти...въобще идея си нямам какво и как да направя и затова се нуждая спешно от помощ! Моля те ако можеш ми помогни...!

Отговор
в отговор на adda #12

Re: Интересен въпрос

Готов(а) си. Пратих ти го на пощата.Дано ти свърши работа

Отговор
в отговор на adda #13

Re: Интересен въпрос

Баща ти е много готин пич....питай го той какъв е искал да стане и какво е учил за да стане и какво ползва в работата си от това което не му е харесвало да учи!!!

В твоя случай той те кара да построш малка къща за да ти разреши да станеш поет...И ти разбира се му изтряскваш една барака и той е в екстаз....
Ти естествено нямаш никаква вина за това...но заради този принцип тука в БГ сме едни велики инжинери дето само бараки правим... :)))))



нема да се плашиш, по другия твканал времето е друго...

Отговор