[ mdenis @ 08.02.2005. 15:04 ] @
Microsoft fatamorgana!

Program (uslovno receno) pod MS Access 2000 sa event driven funkcijama na jednom racunaru radi perfekt - bez ikakvih problema. Ima gomilu VB koda i nesto funkcija uglavnom za manipulacije u upitima i u izvestajima. Primer:

=(Right([Broj profakture];4)) & "/" & [Inicijali] & "/" & (Right(Year([Datum profakture]);2))

Dakle toliko OSNOVNO!

Da ne dubim dalje, istu tu aplikaciju prebacim na drugi racunar i ... ni jedna od osnovnih funkcija ne radi kako valja (LEN, RIGHT, MID, TRIM ...). Pomislim, problem je sto na je drugom racunaru instaliran Access 2003. Obrisem kompletan Office i preko njega turim Office 2000 sa kompletnom (full) instalacijom Access-a, medjutim problem jos uvek postoji.

Famozni Help fajl upucuje na mogucnost da izvesan Ms#$@#.dll fajl nedostaje - medjutim ni to nije problem. Nesto sam slicno imao davno na jednom racunaru, ali kada sam izdvojio pomenuti dll fajl iz Access-ovog CAB-a, sve je proradilo.

Dalje, obnovim komplet instalaciju ponovo i opet isto.

Probam da napravim novu bazu, cisto testa radi, gde bih kombinovao tekstualne podatke unete u tabele - nesto poput:

=Trim([Text1]&", iz "&[Tekst2])

i dobijem rezultat #Error.
Isto i sa funkcijama LEN, MID, LEFT, RIGHT ...

Ima li iko ideju sta bi mogao biti problem.

F1, F1, F1, F1, F1, F1, F1, F1, ...
[ Zidar @ 09.02.2005. 15:04 ] @
Fali ti neka refrenca u VBA modulima. Posto je Access 2000, najverovatnije ti fali MS Data Access Objects Library (DAO ili JET) 3.6.

Otvori bilo koji modul u dizajnu i idi na Tools/Refrences. Ako imas neku da je Missing, otkaci je pa ponovo dodaj. Ako nista nije Missing, onda vidi da li imas DAO 3.6 ili 3.5.

Access 2000 dolazi sa pretpostavkom da ce svi da koriste ADO umesto DAO pa nema ni referencu na DAO. Medjutim, vecina ljudii dalje koristi DAO pa moraju da uvek dodaju referencu. Ovo se desava i desavace se sa svakim novim MDB fajlom.

Znaci, ako hoces da programisras u Access 2000+, cim odes u dizajn nekog modula, podesi reference - doadaj DAO. ako ne koristis ADO, dobro je otkaciti referencu na ADO. U protivnom, ako radis sa rekrdsetima, VBA ce da misli da je u pitanju ADO recordset, ukoliko ne kazas obrtno.
Code:

'Ako su aktivne reference na ADO i DAO istovremeno, onda:
Dim rs as DAO.recordset ' --- VBA zna da je ovo DAO (JET) recordset
Dim rs2 as recordse       '---- VBA misli da je ovo ADO recordset
'Ako programer ne misli na siti nacin, eto nevolje ;-)


:-)
[ mdenis @ 10.02.2005. 08:03 ] @
To je to ... nedostaje ref. ka BR549.OCX ... !??!!!? #$#"$"%&&#$$ Microsoft.

Pitanje:
Dali se ovo dešava samo na A.2000 ili i na ranijim i kasnijim verzijama?

Mislim da je krajnje vreme da razmotrim prelazak na Kylix.