Avatar billede dane022 Seniormester
30. marts 2004 - 18:27 Der er 38 kommentarer og
3 løsninger

Automatisk forhindring af at person kommer på rapport 2 gange

Jeg har en database hvor der en gang imellem skal udtrækkes en rapport. Der er et felt i formularen der afgør om personerne i databasen skal med på rapporten eller ej. For at personerne ikke skal komme med på udtrækket 2 gange, er man så også nødt til at indsætte en markering ekstra.
Er der en metode der kan sørge for at personen kun kommer med på udtrækket én gang, udover manuel indberetning ?
Avatar billede terry Ekspert
30. marts 2004 - 19:05 #1
I'm not sure HOW you are openning the report, but som ehow or other you will need to set th enew (exta) field as soon as the report is opened and I would suggest that you do this from a form using an update query.
Avatar billede terry Ekspert
30. marts 2004 - 19:07 #2
I can imagine that you have a query which you use in the report so you know which records which you are shoing on the report. Therefore you should know which records you need to update the new field.
Avatar billede dane022 Seniormester
30. marts 2004 - 20:44 #3
Rapporten åbnes for sig selv, hvis det er det du mener. Den åbnes ikke i forbindelse med formularen, men kører for sig selv. Jeg har en forespørgsel der sørger for at medtage recorden i rapporten hvis felt 1 er udfyldt og sørger for at udelukke den hvis felt 2 også er udfyldt.
Mit problem er at jeg gerne ville have at felt2 blev udfyldt, når recorden blev medtaget i rapporten.
Avatar billede terry Ekspert
30. marts 2004 - 20:49 #4
There are a number of events in a report it should be possible to us esomething like

Docmd.runsql "UPDATE YourTable SET Somefield = 1 WHERE ID = " & Me.id
Avatar billede terry Ekspert
30. marts 2004 - 20:50 #5
Try it in the Detail_Print event!
Avatar billede dane022 Seniormester
30. marts 2004 - 21:00 #6
Jeg har indsat flg linje i on print i egenskaber for detaljer:
Private Sub Detaljesektion_Print(Cancel As Integer, PrintCount As Integer)
DoCmd.RunSQL "UPDATE jubilæumsliste SET Somefield = now() WHERE ID = " & Me.Danmarks_Lærerforening
End Sub
Den giver mig fejl. Det felt jeg vil have den skal skrive i (danmarks lærerforening), der vil jeg gerne have at den indsætter dags dato.
Tabellen hedder jubilæumsliste
Avatar billede terry Ekspert
30. marts 2004 - 21:10 #7
which field do you want to update to Now()?
Which field is the primary key for the record so I know which record to update?
Avatar billede dane022 Seniormester
30. marts 2004 - 21:13 #8
Feltet danmarks lærerforening, skal opdateres til dags dato

cpr nummer er den primære nøgle
Avatar billede terry Ekspert
30. marts 2004 - 21:18 #9
DoCmd.RunSQL "UPDATE jubilæumsliste SET [danmarks lærerforening] = now() WHERE CPR = '" & Me.CPR & "'"

You need to make sure that the names of the fields are correct!
Avatar billede terry Ekspert
30. marts 2004 - 21:21 #10
you can also alter now() (date time) to date() which only gives the date
Avatar billede dane022 Seniormester
30. marts 2004 - 21:27 #11
Flg linje er indsat i detaljesektionens egenskaber:

DoCmd.RunSQL "UPDATE jubilæumsliste SET [danmarks lærerforening] = now() WHERE CPR nummer = '" & Me.CPR nummer & "'"

Den kommer med syntax fejl
Avatar billede terry Ekspert
30. marts 2004 - 21:48 #12
Its not easy to see what is wrong! Can you send me your dB?

NOSPAMeksperten@santhell.dkNOSPAM

remove NOSPAM
Avatar billede terry Ekspert
30. marts 2004 - 21:53 #13
DoCmd.RunSQL "UPDATE jubilæumsliste SET [danmarks lærerforening] = now() WHERE [CPR nummer] = '" & Me.[CPR nummer] & "'"


Its ALWAYS a good idea NOT to have spaces in field names!
Avatar billede terry Ekspert
30. marts 2004 - 21:58 #14
Now I'm off for the night!
Avatar billede terry Ekspert
31. marts 2004 - 13:51 #15
dane022 what is the status on this question?
Avatar billede dane022 Seniormester
31. marts 2004 - 16:40 #16
Jeg får fejlmeddelse hvor der står at den ikke kan finde feltet danmarks lærerforening. Men det er stensikkert at der er et felt der hedder det i tabellen jubilæumsliste.
Avatar billede dane022 Seniormester
31. marts 2004 - 18:13 #17
Rettelse: Det er med feltet cpr nummer jeg får fejl
Avatar billede terry Ekspert
31. marts 2004 - 18:59 #18
But is this field in the report?
I dont think we are going to get very far without me looking at your dB if that is possible!
Avatar billede dane022 Seniormester
31. marts 2004 - 19:00 #19
Mailede jeg den ikke til dig igår ?
Avatar billede terry Ekspert
31. marts 2004 - 19:19 #20
OK, daen022!
I have received a mail now, just could see who it was from!
Avatar billede terry Ekspert
31. marts 2004 - 19:40 #21
dane022>The answer I gave 30/03-2004 21:53:05 is correct!

NOTE >>>>>[CPR nummer]

You should NOT have spaces in field names.
Avatar billede dane022 Seniormester
31. marts 2004 - 19:43 #22
Har du løst problemet i den database jeg sendte ?
Avatar billede terry Ekspert
31. marts 2004 - 19:47 #23
OK, you need to add the [CPR nummer] field to your report, If you dont want to see it then set the visible property to NO
Avatar billede dane022 Seniormester
31. marts 2004 - 19:54 #24
Flg linje er indsat i rapporten:
DoCmd.RunSQL "UPDATE jubilæumsliste SET [danmarks lærerforening] = now() WHERE [CPR nummer] = '" & Me.[Cpr nummer] & "'"
Fejlmeddelse: "Microsoft access cant find the field reffered to in your expression"
Jeg har sat feltet cpr nummer ind.
Avatar billede terry Ekspert
31. marts 2004 - 20:08 #25
I'll alter the the dB you sent and send it back!
Avatar billede terry Ekspert
31. marts 2004 - 20:12 #26
I forgot to say! Setting [danmarks lærerforening] = now() does NOT stop the person being in the report 2 times! I think you need to set "Afsluttet" to yes also, is this correct?
Avatar billede terry Ekspert
31. marts 2004 - 20:16 #27
Or you need to alter th equery so that only records where [[danmarks lærerforening] = Null are inlcuded.
Avatar billede terry Ekspert
31. marts 2004 - 20:17 #28
I have sent your dB return
Avatar billede dane022 Seniormester
31. marts 2004 - 20:19 #29
Afsluttet vil få personen til at forsvinde fra formularen "jubilæumsliste alle aktive". Den har ikke noget med rapporten "danmarks lærerforening" at gøre.
Jeg prøvede at slette cpr nummer i den kode linje du har skrevet længere oppe:
DoCmd.RunSQL "UPDATE jubilæumsliste SET [danmarks lærerforening] = now()
Da jeg gik ind på rapporten, kom den med en advarsel om at der ville blive opdateret 5 felter, dvs alle personer i databasen. Det sagde jeg ja til og så havde den skrevet både tid og dato i feltet danmarks lærerforening, så det er et skridt på vejen til det rigtige, det skal bare kun være på dem der har flueben i "til danmarks lærerforening" der skal have sat datoen i og der skal kun sættes dato i feltet.
Avatar billede dane022 Seniormester
31. marts 2004 - 20:22 #30
Der er en syntaksfejl i den db du har sendt retur
Avatar billede terry Ekspert
31. marts 2004 - 20:30 #31
I think we are gettin things mixed up here!

WHERE is the field "til danmarks lærerforening" ?

IF there is a field "til danmarks lærerforening" then thsi MUST also be set to true (flueben). THis also means that the query which your report uses "Til leder/forvaltning plus diverse" must also be changed so that the records where "til danmarks lærerforening" is set to TRUE are NOT included in the report.
Otherwise you will be allowed to set the date again!

I hope you understand this!
Avatar billede terry Ekspert
31. marts 2004 - 20:34 #32
Silly me!
This is how the cod eshould look

DoCmd.SetWarnings False
    DoCmd.RunSQL "UPDATE jubilæumsliste SET [danmarks lærerforening] = now()  WHERE [CPR nummer] = '" & Me![Cpr nummer] & "'"
    DoCmd.SetWarnings True
Avatar billede terry Ekspert
31. marts 2004 - 20:40 #33
I need you to look at the comment 31/03-2004 20:30:17
Avatar billede dane022 Seniormester
31. marts 2004 - 20:40 #34
Nu begynder det at ligne noget. Den opdaterede feltet "danmarks lærerforening" af sig selv på den ene person den skulle. Men der stårbåde tid og dato i feltet, hvordan får jeg den til kun at skrive dato ?
Avatar billede terry Ekspert
31. marts 2004 - 20:44 #35
alter now() to date() >> See my comment 31/03-2004 20:30:17 :o)
Avatar billede terry Ekspert
31. marts 2004 - 20:47 #36
can you also respond to this question http://www.eksperten.dk/spm/482287? thanks!
Avatar billede dane022 Seniormester
31. marts 2004 - 20:50 #37
Den vil ikke tage dato linjen:
DoCmd.RunSQL "UPDATE jubilæumsliste SET [danmarks lærerforening] = now() to date() WHERE [CPR nummer] = '" & Me![Cpr nummer] & "'"

Det virker som det skal udover datoen
Avatar billede terry Ekspert
31. marts 2004 - 20:51 #38
!!!!
DoCmd.RunSQL "UPDATE jubilæumsliste SET [danmarks lærerforening] = date() WHERE [CPR nummer] = '" & Me![Cpr nummer] & "'"
Avatar billede terry Ekspert
31. marts 2004 - 20:52 #39
This IS taking a Looooong time :o)
Avatar billede dane022 Seniormester
31. marts 2004 - 20:53 #40
Ja ja men nu er den der og du får point
Avatar billede terry Ekspert
31. marts 2004 - 21:04 #41
thanks and dont forget  http://www.eksperten.dk/spm/482287
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