Discussion:
Zablokowanie wprowadzania duplikatow
(Wiadomość utworzona zbyt dawno temu. Odpowiedź niemożliwa.)
York
2007-06-08 21:12:36 UTC
Permalink
Witam

czy przy ustawieniu w tabeli wartosci bez potorzen istnieje z poziomu
formularza ustawienie w jakis sposob aby Access sprawdzal czy taki rekord
juz istnieje i jesli istnieje aby wyswietal odpowiedni komunikat
z gory dziekuje za pomoc
b***@wp.pl
2007-06-08 21:52:40 UTC
Permalink
Post by York
Witam
czy przy ustawieniu w tabeli wartosci bez potorzen istnieje z poziomu
formularza ustawienie w jakis sposob aby Access sprawdzal czy taki rekord
juz istnieje i jesli istnieje aby wyswietal odpowiedni komunikat
z gory dziekuje za pomoc
W tabeli "wartosci bez potorzen" nadałeś jakiemuś polu (np. MarkaSamochodu).
Inne pola, w każdym z rekordów tej tabeli moga się powtarzać (no chyba, że im
też "bez powtórzeń" kazałeś).
Jeżeli w formularzu wpiszesz do kolejnego rekordu Mercedes (a wcześniej już go
wpisałeś) to przy wychodzeniu z rekordu Access "sam z siebie" pokaże
komunikat "że sorry Winetou..." i albo się wycofasz (ESC) albo poprawisz na
Mercedesik.
Oczywiście jest możliwość z pomocą VBA sprawdzenia (właściwość PRZED
AKTUALIZACJĄ pola, w którym spodziewasz się dubla) czy właśnie nie dublujesz.
Należy skorzystać z If (jeżeli) ... i DLookup (wpisz w helpa VBA a znajdziesz
opis i przykłady wykorzystania).
Odpowiedni komunikat wyswietlisz przez MsgBox (patrz Help w VBA).
Pozdrawiam
bory
--
Wysłano z serwisu OnetNiusy: http://niusy.onet.pl
Jacek K.
2007-06-09 08:27:23 UTC
Permalink
Post by York
Witam
czy przy ustawieniu w tabeli wartosci bez potorzen istnieje z poziomu
formularza ustawienie w jakis sposob aby Access sprawdzal czy taki rekord
juz istnieje i jesli istnieje aby wyswietal odpowiedni komunikat
z gory dziekuje za pomoc
Ja rozwi za em to w ten spos�b:

Dim psl, psl2, kto, w As String
psl = Nz(DLookup("pesel", "qryNowyPSL", ""), "")
psl2 = Me.pesel
kto = Nz(DLookup("nazim", "qryNowyPSL", ""), "")
w = Nz(DLookup("skad", "qryNowyPSL", ""), "")
If (psl = psl2) And (psl <> "") Then
MsgBox "Taki numer PESEL posiada ucze " & "= " & kto & " - "
& w & " =" & " !!!" & Chr(13) & "Pomi , lub wpisz inny numer!",
vbCritical, "Ewidencja szkolna"
DoCmd.CancelEvent
DoCmd.GoToControl "pesel"
Me.pesel = ""
Else
(...)

To jest przyk ad wpisania drugi raz tego samego nru PESEL - ale pewnie
o to Ci chodzi
York
2007-06-09 09:28:04 UTC
Permalink
Post by Jacek K.
Post by York
Witam
czy przy ustawieniu w tabeli wartosci bez potorzen istnieje z poziomu
formularza ustawienie w jakis sposob aby Access sprawdzal czy taki rekord
juz istnieje i jesli istnieje aby wyswietal odpowiedni komunikat
z gory dziekuje za pomoc
Dim psl, psl2, kto, w As String
psl = Nz(DLookup("pesel", "qryNowyPSL", ""), "")
psl2 = Me.pesel
kto = Nz(DLookup("nazim", "qryNowyPSL", ""), "")
w = Nz(DLookup("skad", "qryNowyPSL", ""), "")
If (psl = psl2) And (psl <> "") Then
MsgBox "Taki numer PESEL posiada ucze " & "= " & kto & " - "
& w & " =" & " !!!" & Chr(13) & "Pomi , lub wpisz inny numer!",
vbCritical, "Ewidencja szkolna"
DoCmd.CancelEvent
DoCmd.GoToControl "pesel"
Me.pesel = ""
Else
(...)
To jest przyk ad wpisania drugi raz tego samego nru PESEL - ale pewnie
o to Ci chodzi
Dziekuje Panowie, nie moge w tej chwili sprawdzic czy zadziala ale o to
chodzi i jeszcze raz dziekuje jak bede mial problemy to moze poprosze
jeszcze o pomoc, pozdrawiam
Krzysztof Naworyta
2007-06-10 00:28:54 UTC
Permalink
Juzer York <***@onet.eu> napisał

| czy przy ustawieniu w tabeli wartosci bez potorzen istnieje z poziomu
| formularza ustawienie w jakis sposob aby Access sprawdzal czy taki
| rekord juz istnieje i jesli istnieje aby wyswietal odpowiedni komunikat
| z gory dziekuje za pomoc

Przy ustawieniu "bez powtórzeń" access oczywiście wszystko sprawdza i nie
pozwala na wprowadzenie rekordu, który by naruszał takie ograniczenie.

Rozumiem więc, że nie chodzi Ci o sprawdzanie (bo takie zachodzi), tylko o
przejęcie komunikatu.
Tak, da się ten komunikat przechwycić i zastąpić swoim własnym.
Do tego służy zdarzenie Form_Error formularza !
Reszta w helpie ...
--
KN
(MVP, M$ Office Access)

archiwum grupy:
http://groups.google.pl/advanced_group_search
(grupa: pl*msaccess)
Loading...