Avatar billede frederikschack Nybegynder
10. august 2010 - 15:10 Der er 5 kommentarer og
1 løsning

Opdatering af felter i form

Jeg har et problem med at få felterne til at opdatere, når jeg laver en requery.

Jeg har bl.a. prøvet:
1------- Virkede i starten, men holdt op med at virke:
Private Sub FloejMateriale_AfterUpdate()
    DoCmd.RunCommand acCmdSaveRecord
    FloejSkadetype.Value = 0
    FloejSkadetype.Requery
    FloejAarsag.Value = 0
    FloejAarsag.Requery
    FloejUdvikling.Value = 0
    FloejUdvikling.Requery
    FloejKarakter.Value = UdregnKarakter(FloejAarsag.Value, FloejUdvikling.Value, FloejOmfang.Value, FloejFunktion.Value, FloejKonsekvens.Value)
End Sub

2------- Ingen effekt
Dim crId As Integer
crId = Me.CurrentRecord
Me.Requery
DoCmd.GoToRecord , , acGoTo, crId
.
.
.

3------- Virkede i starten, men virker ikke mere og gør i øvrigt at man bliver smidt tilbage til den første post:
Me.Requery
Avatar billede frederikschack Nybegynder
10. august 2010 - 16:24 #1
Det ser ud til at fejlen ligger et andet sted....

Virker på et felt der henter data ind med følgende:
SELECT SkadetypeVurdering.Skadetype, Skadetyper.Skadetype
FROM Generaleftersyn INNER JOIN (Skadetyper INNER JOIN SkadetypeVurdering ON Skadetyper.SkadetypeId = SkadetypeVurdering.Skadetype) ON Generaleftersyn.SkraaningMateriale = SkadetypeVurdering.Materiale
GROUP BY SkadetypeVurdering.Skadetype, Skadetyper.Skadetype;

Men virker ikke på et felt der henter data ind med følgende:
SELECT SkadetypeVurdering.Skadetype, Skadetyper.Skadetype
FROM Generaleftersyn INNER JOIN (Skadetyper INNER JOIN SkadetypeVurdering ON Skadetyper.SkadetypeId = SkadetypeVurdering.Skadetype) ON Generaleftersyn.FloejMateriale = SkadetypeVurdering.Materiale

Den eneste forskel er hvilket felt der bliver joinet på, nemlig Generaleftersyn.FloejMateriale og SkadetypeVurdering.Materiale.

Den ene filtrer dataene korrekt, men det gør den anden ikke.
GROUP BY SkadetypeVurdering.Skadetype, Skadetyper.Skadetype;
Avatar billede frederikschack Nybegynder
10. august 2010 - 16:25 #2
Ups

Den eneste forskel er hvilket felt der bliver joinet på, nemlig Generaleftersyn.FloejMateriale og Generaleftersyn.SkraaningMateriale.
Avatar billede mugs Novice
10. august 2010 - 17:24 #3
Ved en requery bliver du sendt til den første post. Det kan du komme ud af med denne:

Dim VARa As Long
DoCmd.GoToControl "id"
VARa = Me.id
Me.Requery
DoCmd.FindRecord VARa, acEntire, False, , True, acCurrent, True

Feltet id er tabellens primære nøgle.
Avatar billede frederikschack Nybegynder
10. august 2010 - 22:03 #4
Ok, vil lige teste det i morgen.
Avatar billede frederikschack Nybegynder
11. august 2010 - 09:20 #5
Hej Mugs,

DoCmd.RunCommand acCmdSaveRecord før man laver en requery, ser også ud til at virke. Fejlen lå et andet sted.

Men jeg tror også at dit forslag virker, så point til dig :)
Avatar billede mugs Novice
11. august 2010 - 14:16 #6
Tak.
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





White paper
Optimering af Source-to-Pay: Identificér oplagte gevinster og skær omkostninger