Avatar billede Uvanga Ekspert
19. august 2017 - 14:25 Der er 13 kommentarer og
1 løsning

Advare om at indtastet værdi er brugt

Jeg har en Access Database, hvor der på hver Formular-side er 50 unikke indtastnings felter. Kan man indlægge en generel advarsel, der gælder for alle felter? Skal advare mod at den indtastede værdi allerede er brugt et vilkårligt sted i formularen. Kun en advarsel, ikke en spærring.
Er det efterfølgende muligt at undtage enkelte felter, f.eks. felt Gadenavn, da Vestergade forekommer flere gange, idet der er flere lejligheder.
Avatar billede terry Ekspert
19. august 2017 - 14:52 #1
No, or not as far as I am aware.

If you waited until you got a before update event for form then you would still have to loop all fields to validate them.

You could make a general function/sub which you used to validate all fields and called this from each field you wanted to validate.
Avatar billede Uvanga Ekspert
19. august 2017 - 15:40 #2
OK
"You could make a general function/sub which you used to validate all fields and called this from each field you wanted to validate."
Har du en "opskrift" på denne funktion?
Avatar billede terry Ekspert
19. august 2017 - 18:13 #3
Not sure why this is relevant
"Er det efterfølgende muligt at undtage enkelte felter, f.eks. felt Gadenavn, da Vestergade forekommer flere gange, idet der er flere lejligheder. "

This code checks if the value entered in a specific field exists or not in the corresponding field in the table, it doesnt check to see if the value exists in all fields in the table.

Private Sub Felt1_BeforeUpdate(Cancel As Integer)

    CheckValue
           
End Sub


Private Sub CheckValue()
   
    If DCount("*", "tbl1", Me.ActiveControl.Name & " = " & "'" & Me.ActiveControl & "'") > 0 Then
 
        MsgBox "Value Exists"

    End If

End Sub
Avatar billede terry Ekspert
19. august 2017 - 18:14 #4
example is for only one field (Felt1) you just need to add a before update event to the fields you need to evaluate
Avatar billede terry Ekspert
19. august 2017 - 18:16 #5
it also assumes that the type of each field is text
Avatar billede Uvanga Ekspert
20. august 2017 - 18:08 #6
Tak for info. Databasens indhold er både text, og tal. Dobbeltindtastning er ikke et problem for mig, det er mere når andre bruger den.
Så enten må jeg være opmærksom på dobbeltindtastninger, eller køre en forespørgsel der viser dubbletter.
Avatar billede terry Ekspert
21. august 2017 - 09:28 #7
dobbeltindtastninger?
You'll ne3ed to explain that
Avatar billede Uvanga Ekspert
21. august 2017 - 18:27 #8
Der er tale om en database til registrering af datakredsløb. Hvis man taster en kobling ind, f.eks. 001/002/234, var tanken at databasen skulle give en advarsel, hvis denne position allerede er brugt. Men jeg tror jeg gør noget helt andet. Hvis man støder på en port hvor der fysisk sidder en ledning i forvejen, så simpelthen køre en søgning i Formular, der søger på alle felter.
Avatar billede terry Ekspert
21. august 2017 - 19:56 #9
If I understand you correctly, the same value can exist in more than one field on the form, so when you enter 001/002/234 in one field it may not exist in the dB in that field but in another field?

Well a redesign of your dB could help but another idea was to have a union query which puts all your fields into one column and then change code to look into query instead of a specific field in table.
Avatar billede Uvanga Ekspert
21. august 2017 - 22:31 #10
If I understand you correctly, the same value can exist in more than one field on the form, so when you enter 001/002/234 in one field it may not exist in the dB in that field but in another field?  = Ja, det er korrekt.

Jeg har allerede en qrykobsamlet, hvor alle koblings felter ligger samlet. Den er måske den der skal bygges videre på?
Avatar billede terry Ekspert
22. august 2017 - 09:06 #11
"Jeg har allerede en qrykobsamlet, hvor alle koblings felter ligger samlet. Den er måske den der skal bygges videre på? "

Difficult to say not know how your tables/queries are designed.

I was guessing that when you say "...50 unikke indtastnings felter..." you have a table containing these "50 unikke felter" and the code I gave only checked the field you had entered a value into, against the corresponding field in the table.

Maybe you can explain your design, also why/how the same value can exist in more than one field, and maybe also how you use qrykobsamlet?

Better still, any chance of seeing dB, or an example?
Avatar billede Uvanga Ekspert
22. august 2017 - 13:30 #12
"Maybe you can explain your design, also why/how the same value can exist in more than one field"
Fejl 40. Det kan det hvis der foretages en fejlindtastning, og det var det der skulle advares mod. Jeg kan på et tidspunkt prøve at uploade db til dropbox.
Avatar billede terry Ekspert
22. august 2017 - 15:19 #13
you could just send via email to ekspertenATsanthell.dk
AT = @
Avatar billede Uvanga Ekspert
22. august 2017 - 16:39 #14
Ok
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester