Fråga : Kontrollgiltighet, för rekordet sparas eller redigeras på en bilda

Hi grabbar,

This är en snarlik general ifrågasätter. Jag har en bilda som är destinerad till rekord i mitt bordlägger. För varje rekord, som användaren önskar att tillfoga/, redigera, mig önskar att se till att bestämt sätter in inte är tomt, för rekordet sparas in i mitt bordlägger. Och jag önskar också inte några dubblett i mitt bordlägger. Jag vet att logiken är nätt enkelt, men var jag att sätta i mitt kodifierar?

Can som någon riktar mig till rätten, spårar härom?
Many thanks.
" klar "

Svar : Kontrollgiltighet, för rekordet sparas eller redigeras på en bilda

Du kan också ställa in unika index på bordlägga, med de sätter in som krävt. Detta har det liknande att verkställa av vad Gary beskrev.

Emellertid från ett UI-perspektiv, du kunde använda den BeforeUpdate händelsen av ditt bildar för att kontrollera de sätter in och försäkrar dem fylls in. Den Required egenskaps- eller indexmetoden kan kasta några nätt udda (och hårt att förstå) fel, stunder som du kan bygga mycket mer användarvänlig fel using den BeforeUpdate metoden. BeforeUpdate avfyrar, för datan är skriftliga till bordlägga, så den är användbara för både nya och existerande rekord:

UnderForm_BeforeUpdate (annulleringen som heltal)
  Dunkel sError som stränger
  Om Nz (Me.txCustomerName, "") = "" därefter
    sErroren = ”du måste skriva in ett känt företag”,
  Avsluta om

  Om Nz (me.txCustomerPhone, "") = "" därefter
    Om Len (sError) > 0 därefter sError = sError & vbCrLf
    sErroren = sErroren & ”du måste skriva in ett företagstelefonnummer”,
  Avsluta om
 
  Om Len (sError) > 0 därefter
    Msgbox ”som du måste fylla required, sätter in sammanlagt: ” & vbCrLf & sError, vbOkOnly + ”saknad eller ogiltig data” för vbExclamation,
    Annulleringen = True
  Avsluta om
Avsluta suben

Notera ”annulleringen = riktigt” - detta är vad berättar tar fram till INTE räddningen datan, som är. Användare måste antingen (a) fyller in datan, eller (b) använd den nyckel- Escen för att avbryta ut ur bilda (som skräp alla ändringar/mellanlägg).

Notera dig kan också använda den BeforeUpdate händelsen av ditt kontrollerar för att göra det samma tinget. I många fall detta är preferred, sedan du ibland måste ha ControlA att fyllas in, för du kan välja/skriver in något i ControlB.
Andra lösningar  
 
programming4us programming4us