Avatar billede dane022 Seniormester
24. maj 2005 - 22:45 Der er 21 kommentarer

Vil kun opdatere tabel med øverste record fra formular

Min database er designet således at når en rapport åbnes via formularens kommandoknap, så vil der på de personer der er med i rapporten blive tilføjet dags dato i tabellen. Dette forhindrer at samme person kommer på rapporten 2 gange.
Før hen åbnede jeg rapporten direkte og der fungerede det, men nu ønsker jeg at samle åbningen af disse rapporter i en formular.
Det virker sådan set fint noko med nedenstående kode, men det er kun på den øverste record i rapporten at dags dato bliver overført. DoCmd.RunSQL "UPDATE jubilæumsliste SET [oversigt sendt til borgmester og trykkeri] = date()  WHERE [CPR nummer] = '" & Me![cpr nummer] & "'". Hvordan kan det være ?
Avatar billede terry Ekspert
25. maj 2005 - 12:47 #1
This is because only the active (selected) record is updated. If you move the record selector to the next record then you will see that it changes
Avatar billede dane022 Seniormester
25. maj 2005 - 19:08 #2
Kan det lade sig gøre at opdatere samtlige records ?
Avatar billede terry Ekspert
25. maj 2005 - 19:50 #3
You can try this method

Dim rs As Object

    Set rs = Me.RecordsetClone
   
    Do Until rs.EOF

        DoCmd.RunSQL "UPDATE jubilæumsliste SET [oversigt sendt til borgmester og trykkeri] = date()  WHERE [CPR nummer] = '" & rs![cpr nummer] & "'".
        rs.MoveNext
       
    Loop
Avatar billede dane022 Seniormester
25. maj 2005 - 21:57 #4
Ja, det virker. Mit næste problem er at formularen bygger på 2 forespørgsler, hvor ovennævnte kode køres med 2 forskellige kommandoknapper. Funktionen er næsten den samme, men på 2 forskellige rapporter. Det jeg kunne tænke mig var at når der blev trykket på den ene knap, så blev feltet [oversigt sendt til borgmester og trykkeri] opdateret. Med den anden knap skal det være feltet [besked sendt til hvidovre avis].
Så ovenstående kode virker fint når det er [oversigt sendt til borgmester og jubilar] der skal opdateres, men når det er [besked sendt til hvidovre avis], så sker opdateringen på de records der kommer fra den forespørgsel der egentlig hører til forespørgslen for [oversigt sendt til borgmester og trykkeri], fordi formularen bygger på denne forespørgsel. Håber det er til at forstå, for det er sgu svært at forklare
Avatar billede dane022 Seniormester
25. maj 2005 - 21:59 #5
Hvis det kunne lade sig gøre at lave delen med WHERE [cpr nummmer] om så [cpr nummer] hentes direkte fra rapporten.
Avatar billede terry Ekspert
26. maj 2005 - 12:13 #6
First I'm not sure what you mean with your comment 25/05-2005 21:59:05

This is an idea to upadte the records for those in the second report [oversigt sendt til borgmester og trykkeri]
Lets say the query for this is named qry1

"UPDATE SomeTable SET SomeField = Date() WHERE ID IN (SELECT ID FROM qry1)"

NOTE: This is NOT tested
Avatar billede terry Ekspert
26. maj 2005 - 20:57 #7
does the solve your problem?
Avatar billede dane022 Seniormester
26. maj 2005 - 23:07 #8
Jeg har ikke prøvet det endnu, men får det gjort imorgen
Avatar billede terry Ekspert
01. juni 2005 - 19:54 #9
status please?
Avatar billede dane022 Seniormester
01. juni 2005 - 21:36 #10
Undskyld med tiden. Jeg prøver med følgende linje:
DoCmd.RunSQL "UPDATE jubilæumsliste SET Oversigt_sendt_til_borgmester_og_trykkeri = Date() WHERE ID IN (SELECT ID FROM alle til borgmesteren (datobegrænsning))"
Den siger der er en syntaksfejl i forespørgselsudtrykket ID IN (SELECT ID FROM "alle til borgmesteren (datobegrænsning))"
Avatar billede terry Ekspert
02. juni 2005 - 12:12 #11
DoCmd.RunSQL "UPDATE jubilæumsliste SET Oversigt_sendt_til_borgmester_og_trykkeri = Date() WHERE ID IN (SELECT ID FROM [alle til borgmesteren])"
Avatar billede dane022 Seniormester
02. juni 2005 - 21:00 #12
Nu får jeg fejlmeddelsen "handlingen skal bruge en opdaterbar forespørgsel"
Avatar billede terry Ekspert
09. juni 2005 - 19:56 #13
OK, another idea!

Make a query where you have the table jubilæumsliste and [alle til borgmesteren]. Join the two tables on ID. This should be an INNER join so that only records where the same ID's exist in both tables/queries.

Now change this to an update query where you update Oversigt_sendt_til_borgmester_og_trykkeri = Date
Avatar billede dane022 Seniormester
09. juni 2005 - 22:53 #14
Vil dette også kunne gøre at jeg kan få forespørgslen "alle til hvidovre avis" og få opdateret [besked sendt til Hvidovre avis] med date() ?
Avatar billede terry Ekspert
22. juni 2005 - 19:33 #15
you got me there dane022!

where does "alle til hvidovre avis" come into the picture? Arent we going off the original track somewhere?
Avatar billede dane022 Seniormester
22. juni 2005 - 21:44 #16
Det kan måske føles sådan, eller også har jeg ikke forklaret mig ordentligt. Der har været 2 forespørgsler, (alle til borgmesteren) og (alle til hvidovre avis). Dem har jeg nu kombineret i en forespørgsel der hedder (kombination). Skal jeg nu kombinere tabellen jubilæumsliste og forespørgslen kombination i en inner join ?
Avatar billede dane022 Seniormester
22. juni 2005 - 21:58 #17
Det ser faktisk ud til at din kommentar 25/05-2005 19:50:17 virker sammen med den nye forespørgsel (kombination)
Avatar billede dane022 Seniormester
22. juni 2005 - 22:21 #18
Jeg skulle ikke slippe helt for problemer. Når jeg trykker på den første kommandoknap, så opdaterer den i jubilæumslisten som den skal. Når jeg trykker på kommandoknap nr. to, så opdaterer den ikke jubilæumslisten. Kun hvis jeg forlader formularen og åbner den igen, vil den opdatere ordentligt.
Det er lige meget hvilken rækkefølge jeg trykker på kommandoknapperne og jeg har prøvet at indsætte docmd.runcommand.accmdsaverecord
Avatar billede terry Ekspert
23. juni 2005 - 08:42 #19
You maybe need to update the form

me.requery
Avatar billede dane022 Seniormester
23. juni 2005 - 20:22 #20
Det hjalp ikke. Er der et bestemt sted i koden den skal sættes ind ?
Avatar billede terry Ekspert
23. juni 2005 - 21:26 #21
dane022 we've been at this quite some time now so I dont think we are going to get much closer with me having a look at your database. If you can send me it then I will have a look when I get some time. If you can also give a thorough explanation as to what I need to look at etc. then this will make things much easier.

eksperten@NOSPAMsanthell.dk
remove NOSPAM
there may go a few days before I get around to it if this weather keeps up :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