30. marts 2004 - 18:27Der 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 ?
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.
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.
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.
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
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.
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.
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?
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.
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!
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 ?
Den vil ikke tage dato linjen: DoCmd.RunSQL "UPDATE jubilæumsliste SET [danmarks lærerforening] = now() to date() WHERE [CPR nummer] = '" & Me![Cpr nummer] & "'"
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.