Avatar billede dane022 Seniormester
13. april 2004 - 16:40 Der er 17 kommentarer og
1 løsning

Åbning af forskellige rapporter ved klik på knap

Jeg skal have lavet følgende i min database:
Databasen skal vælge mellem 2 forskellige rapporter, alt efter om der er sat flueben i feltet statsjubilæum.
På kommandoknappen der skal vælge mellem de 2 rapporter er indsat flg kode:

Private Sub Command53_Click()
If Me.statsjubilæum = no Then
DoCmd.RunCommand acCmdSaveRecord
DoCmd.OpenReport "til jubilar", acViewPreview, , "[jubilæumsliste]![cpr nummer]= '" & Me![Cpr nummer] & "'"
Else:
DoCmd.RunCommand acCmdSaveRecord
DoCmd.OpenReport "til statsjubilar", acViewPreview, , "[jubilæumsliste]![cpr nummer]= '" & Me![Cpr nummer] & "'"
End Sub

Jeg får en compile error. Hvad gør jeg galt ?
Avatar billede mugs Novice
13. april 2004 - 16:42 #1
Indsæt en End If lige før End Sub
13. april 2004 - 17:25 #2
og fjern : efter else
Avatar billede dane022 Seniormester
13. april 2004 - 17:34 #3
Det hjalp ikke at indsætte end if. Den siger "compile error. Method or data member not found"

Det har heller ikke hjulpet at fjerne : efter else
Avatar billede mugs Novice
13. april 2004 - 17:36 #4
Check for stavefejl i dine feltnavne.
Avatar billede mugs Novice
13. april 2004 - 17:37 #5
: efter Else fungerer hos mig.
Avatar billede mugs Novice
13. april 2004 - 17:40 #6
Du har 2 fejl:

Du SKAL have en End If når du starter en If. Det er den første fejl.

"compile error. Method or data member not found" får du når du har stavet et objektnavn forkert. Et Objekt kan være et felt, en rapport o.s.v. Det kan også skyldes, at feltet Cpr nummer ikke er at finde i din formular.
Avatar billede dane022 Seniormester
13. april 2004 - 17:46 #7
Jeg kan ikke se nogle stavefejl. Feltet i formularen har control source "statsjubilæum" og det hedder feltet også i tabellen og forespørgslen
13. april 2004 - 17:46 #8
Der i en fejl i :
DoCmd.OpenReport "til jubilar", acViewPreview, , "[jubilæumsliste]![cpr nummer]= '" & Me![Cpr nummer] & "'"


Den skal formentlig bare hedde:
DoCmd.OpenReport "til jubilar", acViewPreview, , [cpr nummer]= '" & Me![Cpr nummer] & "'"

Det gælder begge kald.
Avatar billede mugs Novice
13. april 2004 - 17:48 #9
Har afprøvet denne:

DoCmd.OpenReport "rapport1", acViewPreview, , "[Tabel1]![tekst] = '" & Me!tekst & "'"

Uden problemer.

dane022 > Har du mulighed for at sende din db?
Avatar billede dane022 Seniormester
13. april 2004 - 17:53 #10
Ja, det hjalp ikke med at slette tabellens navn "[jubilæumsliste]

Jeg har også brugt sætningen før uden if og else. Førhen skulle den åbne den samme rapport hver gang man trykkede på kommandoknappen og det virkede fint:
Private Sub Command53_Click()
DoCmd.RunCommand acCmdSaveRecord
DoCmd.OpenReport "til jubilar", acViewPreview, , "[jubilæumsliste]![cpr nummer]= '" & Me![Cpr nummer] & "'"

Hvad er din mailadresse ?
Avatar billede mugs Novice
13. april 2004 - 17:54 #11
mugs@mail.dk
Avatar billede hekla Nybegynder
13. april 2004 - 18:54 #12
"compile error. Method or data member not found"

Efter din beskrivelse at dømme, kunne det være navnet på feltet statsjubilæum på din formular i "If Me.statsjubilæum = no Then" der er forkert stavet.
Avatar billede mugs Novice
13. april 2004 - 18:56 #13
Db er modtaget, rettet og returneret.
Fejlen var, at feltet "statsjubilæum" ikke eksisterede i formularen. dane022 har set på datafeltets etiket og antaget, at det var feltets navn. Ved kontrol af feltnavnet i egenskabsarket's fane "Andre", ses feltet at have navnet "Check74"
Avatar billede hekla Nybegynder
13. april 2004 - 18:57 #14
Læg mærke til at det er formularfeltets navn i Me-sætningen, der refereres til, ikke dets Control source
Avatar billede hekla Nybegynder
13. april 2004 - 18:58 #15
:o)
Avatar billede dane022 Seniormester
13. april 2004 - 19:19 #16
Jeg får ikke fejlen mere, men noget jeg ikke forstår er at den åbner samme rapport uanset om der er sat flueben i [statsjubilæum] eller ej ?
Avatar billede dane022 Seniormester
13. april 2004 - 19:28 #17
Den sidste fejl har jeg nu løst. Der stod "no" men der skulle bare stå no
Avatar billede mugs Novice
13. april 2004 - 19:29 #18
Koden er ændret til.

If Me.Statsjubilæum = False Then
o.s.v.

Så kører det.

"no" er en alfanumerisk værdi, hvorimod en checlboks skal behandles som en numerisk værdi.

Ny db er sendt.
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