Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno MS ACCESS-formular-obmedzenie vkladania do tabulky

Zdravim-mam tabulku a formular pomenovane: osoba.
Potom som vo VB vytvoril nieco taketo-na zistovanie, ci zadany udaj uz je vlozeny v tabulke:

Dim qwer As String
Dim i As Integer
i = DCount("id", "osoba", "typ_osoby='" & Me.typ_osoby.Value & "' and meno='" & Me.meno.Value & "' and priezvisko='" & Me.priezvisko.Value & " '")
If (i > 1) Then
 MsgBox ("V DB uz tato osoba existuje, zaznam nebude vlozeny!")
 ...
End If

-otazka: co mam vlozit namiesto tych 3 bodiek, aby sa ten zaznam nevlozil, ak uz existuje?

Novy zaznam sa do tabulky pridava cez formular-po kliknuti na trojuholnik s hviezdickou=>vlozi sa to samo. Pocul som, ze by sa to mohlo dat cez metodu undo, ale nejak mi to neslo.
(access 2003)

Předmět Autor Datum
uf. Proč tak složitě? Proč dané pole prostě nenastavíš jako indexované bez duplicity?
touchwood 03.11.2007 17:11
touchwood
...neviem :-/ A ako to mam nastavit pre vsetky 3 stlpce v tabulke? - hodnoty mozu byt aj duplicitne(…
Pavol 03.11.2007 17:22
Pavol
Aha, Už chápu. A rovnou tě musím zklamat, takto se můžeš velmi rychle dostat do problémů. Např. u n… poslední
touchwood 03.11.2007 20:12
touchwood

...neviem :-/
A ako to mam nastavit pre vsetky 3 stlpce v tabulke? - hodnoty mozu byt aj duplicitne(v ramci kazdeho stlpca), ale aby kazda trojica bola neduplicitna?

ehm, ja by som si nerozumel, co chcem povedat, tak tu je radsej priklad:
typ meno prieyvisko
citatel jozo ppp
autor jozo fff
... aby sa nevysklytovali viac krat udaje: "citatel jozo ppp",...
-to by asi nestacilo len takto rozlisovat, ale potom tam pridam aj rodne cislo.

Aha, Už chápu.

A rovnou tě musím zklamat, takto se můžeš velmi rychle dostat do problémů. Např. u nás ve firmě jsou dva lidé s naprosto shodnými jmény. Opravdu 100% řešení je jiný identifikátor než jméno, např. to RČ, ale klidně si můžeš udělat vlastní (např.: číslo zaměstnance, číslo klienta, nebo číslo člena), protože v ČR je RČ tzv. osobní informace podléhající specifickém systému nakládání s takovým druhem informací.

Pokud přesto trváš na výše uvedeném, tak tě musím upozornit na případ:
1. uživatel se vrací na předchozí pole a needituje pole v pořadí tebou daném (musíš ošetřit změnu v každém poli)
2. v okamžiku zadání není dostupná některá informace (např. křestní jméno)

Řešil bych to asi tak že bych to pověsil na událost "při výstupu" ("OnExit") a snažil bych se vrátit fokus zpět na dané pole.

Zpět do poradny Odpovědět na původní otázku Nahoru