Avatar billede mlhave Nybegynder
21. juni 2004 - 11:30 Der er 12 kommentarer og
1 løsning

Undgå at åbne en form hvis der ikke er data

Jeg har en form der stater automatisk når man åbner databasen. Den indeholder de ting sælgerne skal følge op på, men når der ikke er noget de skal følge op på kommer den op blank....og så brokker de sig over at de skal lukke den selv...... :o)

Hvordan undgår jeg at den åbner, hvis der alligevel ikke er data i den?
Avatar billede terry Ekspert
21. juni 2004 - 11:34 #1
You could use Dcount to check if there is any records before you open

If Dcount("*", "YourTable", "ID = " & Me.ID) > 0 Then ... 'open
Avatar billede mlhave Nybegynder
21. juni 2004 - 11:58 #2
Hvad skal der stå på ID-pladserne...?
21. juni 2004 - 12:11 #3
eller på formens VedÅbning (On Open) lægge denne kodé:

Private Sub Form_Open(Cancel As Integer)
    If Me.RecordsetClone.RecordCount = 0 Then
        MsgBox "Ingen data!", vbExclamation
        DoCmd.CancelEvent
    End If
End Sub
Avatar billede terry Ekspert
21. juni 2004 - 12:24 #4
If th eform contains data for a specific sælger then it must be filtered in some way. The ID is just an example, but
""ID = " & Me.ID" is the same as a WHERE clause in SQL but with "WHERE"

So

if your SQL for the form is "SELECT * from sælgerne WHERE salesRep = 123"

then you would use

"salesRep = 123"

Thomas, dont you need to set Cancel = True?
21. juni 2004 - 12:29 #5
terry->
Cancel=true eller Docmd.cancelevent er præcis det samme

Jeg synes bare, at det er nemmere og mindre resourcekrævende at checke om der er poster på formularen frem for inden formularens åbnes.

Det er selvfølgelig en smagssag :o)
Avatar billede terry Ekspert
21. juni 2004 - 12:32 #6
Yes your right Thomas, I didnt consider giving that as an answer too but I thought I'd give you a chance :o)
Avatar billede terry Ekspert
21. juni 2004 - 12:33 #7
didnt = did
21. juni 2004 - 12:35 #8
thnx Terry! Du er så betænksom :o)

Jeg har godt lagt mærke til, at du ALTID kun giver de næstbedste løsninger - er det af samme grund?

(touché, my friend, haha :)
Avatar billede terry Ekspert
21. juni 2004 - 12:39 #9
yes, but the next best seems to give points :o)
21. juni 2004 - 12:42 #10
yah, you got a point there :o(
Avatar billede mlhave Nybegynder
21. juni 2004 - 14:48 #11
Jeg valgte den bedst løsning denne gang - der skal jo også være point til Thomas ;o)
21. juni 2004 - 14:50 #12
jeg takker ydmygt - jeg er ikke så vandt til at få point :o)
Avatar billede hnteknik Novice
21. juni 2004 - 15:18 #13
Helt uden point ;o), hvis det nu er en subform, som ikke skal åbnes/vises:

Private Sub Form_Current()
    With Me![SubformName].Form
        .Visible = (.RecordsetClone.RecordCount > 0)
    End With
End Sub
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