Avatar billede taio Novice
29. september 2002 - 10:16 Der er 13 kommentarer og
3 løsninger

Opdatere tabel i formular

Hej alle

Jeg har et lille problem, når jeg står i min formular og har indtastet tal i en post. Vil jeg gerne åbne en anden formular samtidig. Den anden formular benytter samme poster. Jeg får en fejl ved åbning af den anden formular.

Hvis jeg lukker den første formular, og derefter åbner den igen, og så åbner den anden formular, kan det godt lade sig gøre.

Det er lige som om at tabllen ikke bliver opdateret, så posterne er fri til brug.

Jeg har brugt "opdate" efter udgang af posten.

Hjælp

\\Taio
Avatar billede dm013 Nybegynder
29. september 2002 - 10:20 #1
har du prøvet at indsætte 
form.requery
inden du beder om at åbne ny formular
Avatar billede mugs Novice
29. september 2002 - 10:21 #2
Tabellen bliver først opdateret med den nye post når du forlader posten. Det lyder som om, at din update-sætning ligger efter åbning af den anden formular.

Først Update og derefter Docmd.Openform "formularnavn" og derefter kriterie.

Hvis du kun retter i en post kan du nøjes med Me.Refresh og Do.cmd.Openform
Avatar billede mugs Novice
29. september 2002 - 10:23 #3
dm013 > Ved Requery køres forespørgslen igen, og formularen viser den føærste post i forespørgslen afhængig af sorteringen, derfor nytter kommandoen ikke, da taio ønsker at åbne den anden formular i den første formulars post (Så vidt jeg har forstået).
Avatar billede dm013 Nybegynder
29. september 2002 - 10:25 #4
oki
Avatar billede taio Novice
29. september 2002 - 10:43 #5
Her kommer lige lidt vba:

If KeyCode = vbKeyF10 Then
    If Kviksalg = 0 Then
        If Splitregning = -1 Then
        DoCmd.OpenQuery "q_sletsplitover"
        DoCmd.OpenQuery "q_sletsplitunder"
        SendKeys "{f9}", -1
        DoCmd.OpenQuery "q_flytsplitover"
        DoCmd.OpenQuery "q_flytsplitunder"
        SendKeys "{f9}", -1
        DoCmd.OpenForm "splitvaresalg", , , "id=" & Me![ID]
        KeyCode = 0
        Else
        End If
    Else
    End If
End If

Når jeg taster F10 skal den åbne den anden formular. Hvor fejlmeddelsen lyder:
Kørselsfejl "3075"
Hvad gør jeg forkert??
Avatar billede mugs Novice
29. september 2002 - 10:53 #6
Jeg har aldrig brugt kommandoerne "SendKeys" eller "Keycode", så der kommer jeg til kort.

Hvis det er en ny post du tilføjer, mangler du vel din Update inden du åbner formulaten "splitvaresalg".
Avatar billede jkrons Professor
29. september 2002 - 12:11 #7
Jeg kan ikke i hvoedet huske en kørselsfejl 3075, men hvis det skyldes at der ikke er opdateret, kan du lægge denne linie kode ind, først i rutinen.

DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70

Den sikrer at posten eller ændringer til den er gemt før andre handlinger udføres.
Avatar billede taio Novice
29. september 2002 - 13:52 #8
Hvor vil du sætte den ind??

DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70
Avatar billede jkrons Professor
29. september 2002 - 17:31 #9
If KeyCode = vbKeyF10 Then
DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70
        If Kviksalg = 0 Then
        If Splitregning = -1 Then
        DoCmd.OpenQuery "q_sletsplitover"
        DoCmd.OpenQuery "q_sletsplitunder"
        SendKeys "{f9}", -1
        DoCmd.OpenQuery "q_flytsplitover"
        DoCmd.OpenQuery "q_flytsplitunder"
        SendKeys "{f9}", -1
        DoCmd.OpenForm "splitvaresalg", , , "id=" & Me![ID]
        KeyCode = 0
        Else
        End If
    Else
    End If
End If
Avatar billede taio Novice
29. september 2002 - 18:00 #10
Det virker ikke, har prøvet.

Kørselsfejl 3075 = Der er en syntakstfejl, fordi der mangler en operator, i forespørgslesudtrykket "id=",

Jeg tror selv at det har noget med at posten ikke er opdateret i tabellen...
Avatar billede mugs Novice
29. september 2002 - 18:48 #11
Når der mangler en operator, har dette ikke noget med at tabellen ikke er opdateret. Det er 2 forskellige ting. Prøv evt. at tilføje en post, luk formularen og åbn den igen, prøv så om du kan åbne formular2 og finde posten. Hvis den stadig mangler en operator, skal du søge efter en fejl der. Når den er løst, kan vi gå videre og fin en løsning på opdateringsproblemet.

Jeg plejer at bruge nedenstående kode, til at åbne formular 2, hvor felt1 skal matche samme felt i formular1:

DoCmd.OpenForm "Form2"
Forms!Form2!Felt1.SetFocus
DoCmd.FindRecord Me!Felt1
Avatar billede taio Novice
29. september 2002 - 18:54 #12
mugs=> når jeg tilføjer en post, lukker form1 og åbner den igen, åbner form2 virker det. MEN hvis ikke jeg lukker den og åbner den igen, virker det ikke. Jeg har prøvet at at kører sendkeys"{F9}" for update inden jeg åbner form2, uden held.
Avatar billede nih Novice
29. september 2002 - 23:15 #13
Har du prøvet en 'me.Requery' lige efter 'DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70'.
Problemmet er at formen ikke kender værdien af dit ID felt endnu.

Niels
Avatar billede taio Novice
29. september 2002 - 23:25 #14
Tak Niels

Det var bare det der skulle til, kun me.requery, ikke andet. Jeg giver dig 20 point, hvor de andre deler resten. Håber at det er ok, men de har været på sagen længe. Tak til i andre...!
Avatar billede jkrons Professor
30. september 2002 - 14:31 #15
Velbekomme! Tak for point.
Avatar billede nih Novice
30. september 2002 - 16:59 #16
:o)
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