Citat:
Sve to stoji i školski je da se rješe te stvari u bazi,ali isto tako gledajte da se stave kontrole(poruke) da obavjeste korisnika vaše aplikacije da taj podatak već postoji ili tako nekako.Jer morate u svakom slučaju da izbjegnete access poruke na engleskom,ili npr. da vam blokira aplikacija zato što je proradio primarni ključ.
Mislim da razumem muku koju Miroslav ima. Ali se ne slazem sa resenjem. Svrha primarnog kljuca, i onog drugog, stranog JESTE da blokira aplikaciju ukolliko se pokusa unos losih podataka.
Tacno je da Access daje poruke na engleskom kada se narusi PK ili FK (foreign key, strani kljuc). Postoji nacin da se te poruke prevedu. za to se koristi formin Error event.
Evo primera:
Code:
Private Sub Form_Error(DataErr As Integer, Response As Integer)
Select Case DataErr
Case 3022
'Narusavanje PK
MsgBox "Pokusavate da unesete sifru" _
& vbCrLf & "kojaj vec postiji za neki drugi artikl u tabeli." _
& vbCrLf & "To nije dozvoljeno.", vbCritical
Response = acDataErrContinue
Case 3201
'Narusavanje FK
MsgBox "Pokusavate da unesete Grupu artikal" _
& vbCrLf & "koja ne postiji." _
& vbCrLf & "To nije dozvoljeno.", vbCritical
Response = acDataErrContinue
Case Else
MsgBox "Pokusavate da uradite nesto sto nije dozvoljeno" _
& vbCrLf & "U sledecoj poruci, Access ce vam reci na engleskom o cemu se radi" _
& vbCrLf & "Ovu gresku treba prijaviti programeru."
Response = acDataErrDisplay
End Select
End Sub
Ako se ovo primeni, poruke vise nece biti na engleskom i Miro ce moci slobodno da koristi PK i FK, bez straha da ce mu to blokirati aplikaciju.