[ GOTIK911 @ 07.04.2012. 01:07 ] @
Postovanje! Pravim jednu bazu u Access-u 2007. U bazi imam jednu tabelu sa nekoliko kolona od kojih je jedna BrojUnosa. Ta kolona ima zadatak da broji redove u tabeli, dakle broj unosa, jer mi AutoNumber nije odgovarao jer svaki put kad izbrisem neki red on broj tog reda ne upisuje ponovo nego ga preskoci pa mi se desi da u tabeli imam recimo 10 unesenih redova a AutoNumber polje pokazuje 15. Iz tog razloga sam ubacio "rucni" brojac redova. Svaki put kad na formi pritisnem taster za novi unos on inkrementira brojac za jedan. Kod sam stavio u Event On Current i sve radi dobro. Na formu sam stavio jedan TextBox koji ispisuje broj sledeceg unosa. Sad mi se javila potreba da pronadjem neki od ranije unesenih podataka. Za to sam koristio sledeci kod koji sam stavio u Event AfterUpdate iste forme u kojoj i unosim podatke. Kod je sledeci: Private Sub BrAnkete_AfterUpdate() If (BrojUnosa & vbNullString) = vbNullString Then Exit Sub Dim rs As DAO.Recordset Set rs = Me.RecordsetClone rs.FindFirst "[BrojUnosa]=" & BrojUnosa If rs.NoMatch Then MsgBox "Žao mi je, ali unos '" & txtGoTo & "' nije pronađen.", _ vbOKOnly + vbInformation Else Me.Recordset.Bookmark = rs.Bookmark End If rs.Close BrojUnosa = Null End Sub Kad u TextBox koji mi ispisuje trenutni broj unosa upisem broj nekog od prethodnih unosa on mi pronadje taj unos i prikaze ga u formi, ali mi na mjesto prethodnog broja unosa upise i sacuva broj unosa koiji sam upisao za pretragu a nau mjesto broja unosa kog sam trazio izbrise njegov broj i ostavi prazno. Primjer: Ako u tabeli imam recimo 10 unesenih redova. Otvorim formu za unos i sva polja budu popunjena podacima iz prvog reda tabele, dakle u polju Broj unosa pise 1. Ako hocu da prikazem peti unos ja u polje Broj unosa izbrisem keca i upisem 5 i on mi prikaze sve unose kako treba ali mi u koloni Broj unosa na mjestu gdje je bio kec upise 5 a na mjestu gdje je bila petica ostavi prazno. Kako bih mogao ovo ispraviti ili uraditi na neki drugi nacin? I jos jedan problem: Koristim Windows 7 i Office 2007 i na tom racunaru sve radi super. Ali kad prebacim bazu na laptop koji ima Windows XP SP3 i Office 2007 baza prilikom otvaranja forme za unos podataka izbaci gresku: "The expression on current u entered as the event property setting produced the following error: a problem occured while microsoft office access was communicating with the OLE server or activex control." Dok u objasnjenju ispod napise sledece: "This error occurs when an event has failed to run because Microsoft Office Access cannot evaluate the location of the logic for the event. For example, if the OnOpen property of a form is set to =[Field], this error occurs because Access expects a macro or event name to run when the event is fired." Ja sam probao skoro sve sto mi je palo na pamet. Kompajlirao sam kod i nije bilo gresaka. Nadogradio sam Office 2007 na SP3, provjerio Reference, dekompalirao, importovao sve forme, macroe, queryje itd u novu praznu bazu ali greska se stalno pojavljuje. Kad iskljucim VBA code koji sam koristio forma radi kako treba. Na Windows 7 na kome je baza pravljena sve radi kako treba ali na WinXP nikako nece. Da li ste se nekad sreli sa ovim? |