Avatar billede xzaboo Praktikant
21. december 2004 - 14:51 Der er 23 kommentarer og
1 løsning

Automatisk visning af aktuel post mellem formularer

Hej alle sammen..
Jeg sidder fast i et mindre problem.
Jeg har 2 formularer. Det ene er en "Indtastnings" formular, og den anden er en "Disponerings" formular. Nu er det så, at jeg gerne vil have det til at fungere sådan, at hvis jeg fx. har haft fat i en post i "Indtastnings" formularen, så er denne markeret (eller aktiv) når så åbner min "Disponerings" formular. Det modsatte skal også gælde. Hvis jeg har kaft markøren i en af posterne på "Disponering" formularen, så skal denne post være vist, når jeg så åbner min "Indtastnings" formular.

Mvh. Steffen Kristensen
Avatar billede mugs Novice
21. december 2004 - 14:53 #1
DoCmd.OpenForm "Form2"
Forms!Form2!Felt1.SetFocus
DoCmd.FindRecord Me!Felt1
Avatar billede mugs Novice
21. december 2004 - 14:56 #2
Koden indsætter du på en kommandoknap i indtastniongsformularen. Koden vil herefter åben en anden form (Form2) i den post du stod på i "instastningsformular". Når du lukker "Form2" vil de vende tilbage til "indtastningsfromular" i den post du forlod.
Felt1 er et unikt felt for den pågældende post i begge formularer.

Hvis du har ændret på posten skal du bruge en refresh til at lagre de nye data i tabellen. Har du tilføjet en ny post, som du vil åbne i en anden formular, skal du muligvis benytte en Requery. Gør du det, må du lige vende tilbage med en kommantar.
Avatar billede xzaboo Praktikant
21. december 2004 - 15:40 #3
MAnge tak mugs.. lyder rigtig godt.
Ja, der vil nok blive oprettet nye poster, og nok også ændret i nogle dataer engang imellem.
Er det nødvendigt med det der unikke felt, da jeg i Disp. ikke har vist det felt der lige netop gør posten unik, men jeg kunne vel self. bare indsætte dette felt, og så ikke lade det være synligt !?
Avatar billede mugs Novice
21. december 2004 - 15:44 #4
Det er nødvendigt med et unikt id, idet Access jo ellers ikke ved, hvilken post den skal lede efter.

Dette felt SKAL desuden være synligt, idet der jo skal sættes focus på feltet. Men du kan jo blot undlade at sætte en etiket på, samtidig lade baggrundsfarven være den samme som formularen, så vil du faktisk ikke kunne se feltet.
Avatar billede xzaboo Praktikant
22. december 2004 - 09:25 #5
Okay, det vil jeg så prøve, men jeg er stødt på et lille problem.
Jeg kan godt få det til at virke i nogen tilfælde, men jeg har valgt et Dato felt i begge de to formularer. Men det er ikke alle af posterne der bliver vist, men nogen af dem virker det okay nok for, det virker fuldstændigt åndsvagt. ingen felter er skjulte eller noget.
Avatar billede mugs Novice
22. december 2004 - 09:28 #6
Har du ændret i de poster der ikke fungerer?
Avatar billede xzaboo Praktikant
22. december 2004 - 13:17 #7
Nej, nogen af dem havde jeg ikke redigeret i på nogen måde! Du snakkede om at jeg skulle benytte noget Requery!? Kan det være dette der mangler for at jeg kan se dem alle?
Avatar billede mugs Novice
22. december 2004 - 14:08 #8
Får formularerne data fra samme postkilde?

Requery genforespørger den underliggende forespørgsel, og medtager således rettelser / nye poster. Kan du sende din db til:

mugs@mail.dk

så vil jeg se på den. Husk at zippe den.
Avatar billede xzaboo Praktikant
22. december 2004 - 15:36 #9
Mange tak for tilbuddet, men jeg prøver lige først.
Jeg har stødt på det problem, at når jeg vil skrive min form2 i:

DoCmd.OpenForm "Form2"
Forms!Form2!Felt1.SetFocus
DoCmd.FindRecord Me!Felt1

Så kan jeg ikke dette, da denne hedder Transport Indtastning, og jeg ikke ved hvordan jeg får det der mellemrum med. Jeg har prøvet med " og ', men disse virker ikke til at være brugbare.
Avatar billede mugs Novice
22. december 2004 - 15:40 #10
[Transport Indtastning]

Aldrig mellemrum i objektnavne - ALDRIG :o)
Avatar billede mugs Novice
22. december 2004 - 15:43 #11
Avatar billede xzaboo Praktikant
26. december 2004 - 13:15 #12
Okay, mange tak.. og det virker fint nu..
Skal nok huske det med navnene til en anden gang :S
Avatar billede xzaboo Praktikant
26. december 2004 - 16:44 #13
Hej igen.. jeg har lige et lille ekstra spørgsmål.
Hvor henne skal jeg tilføje Requery sætningen i følgende kode:
   
    DoCmd.OpenForm "Tranport Disponering"
    Forms![Tranport Disponering]![RmTrNo].SetFocus
    DoCmd.FindRecord Me![RmTrNo]
    DoCmd.GoToControl "[Dato]"

Således at man efter "opdatering" står i den samme post.
Avatar billede mugs Novice
26. december 2004 - 17:07 #14
Me.requery skal ligge før du begynder at åbne den anden formular. Men denne kommando får markøren til at stå på den første post i forespørgslen / Tabellen, med mindre du fretager dig et eller andet. Prøv denne:

Dim bookm
bookm = Me.Bookmark
Me.Requery
Me.Bookmark = bookm
DoCmd.OpenForm "Tranport Disponering"
Forms![Tranport Disponering]![RmTrNo].SetFocus
DoCmd.FindRecord Me![RmTrNo]
DoCmd.GoToControl "[Dato]"
Avatar billede xzaboo Praktikant
28. december 2004 - 15:09 #15
Hejsa igen.. jeg har lige prøvet denne kode, og får en fejlmeddelelse hvor den sige:

Run-Time Error '3159':
Det er ikke et gyldigt bogmærke.
Avatar billede xzaboo Praktikant
28. december 2004 - 15:14 #16
Lige en ting til. Jeg har fundet ud af, at hvis jeg laver en ændring i en post, så er den eneste måde jeg kan se denne ændring, hvis jeg går en post frem, og så en post tilbage, hvorefter jeg trykker på knappen som har:
   
    DoCmd.OpenForm "Tranport Disponering"
    Forms![Tranport Disponering]![RmTrNo].SetFocus
    DoCmd.FindRecord Me![RmTrNo]
    DoCmd.GoToControl "[Dato]"

Kunne man ikke lave en kode som gjorde denne handling, eller ville dette være en lidt for dum løsning!?
Avatar billede mugs Novice
28. december 2004 - 15:30 #17
"Run-Time Error '3159':
Det er ikke et gyldigt bogmærke."
Denne fejl siger mig intet. Hvad siger hjælpen?

Når du ændrer en post, skal du køre den underliggende forespørgsel igen, før ændringerne slår igennem. Når du skifter en post frem og tilbage igen, svarer det netop til at køre forespørgslen: Me.Requery.
Avatar billede xzaboo Praktikant
28. december 2004 - 18:36 #18
Okay tak, det virker fint nu, efter jeg blot har indsat Me.Requery i starten af koden.
Avatar billede mugs Novice
28. december 2004 - 18:38 #19
Ja det burde det også, men bemærk at du ikke bliver på samme post efter en Requery.
Avatar billede xzaboo Praktikant
29. december 2004 - 11:38 #20
OKay, det fandt jeg ud af. Det mærkelig er bare, at igår havde jeg det til at virke med at den blev i samme post mens der blot var tilføjet Me.Requery.
Jeg har nu prøvet at indsætte den som gav en fejlmeddelelse. Den kommer stadig med en fejlmeddelelse, men det holder den op med, hvis jeg blot rykker fra et felt til et andet med fx. tabulatoren. Er dette noget man kan gøre noget ved?
Avatar billede xzaboo Praktikant
29. december 2004 - 11:43 #21
Lige en ting til, når jeg går fra min Transport Indtastning til Transport Disponering, så virker dette overhovedet ikke.
Avatar billede mugs Novice
29. december 2004 - 11:46 #22
Jeg har ikke mere tid nu. Du kan stadig sende db, så ser jeg på det senere idag. Husk at zippe
Avatar billede xzaboo Praktikant
31. december 2004 - 13:30 #23
Okay, mange tak. Jeg kiggede lige lidt omkring herinde, og fandt nogle oplysninger jeg kunne bruge. Jeg læste et indlæg af thomasjepsen, hvor han fortæller at Me.Refresh er bedre, da denne ikke springer til post nr. 1.
http://eksperten.dk/spm/454359

Godt nytår..
Avatar billede mugs Novice
31. december 2004 - 17:11 #24
Også et Godt Nytår til dig.

Refresh opdaterer en eksisterende post, men jeg mener ikke, at den tilføjer en ny post i tabellen. Se min kommentar 21/12 Kl 14:56
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