[ erc kragujevac @ 01.12.2015. 15:41 ] @
Uradjena je baza u Access-u 2010.
Za pocetak mi treba kako da je iskompajliram u nizu verziju (2003), ali ako ne moze nije starsno.
Problem mi je sto ni kroz VBA ni preko macro-a nisam mogao da odradim neke stvari. Uglavnom poruka da je objekat zahtevan ili da ne postoji zahtevani objekat. Kroz kod mi je i jasno da mozda gresim, ali za makroe ne mogu da shvatim sta je u pitanju ako pokusavam da ispisem poruku u slucaju da je If tacan. Taj IF gradim preko build i postavljam da je neko polje iz tabele manej od danasnjeg datuma. Jedino ako treba petlja zbog veceg broja slogova(sada mi palo na pamet). Ako enko moze da pogleda.

- Forme Invocie i InvoiceItems( napravio pa samo nalepio na formu invoice da dobijem subform). Hteo bih da se desava sledece - kada na subformi InvoiceItems izaberem Service ID(combobox vezan za tbl Services) hteo bih da se polje UnitPrice napuni automatski sa podatkom iz tabele Services posto su uvezane. Polje LineTotal sam stavio u tabeli kao calculated pa dobro racuna ali jos bolje bi bilo da ostane u tabeli number, a da se azurira ka se unese Quantity na formi Invoiceitems.
Isto tako bih hteo da se polje Base na formi Invoice azurira kao suma(Linetotal), a onda i polja Tax I Total koja su bazirana na njemu( za sada su calcualted u Tabeli).

- Potreban je reminder koji ce u jednom trenutku ( Application open, Form Load ili automatski na neki drugi dogadjaj) da ispise poruku ako postoje fakture koje su overdue - due date u tabeli Invoice je manji od trenutnog datuma. Posle poruke bi bilo dobro da se otvori izvestaj ili bar upit sa prikazom takvih faktura.

- Kako da se izborim sa izvestajem za fakture - Hteo bih da u levom zaglavlju stoje podaci iz tabela Client i vehicle, a u desnom neki kao logo za firmu ( to nije problem-labela i slika) i broj fakture iz tabele Invoice. Onda bih ispod toga da prikaze podatke iz InvoiceItems za konkretnu fakturu, a zatim i kao total koristeci polja base, tax, total(amount) iz tabele Invoice. Najbolje bi bilo da iam skok an starnu sa promenom broja fakture i da eventualno negde biram fakturu koja ce biti stampana ( na nekoj formi ili mozda na svakoj starnici zasebno da postoji dugme print).


faktura za stampu bi trebala da izgleda slicno kao pdf u prilogu
[ dr.iver @ 01.12.2015. 23:51 ] @
Mislim da nećeš moći da je sačuvaš u nižoj verziji, .mdb, pošto koristiš neke funkcije koje ne postoje u verziji 2003, kao što su Calaculated fields. Trebao bi da malo drugačije postaviš model baze, pošto nema potrebe čuvati vrednosti koje se dobijaju preračunavanjem. Njih možeš uvek preračunati pomoću kverija ili čak direktno unutar forme ili izveštaja.

Što se tiče dobijanje trenutne vrednosti za UnitPrice, možeš da iskoristiš funkciju Dlookup. Mogao bi da staviš sledeći kod kada se vrednost combo boxa ServiceID promeni:
Code:
Option Compare Database
Option Explicit
Private Sub ServiceID_AfterUpdate()
Me.UnitPrice.Value = DLookup("Price", "Services", "Servicescode=" & Me.ServiceID.Value)
End Sub


Za reminder bi trebao postojeći kod, koji imaš pod Form Load, da zameniš sa sledećim:
Code:
Option Compare Database
Option Explicit
Private Sub Form_Load()
Dim db As Database
Dim overdueQ As QueryDef
Dim rst As DAO.Recordset

Set db = CurrentDb
Set overdueQ = db.QueryDefs("Overdue")
Set rst = overdueQ.OpenRecordset()
If (rst.RecordCount) > 0 Then
    MsgBox ("You have overdue invoices")
    DoCmd.OpenReport "Overdue", acViewReport, , , acDialog
Else
    MsgBox ("You don't have overdue invoices")
End If

End Sub

Ne znam zašto si imao Quit kada nema faktura kojima je prošao datum dospeća. Zar nije dovoljno samo obavestiti da nema faktura kojima je prošao datum dospeća bez zatvaranja aplikacije (baze)?

Za štampanje samo određene fakture u kveri koji si napravio, QueryReport, samo dodaj sledeći uslov:
Code:
WHERE (((Invoice.ID)=[Forms]![Invoice]![ID]));

Na ovaj način će se štampati samo faktura koju trenutno gledaš u formi Invoice.
Takođe, dodaj dugme na formu koje će otvarati izveštaj Invoice za štampu.

Probaj u nazivima za objekte (tabele, kverije, forme, izveštaje...) dodaješ sufiks ili prefiks koji će praviti razliku u imenu na osnvu objekta o kome se radi.
[ erc kragujevac @ 02.12.2015. 15:08 ] @
Hvala na savetima.
Probacu da odradim kao sto ste mi rekli pa cu okaciti rezultat ako bude problema.
U prilogu su problem sa inicijalnim pokretanjem Access 2003( ne iskljucujem kao razlog prethodno instalirani Office 2010).
Nisam uspeo da uradim konverziju sa Save&publish opcijom, ali sam napravio praznu bazu u 2003 i onda odradio export iz 2010.
I za tabele i za upite javio je problem sa nekim tipovima polja, ali je u principu uradio.
Kada sam pokrenuo jedan macro u nekoj bazi kroz 2003 je javio problem, ali je otvorio formu.
javio je i problem sa definisanim dogadjajima, ali je dozvolio da unesem podatak an formu i kliknem na potvrdi.
Kada sam tu formu otvorio u design modu da vidim sta se desava na dugme potvrdi onda je Access 2003 zakucao i pukao.

[ erc kragujevac @ 02.12.2015. 15:46 ] @
Uvezao tabele, ali prikazuje da je baza u formatu 2000 i nemam mogucnost da iskoristim save ili save as.
Probao da uradim formu pomocu wizarda i sve OK do Finish posle ceka ide poruka Wizard is unable to create your form.
Sada tu mdb otvorio kroz 2010 i sacuvao bas kao 2002-2003 .
Za sada sljakam u 2010 pa cu videti kako ce se ponasati.


[ erc kragujevac @ 02.12.2015. 16:41 ] @
Evo probao sam i kod kuce na desktopu sa Office 2003.
Javlja isto unsafe expresion za naobicniju db1 koja je prazna, a ako kliknem No za razliku od od laptopa(tamo prihavtio sa yes ) izbacuje poruku o Microsoft Jet 4.0 Service Pack 8.
Kada sam otisao na Windows Update link, koji je ponudjen, javlja da strana ne postoji.

Skinuo Jet 4.0 Service Pack 8 (SP8) Replication File Update - KB321076 kao Jet40Repl.
Pokrenuo i navodno uradio instalaciju, a zbog poruke prihvatio i reinstalaciju.
Ipak zeza kao da nisam nista uradio.


[Ovu poruku je menjao erc kragujevac dana 02.12.2015. u 17:55 GMT+1]
[ erc kragujevac @ 02.12.2015. 21:52 ] @
Reinstalirao office 2003 i instalirao sp3, ali i dalje poruka poruka kao u primeru gore posle restarta aplikacije.
Najcudnije mi sto nema sanse da iskoristim save i save as.
[img][/img]
[ dr.iver @ 02.12.2015. 22:09 ] @
Ako si na računaru već imao instaliranu verziju 2010, pa si dodao 2003, mislim da ti office 2003 neće raditi kako treba, pogotovo access. Morao bi da ih instaliraš u obrnutom poretku, prvo 2003 pa 2010. Na ovom linku možeš naći više informacija.

Ne mogu baš da ispratim kako si tačno konvertovao u mdb fajl. Ali kao što sam juče napisao polja kao što su Calculated fields ne postoje u verziji 2003. Sad sam malo detaljnije pogledao tabele i primetio da takođe ima polja tipa attachment što takođe ne postoji u verziji 2003.
Na brzinu sam izvršio konverziju u verziju 2003, tako što sam iz tabela izbacio polja koja se preračunavaju (prebacio sam ih u kveri), sve kolone koje su sadržale tipove podataka attachment sam promenio u OLE Object. Javi da li ti i ova baza pravi probleme kada radiš u officeu 2003. Nemam ga instaliranog tako da ne mogu da proverim.

Šta kolona Attachments u tabeli Clients treba da sadrži ? Je l' treba da bude slika ili nešto drugo?
[ erc kragujevac @ 03.12.2015. 10:35 ] @
Potpuno se slazem. I na desktopu ( 2007, pa 2003) i na latopu (2010, 2003) sam imao problema.
Probao sam da u 2003 uvezem tabele, ali nije hteo da cuje. Prihvatio je da te iste tabele izvezem iz 2010 u 2003 sa promenom tipa polaj za attachment i calculated. U principu cu odbaciti sve kolone koje prave problem sa tipom. Umesto attachment mogu da stavim tip OLE ob ject u 2003 koliko se secam, ali mislim da cu ipak skloniti kolonu.
Konverziju mogu da izvrsim sa Save&Publish, ali da prvo sklonim problematiccne kolone, kod i makroe.
Slika ili neki dokument o klijentu, ali nije neophodno.
Ja se nadam da uradim osnovnu pricu, a da ce reminder i ostalo raditi uz pomoc koda koji si mi dao.
Proveravam pa javljam ako bude problem posle implementacije koda.
Hvala puno.
[ erc kragujevac @ 04.12.2015. 08:17 ] @
Evo ponasanja kroz 2003.
Kod kuce sam skinuo sve i instalirao samo Office 2003.
Ipak pravi probleme.
Mislim da je do Microsoft Jet, ali kao da on ne moze da se instalira na Windows 7 bez obzira da li je 32 ili 64.

Vidim da je u tabeli Vehicles ubacivana slika pa me ineteresuje kako.
Mozes li skracenu proceduru posto mi se svidja ideja, ali bih da zamenim raspored.
Ne izbacuje sliek konkretnih automobila na izvestaju za fakturu.
Npr. slika 500 L, a podaci su za dodge ili neki drugi.


Kako da postignem da svaka faktura ( zaglavlje sa podacima o klijentu i vozilu, kao i labela CAR SERVICE... na svakoj strani) ide na drugu stranu i da imam izvestaj o svim fakturama.
[ dr.iver @ 05.12.2015. 22:41 ] @
Probaj da napraviš bazu od nule u officeu 2003 i vidi da li će raditi.
Citat:
erc kragujevac:
Vidim da je u tabeli Vehicles ubacivana slika pa me ineteresuje kako.
Mozes li skracenu proceduru posto mi se svidja ideja, ali bih da zamenim raspored.


Najlakši način je copy-paste, tj. kopiraš sliku iz browsera direktno u polje Picture u tabeli Vehicles. Imaj na umu da će na ovaj način veličina baze brzo rasti kako se povećava broj vozila u tabeli. Onda je bolje da slike budu na određenoj lokaciji na hardu i da u tabeli samo čuvaš putanju do slike. Naći ćeš ovde na forumu dosta tema kako prikazati sliku na formi ili na izveštaju ako imaš putanju do iste.

Citat:
erc kragujevac:
Ne izbacuje sliek konkretnih automobila na izvestaju za fakturu.
Npr. slika 500 L, a podaci su za dodge ili neki drugi.

Baš sam pogledao i kod mene radi sve normalno, slika na izveštaju je za odgovarajući automobil. Pogledaj kroz formu vehicles da li su sve slike dobre, ako jesu onda i na izveštaju moraju biti (ako kveri nije menjan).

Citat:
erc kragujevac:
Kako da postignem da svaka faktura ( zaglavlje sa podacima o klijentu i vozilu, kao i labela CAR SERVICE... na svakoj strani) ide na drugu stranu i da imam izvestaj o svim fakturama.

Ne razumem šta treba da ide na posebnu stranu i šta misliš pod izveštajem o svim fakturama. Ako želiš ono što je trenutno u Page Headeru bude na posebnoj strani, onda to prebaci u Report Header i postavi opciju Force New Page za Report Header na After Section.
[ erc kragujevac @ 07.12.2015. 13:12 ] @
Hvala na objasnjenju.

Svojevremeno sam imao cak neki mali alat instaliran koji kada uradis copy past u polje pita da li hoces da napravi package i tada su slike bile formata js.
ne znma zasto se ovako ponasa, ali definitivno prikazuje sliku na drugom automobilu.
Moguce da treba da sacuvm slike pa ponovo ubacim.
Hvala za ideju za izvestaj:
Hteo sam ako ima 200 faktura u bazi da mi da 200 stranica gde ce u detalju prikazati elemente fakture( stavke), a u zaglavlju podatke o klijentu i vozilu.
Sume kao sto su osnovica , porez, totsl hteo sam da prikazem ispod detalja, ali moze i u zaglavlju

Hvala na velikoj pomoci
Pozdrav