Avatar billede tville Juniormester
11. juni 2001 - 14:58 Der er 6 kommentarer og
1 løsning

Undgå tom formular hvis der ingen poster er at vise

Hvordan kan jeg undgå at få vist en tom formular når den bagvendliggende forespøgsel ingen poster giver?
11. juni 2001 - 15:24 #1
Hej Tville,

På formularens \"VedÅbning\" (OnOpen) hændelse lægger du følgende kode:

    If Me.RecordsetClone.RecordCount = 0 Then
        msgbox \"Formularen indeholder ingen data og lukkes derfor igen!\", vbinformation, \"Ingen data!\"
        DoCmd.CancelEvent
    End If

/Thomas
Avatar billede tville Juniormester
11. juni 2001 - 15:57 #2
Det virker ikke helt. Men jeg har nok også udtrykt mig forkert. (jeg er ikke en særlig dreven bruger)
Jeg har en formular XX hvori jeg har lavet en knap der aktiverer en lille formular hvori jeg kan indtaste nogle kriterier. Når jeg accepterer de kriterierer jeg har indtastet åbner den den formular jeg allerede har åben - d.v.s. formular XX. Og så er det, at hvis jeg har indtastet nogle kriterier der ikke matcher med nogen poster, så får jeg en hel blank side.
Avatar billede mugs Novice
12. juni 2001 - 22:32 #3
Hej tville

Jeg antager at det du kalder \"en lille formular\" er en underformular der ligger i formular XX. formular Xx og underformularen har forskellige datakilder.

Du lægger dine kriterier i den forespørgsel der giver data til underformularen, hvorimod Thomas\' kode tæller antal poster i den formular der giver data til formular XX.

Det er ikke nødvendigt med en underformular for at indtaste kriterier i en forespørgsel.

I det felt i forespørgslen hvori du vil indsætte kriterier indtaster du [], når formularen åbnes og forespørgslen køres vil du få et vindue, der beder dig om at indtaste kriterier. Inde i de firekantede paranteser kan du evt. indtaste en tekst så forespørgslens kriterier ser således ud:

[Indtast CPRNR:]

hvis det er et personnummer du vil indsætte som et kriterie.

På den måde undgår du  at lave kommandoknaper i underformularer, og så vil jeg antage at Thomas\' kode virker korrekt.


Mvh / Mugs
Avatar billede tville Juniormester
13. juni 2001 - 08:40 #4
Jeg prøver lige igen  - lidt mere specifikt.

Ganske kort om databasen: Den indeholder oplysninger om rekvisitioner for forskellige afdelinger.

Jeg har 2 formularer: Rekvisition og Kriterier.

Når jeg står i formularen Rekvisition ønsker jeg at kunne anvende filterfunktionen uden at bruge de normale knapper. Jeg har derfor lavet formularen Kriterier (popup), hvor jeg kan indtaste forskellige søgekriterier - bl.a. afdelingens navn.

Når jeg har indtastet de ønskede kriterier trykker jeg på en knap, der så åbner formularen Rekvisition (altså den jeg kom fra). Normalt går det godt. Jeg får nu kun vist de rekvisitioner der opfylder de indtastede kriterier og knappen Filtrer er markeret. Men hvis en afdeling f.eks. ingen rekvisitioner har får jeg et helt blankt skærmbillede - og det er det jeg gerne vil undgå.

Håber at dette var lidt mere tydeligt.
Avatar billede mugs Novice
13. juni 2001 - 11:34 #5
Tville

I hvilken formular har du indlagt Thomas\' kode? Jeg vil tro den skal indlægges i din popup-formular, idet denne jo styrer kriterierne og dermed afgør om du får data i formularen Rekvisitioner.

Men det skulle jo ikke undre om Thomas kommer med en kommentar i løbet af dagen!


Mvh / Mugs
13. juni 2001 - 12:20 #6
Yeah :o)

Tville-> prøv at indsætte nedenstående kode på Rekvisitions-formularen:
Private Sub Form_ApplyFilter(Cancel As Integer, ApplyType As Integer)
    If DCount(\"*\", Me.RecordSource, Me.Filter) = 0 Then
        msgbox \"Der er ingen data, som opfylder de angivne kriterier! Alle poster vises istedet\", vbInformation, \"Ingen data!\"
        Me.FilterOn = False
        DoCmd.CancelEvent
    End If
End Sub

Bortset fra det, så er det mere \'pænt\' at skrive:
Forms!Rekvisition.Filter = Kriterie
Forms!Rekvisition.FilterOn = True

i stedet for Docmd.Openform \"Rekvisition\",,,Kriterie

Det giver samme resultat.

mvh Thomas
Avatar billede tville Juniormester
13. juni 2001 - 14:07 #7
Det var mig der rodede lidt rundt i det, men jeg lærer det vel en dag. Men dit sidste hint Thomas, med at anvende filter og filterOn var det der fik det til at fungere - tror jeg. I hvert fald virker det nu.
Tak for hjælpen
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