Avatar billede jette1 Nybegynder
26. april 2002 - 17:08 Der er 6 kommentarer og
1 løsning

Undgå opdatering

Jeg har lidt problemer med en skoleopgave, som følger:

Jeg har en formular (medarbejdere) med to felter:

Medarbejderinitialer
Medarbejdernavn

På formularen er også en underformular (Sager) med følgende felter:

Sagsnr
Sagsnavn
Klientnummer
Medarbejderinitialer (skjult)

Når jeg på overformularen vælger en medarbejder, kommer de sager der tilhører denne medarbejder fint frem i underformularen. Men i det øjeblik jeg forsøger at indtaste en ny sag i underformularen, kommer den med en meddelelse om at den ikke kan indsætte dubplikerede data i tabellen... og det er jo fordi den forsøger at opdatere min medarbejdertabel når fokus flyttes til underformularen.

Hvordan kan jeg undgå det?

26. april 2002 - 17:14 #1
Du kan IKKE undgå at den gemmer tabellen i hovedformularen, når du hopper ned i underformularen.

Jeg tror, at dit problem er, at du siger, at du "Vælger" en medarbejder på hovedformularen! Hvis hovedformualren er bundet til Medarbejder-tabellen, så kan du ikke bare "Vælge" en medarbjder. I det øjeblik, du ændre feltet "Medarbejderinitialer", så ændre du jo posten. Og derved opstår fejlen, fordi samme bruger står i 2 poster. Kan du følge mig?

Løsningen er at du ikke vælger medarbejderen på Medarbejderinitialer-feltet, men i stedet hopper til den aktuelle post.

/Thomas
Avatar billede jette1 Nybegynder
26. april 2002 - 17:44 #2
Kan man ikke nøjes med at åben Medarbejderoplysningerne som et Snapshot eller sådan noget .. Ville det ikke forhindre data i at blive opdateret?
Avatar billede jette1 Nybegynder
26. april 2002 - 18:13 #3
Er det en idé at oprette nogle ubundne kombinationsbokse med medarbejderoplysningerne?
Avatar billede mugs Novice
26. april 2002 - 18:45 #4
Hvis de 2 formularer kommer fra samme tabel, skal det gå galt idet jeg antager at feltet Medarbejderinitialer enten er primær nøgle eller er indekseret. Du kan løse problemet ved at oprette endnu en tabel med de forskellige sagsakter vedr. medarbejderen. Denne tabel kan vi Sager. Tabellen må ikke have Medarbejderinitialer sonm primær nøgle eller være indekseret.

Heri har du en kombinationsboks der "plukker" medarbejderinitialer fra den tabel, der udelukkende indeholder data om medarbejderen.
Når du lader din underformular få data fra tabellen Sager og ubnderformularens felt Medarbejderinitialer kommer herfra, er det tabellen Sager der opdateres.
26. april 2002 - 19:45 #5
Jette-> Jo, hvis du opretter en ubunden komboboks med alle medarbejderne, (med egenskaben "bundet kolonne" svarende til Medarbejderinitialer) så kan du lægge denne kode på EfterOpdatering på komboboksen:


Private Sub comboMedarbejder_AfterUpdate()
If Me!comboMedarbejder = "" then
  me.filteron = false
else
  Me.filter = "MedarbejderInitialer = '" & Me!comboMedarbejder & "'"
  Me.Filteron = True
endif
End sub
Avatar billede jette1 Nybegynder
26. april 2002 - 23:05 #6
mugs -> De to formularer kommer ikke fra samme tabel. Den ene formular indeholder tabellen Medarbejdere der har to felter (Medarbejdernavn og medarbejderinitialer). Den anden tabel (Sager) indeholder felter som beskrevet i mit første indlæg.
Medarbejderfelterne bruger jeg til at vælge en medarbejder, hvorefter denne medarbejders sager bliver vist i underformularen hvor man også kan tilføje sager.
Da Medarbejderfelterne kun bliver brugt til at vælge, er det et problem at formularen forsøger at opdatere denne tabel, så snart fokus flyttes til underformularen.
Avatar billede jette1 Nybegynder
26. april 2002 - 23:06 #7
Thomas -> Alletiders!! Det virker perfekt ... Jeg vidste du kunne trylle noget frem :-)
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