Avatar billede jong Nybegynder
06. august 2001 - 17:35 Der er 4 kommentarer og
1 løsning

ingen søgeresultater v. OpenForm openform handling annuleret

Jeg har en søgeside der åbner en Form med et WHERE argument.
Jeg vil gerne checke om der kommer nogle resultater af søgningen i Accessdatabasen før jeg åbner formularen der skal vise det - for at vise en \"Ingen resultater\" besked.
Hvordan gør jeg det ?
Avatar billede terry Ekspert
06. august 2001 - 18:02 #1


If  DCount(\"fldName\", \"tablename \"Where Clause\" ) > 0 Then

open your form

Avatar billede terry Ekspert
06. august 2001 - 18:02 #2
DCount(\"fldName\", \"tablename\", \"Where Clause\" )
Avatar billede mugs Novice
06. august 2001 - 18:09 #3
Denne kode i VBA i Access97 finder en medarbejder med et indtastet CPRNR i feltet CPRNR, og giver et tilbagesvar hvis CPRNR ikke findes. CPRNR er et tekstfelt.

Charkoder CHR$(13) og CHR$(9) svarer til henholdsvis linieskift og tab.

Dim MSG, CPRNR As String, Svar As Integer
DoCmd.GoToControl \"CPRNR\"
CPRNR = InputBox(Prompt:=\"Indtast Medarbejderens CPR-nummer, F.eks 1111491234.\" & Chr$(13) & Chr$(13) & \"Der må ikke indtastes bindestreg. Joker-tegn kan ikke anvendes\", Title:=\"Find medarbejder\") \'Starter funktionen \"FindRecord\" og åbner Inputbox for indtastning af CPR\'
If Len(CPRNR) <> 10 Then \'Hvis antal tegn er forskellig fra 10, så...\'
Svar = Msgbox(Prompt:=\"Du har indtastet CPRNR:\" & Chr$(13) & Chr$(13) & Chr$(9) & Chr$(9) & CPRNR & Chr$(13) & Chr$(13) & \"Der skal indtastes 10 tegn uden bindestreg.\" & Chr$(13) & Chr$(13) & \"Klik på Forsøg igen for at foretag ny indtastning.\" & Chr$(13) & \"klik på Annuller for at forlade procedüren.\", Title:=\"Indtastningsfejl\", Buttons:=vbRetryCancel)
If Svar = vbYes Then
Kommandoknap82_Click
End If
If Svar = vbCancel Then
Exit Sub
End If
DoCmd.GoToControl \"CPRNR\"
Else
Me.RecordsetClone.FindFirst \"CPRNR=  \'\" & CPRNR & \"\'\"
End If
While Me.RecordsetClone.NoMatch = True
Svar = Msgbox(Prompt:=\"Du har indtastet CPRNR:\" & Chr$(13) & Chr$(13) & Chr$(9) & Chr$(9) & Chr$(9) & CPRNR & Chr$(13) & Chr$(13) & \"CPRNR findes ikke i databasen. Husk der må ikke indtastes bindestreg.\" & Chr$(13) & Chr$(13) & \"Klik på Forsøg igen for at foretag ny indtastning.\" & Chr$(13) & \"Klik på Annuller for at forlade procedüren.\", Title:=\"Indtastningsfejl\", Buttons:=vbRetryCancel)
If Svar = vbYes Then
Kommandoknap82_Click
End If
If Svar = vbCancel Then
Exit Sub
End If
CPRNR = InputBox(Prompt:=\"Indtast Medarbejderens CPR-nummer, F.eks 1111491234.\" & Chr$(13) & Chr$(13) & \"Der må ikke indtastes bindestreg. Joker-tegn kan anvendes\", Title:=\"Find medarbejder\") \'Starter funktionen \"FindRecord\" og åbner Inputbox for indtastning af CPR\'
If CPRNR = \"\" Then \'afslutter hvis strengen er tom
End
Else
Me.RecordsetClone.FindFirst \"CPRNR=  \'\" & CPRNR & \"\'\"
End If
End
Wend
Me.Bookmark = Me.RecordsetClone.Bookmark


Mvh / Mugs
Avatar billede terry Ekspert
06. august 2001 - 19:30 #4
another way is to open the form and if there is no data close it (actually you dont see the form get opened).

Place this in the forms On Open event

If Me.RecordsetClone.EOF And Me.RecordsetClone.BOF Then
    MsgBox (\"No Data \")

    Cancel = True
End If
Avatar billede terry Ekspert
07. august 2001 - 15:53 #5
jong>are we talking about a WEB form or Access?

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