Avatar billede andersjensen Nybegynder
18. oktober 2000 - 18:40 Der er 4 kommentarer og
4 løsninger

MsgBox til bruger hvis man indtaster et firecifret tal i et kontrolelement, og tallet allerede er brugt i en anden post

Jeg har en formular med tre felter. alle tre felter bruges til at registrer et unikt nummer for en enhed. Problemet er:
Hvis brugeren feks indtaster et nummer i felt 1,feks 9888, og dette nummer allerede er brugt i feks felt nr 2 skal der poppe en MsgBox op til brugeren om at det indtastede nummer allerede er brugt i en anden post. På tabelniveu, kan man bruge de forskellige indexregler og det virker, også når man arbejder i formularvisning, men meddelsen til brugeren er noget kryptisk efter min mening.Meddelsen skal poppe op når brugeren forlader det aktuelle felt i formularen,  Findes der en anden løsning. PS. brugeren arbejder kun i formularvisning. Mvh AndersJensen
Avatar billede janbangm Nybegynder
18. oktober 2000 - 19:44 #1
Hej

Jeg mener at du kan programere dig ud af problemmmet med AOD metoden. Nu kender jeg ikke din database, men hvis du sætter du tabel lig med varianten R kan du løbe hele tabellen igennem for at se om det nummer du har indtasted er blevet brugt. Tror du ikke dette var en løsning?
Avatar billede andersjensen Nybegynder
19. oktober 2000 - 08:30 #2
Hej Tak for svaret, kunne du skrive et kodeeks. til mig


Mvh andersjensen
Avatar billede privaten Nybegynder
19. oktober 2000 - 09:02 #3
Efter opdatering af et felt checker du:
- Andre felter ved at spørge på felterns indhold fx. if Felt1.Value=Felt2.Value then...
- I tabeller ved at anvende DCount() fx. if DCount(\"[FeltNavn]\", \"TabelNavn\", \"[FeltNavn]=\" + str(Felt1.Value)) then ...
Avatar billede moses Praktikant
19. oktober 2000 - 10:12 #4
I koden til feltet laver du øverst i koden en:

On Error goto MinFejlmelding
...
...


Nederst laver du så en:

MinFejlmelding:
\'Her kan du checke på fejlen, som Access er kommet med og så skrive din egen fejlmelding ud fra det.
\'Du kan jo starte med at udskrive den fejl, som Access kommer med, når den lander her
MsgBox Err & \", \" & Error

\'Så kan du bygge en Select Case ud fra de fejlmeldinger, som du kan forvente på dette sted.
Avatar billede andersjensen Nybegynder
19. oktober 2000 - 12:43 #5
hej til alle mange tak for de forskellige svar, jeg arbejder stadig på problemetm, men det driller lidt, men giver bestemt ikke op


*sss* andersjensen

ps. flere forslag modtages med glæde.
Avatar billede janbangm Nybegynder
19. oktober 2000 - 15:48 #6
Dim D as database
Dim R as Recordset
Dim fl as byte

Set R = CurrentDb.OpenRecordset(\"tabelnavn\")
R.MoveFirst
Do Until R.EOF
If R(1) = me.feltnavn1 or r(2) = me.feltnavn
    Fl 1= 1
End if
R.movenext
Loop
If fl = 1 Then
Dim svar as byte
Svar = svar = MsgBox(\"Tallet er brugt\", vbOKOnly, \"DEMO\")
End if
Forklaring:

Førsrt løber man tabelen her tabelnavn igennem. Hvis er R1 eller R2 (dette er den 2 og 3 felt i tabellen da man starter med 0) for at se om det er lig med det tal man har indtastet. Er det det, bliver fl = 1. Når hele tabellen er gået igennem, går man ind og ser om fl er 1. Er den det, kommer der en dialogbox der fortæller at tallet er brugt.
       
Koden skal indsættes på en ok Knap.

Hvis du har spørgmål, skriver du bare ingen.
Avatar billede fdata Forsker
19. oktober 2000 - 17:15 #7
Og så den korte:

Found=False
if Dlookup(\"[Felt1]\",\"Tabelnavn\",\"[Felt1]=\" & Me.Felt1) then Found=True
if Dlookup(\"[Felt1]\",\"Tabelnavn\",\"[Felt2]=\" & Me.Felt1) then Found=True
if Dlookup(\"[Felt1]\",\"Tabelnavn\",\"[Felt3]=\" & Me.Felt1) then Found=True
if Found then MsgBox ...

Avatar billede andersjensen Nybegynder
19. oktober 2000 - 18:31 #8
Hej alle

Jeg har nu fået noget af det til at virke, og arbejder videre med min database. i skal alle sammen have tusind tak for jeres fine svar det har hjulpet med videre med min viden omkring VBA kodning i access.


*SSSS* andersjensen
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
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

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