Avatar billede lbc Seniormester
09. januar 2008 - 21:39 Der er 4 kommentarer

Opdatere en formular baseret på en krydstabulering

Databasen er et timesagsregnskab
Jeg har en formular, der består af en hovedformular (medarbejdernr., m.v), en underformular1 hvor timer indtastes på medarbejder, sag, dato, mv.) samt ednu en underformular2, der en en krydstabulering hvor der 31 kolonner (dage) og variabelt sagsnr som rækker. I matrixen vises timerne der er indtastet for den valgte periode. Det virker fint. Men jeg kan ikke få underformular2 til dynamisk at opdatere. Jeg er nødt til at lukke og genåbne. Kan det være rigtigt? Har prøve med refresh, opdater (true). Køre den underliggende krydstabuleringsforep. og lukke den igen via vba. Men uden succes
Har nogen af jer et forslag
LB
Avatar billede mugs Novice
09. januar 2008 - 22:03 #1
En refresh opdaterer allerede eksisterende poster, men tilføjer ikke nye poster. Dertil skal du bruge en Requery.

Men først skasl du nok sæte focus på din underformular med en kommando i denne stil:

Me.underformularens navn.Setfocus
Avatar billede lbc Seniormester
10. januar 2008 - 00:07 #2
Jeg får en Run-time error 2109 med følgende forklaring:
"Der findes ikke et felt med navnet "Kryds-Arbejdstimer-Matrix" i den aktuelle post"
Koden ser således ud
---------------
Private Sub Faktureringstimer_AfterUpdate()
    DoCmd.Requery "Kryds-Arbejdstimer-Matrix" (Krydstabuleringsforespørgslen)
    Me.[IndtastArbejdssedler-Under-Matrix2].Form!.SetFocus (Underformularen)
    Me.Refresh
---------
Har prøvet med andre måder at skrive formularbetegnelsen på. Også sat et feltnavn ind i slutningen??
Avatar billede Slettet bruger
10. januar 2008 - 08:06 #3
Den store hammer!~)

Private Sub Faktureringstimer_AfterUpdate()
form_IndtastArbejdssedler-Under-Matrix2.sourceobject = "IndtastArbejdssedler-Under-Matrix2"
End Sub

Jeg ved ikke lige om vb har noget imod "-" jeg bruger dem aldrig selv....
Avatar billede lbc Seniormester
10. januar 2008 - 11:22 #4
Hej spg. Tak for svar
Har prøvet at indsætte din "form_" sætning. Der kommer en compile error: invalid use of property
I nedenstående (ved *)som jeg selv har kreeret, er fejlmeddelelsen: "Run-time error 2465. Access kan ikke feltet | som der refereres til"
I øvrigt giver Requery også en fejl. Derfor er den passivet nedenfor. Du kan måske se fejlen. Jeg har ikke tidligere haft problemer med ”-” i navne

Kan du lokkes til at tilrette nedenstående eller skrive en vb-kode, som
Kører forespørgslen "Kryds-Arbejdstimer-Matrix" – baggrunden
Opdaterer formularen ”IndtastArbejdssedler-under-Matrix2” som er en underformular

Private Sub Faktureringstimer_AfterUpdate()
    DoCmd.SetWarnings False
    DoCmd.OpenQuery "Kryds-Arbejdstimer-Matrix", acViewPreview, acReadOnly
    DoCmd.Close acQuery, "Kryds-Arbejdstimer-Matrix"
    'DoCmd.Requery "Kryds-Arbejdstimer-Matrix"
  *) [IndtastArbejdssedler-Under-Matrix2].Form!.SourceObject = "IndtastArbejdssedler-Under-Matrix2"
    Me.Refresh
End Sub
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