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

Rucno povecavanje brojaca i problem sa kompatibilnoscu

[es] :: Access :: Rucno povecavanje brojaca i problem sa kompatibilnoscu

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

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

GOTIK911
Ivan Krsmanovic
Sarajevo

Član broj: 39902
Poruke: 51
*.teol.net.

Sajt: www.elitesecurity.org


+2 Profil

icon Rucno povecavanje brojaca i problem sa kompatibilnoscu07.04.2012. u 01:07 - pre 146 meseci
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?
 
Odgovor na temu

Dexxxl
Dejan Stojanovic
Blagi uzas
Knjazevac

Član broj: 252836
Poruke: 212
212-200-193-216.dynamic.isp.telekom.rs.



+9 Profil

icon Re: Rucno povecavanje brojaca i problem sa kompatibilnoscu07.04.2012. u 07:46 - pre 146 meseci
Probaj da za pronalazenje odredjenog recorda koristis poseban combo sa control source prazno (unbound) i row source na polje gde ti se nalaze brojevi. Kod isti samo ubaci ime tog novog comba gde treba.
 
Odgovor na temu

GOTIK911
Ivan Krsmanovic
Sarajevo

Član broj: 39902
Poruke: 51
*.teol.net.

Sajt: www.elitesecurity.org


+2 Profil

icon Re: Rucno povecavanje brojaca i problem sa kompatibilnoscu07.04.2012. u 10:10 - pre 146 meseci
Hvala na odgovoru!

Probao sam da uradim tako. Unbound ComboBox na RowSource SELECT BrojUnosa FROM Unosi; i na AfterUpdate kod iznad, ali mi nista ne pronadje, nakon klika na neki od brojeva sa liste zadrzi unos broj 1 i u dabeli Unosi na mjesto broj 1 upise prazno (izbrise keca). Probao sam da ubacim ovaj kod i na OnClick i na OnEnter ali se isto ponasa.

Jos predloga?

Ili postoji li nacin da se prilagodi Record kontrola na donjem dijelu forme i da mi ne "gleda" na ID (AutoNumber) nego na moj BrojUnosa? I to bi mi potpuno odgovaralo.
 
Odgovor na temu

Dexxxl
Dejan Stojanovic
Blagi uzas
Knjazevac

Član broj: 252836
Poruke: 212
212-200-193-216.dynamic.isp.telekom.rs.



+9 Profil

icon Re: Rucno povecavanje brojaca i problem sa kompatibilnoscu07.04.2012. u 10:37 - pre 146 meseci
umesto
Code:
rs.FindFirst "[BrojUnosa]=" & BrojUnosa


stavi
Code:
rs.FindFirst "[BrojUnosa]=" & imeComba


izbaci
Code:
BrojUnosa = Null



za izmenu control source samo u propertis na data kartici iz controlsource comba izaberi koji zelis
 
Odgovor na temu

GOTIK911
Ivan Krsmanovic
Sarajevo

Član broj: 39902
Poruke: 51
*.teol.net.

Sajt: www.elitesecurity.org


+2 Profil

icon Re: Rucno povecavanje brojaca i problem sa kompatibilnoscu07.04.2012. u 17:15 - pre 146 meseci
Kad na Windows XP masini sa Office 2007 ukljucim ovaj code

Private Sub Form_Current()
On Error GoTo FirstRec
Dim LastVal As Long
ZadnjiBroj = DMax("[BrojUnosa]", "Unosi")
If Me.NewRecord Then
Me.BrojUnosa = ZadnjiBroj + 1
End If
Exit Sub

FirstRec:
ZadnjiBroj = 0
Resume Next
End Sub

na formi u Eventu OnCurrent dobijem sledecu gresku prilikom otvaranja forme:
"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."

I posle toga mi na formi nista ne radi. Dok sve ovo na Windows 7 isti Office 2007 radi odlicno.

Da li znate o cemu se radi?

Koliko sam primjetio, kad izvrisim bilo koji VBA na ovoj formi on izbaci gore navedenu gresku!

[Ovu poruku je menjao GOTIK911 dana 07.04.2012. u 18:37 GMT+1]
 
Odgovor na temu

GOTIK911
Ivan Krsmanovic
Sarajevo

Član broj: 39902
Poruke: 51
*.teol.net.

Sajt: www.elitesecurity.org


+2 Profil

icon Re: Rucno povecavanje brojaca i problem sa kompatibilnoscu07.04.2012. u 19:15 - pre 146 meseci
Samo da se zahvalim Dexxxl na velikoj pomoci. Sve radi. Za problem vezan za gresku: Treba podesiti Regionalne i jezicke parametre u kontrolnoj tabli. Pogotovo jezik za non-Unicode programe! Hvala Dexxel i hvala elitesecurity.org
 
Odgovor na temu

[es] :: Access :: Rucno povecavanje brojaca i problem sa kompatibilnoscu

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

Postavi temu Odgovori

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