Melding geven bij geen zoekresultaat

Status
Niet open voor verdere reacties.

yvobeckers

Gebruiker
Lid geworden
26 sep 2006
Berichten
42
Hallo,
Ik heb een formulier waarin in een vrije-tekst veld heb. Als ik in dit tekstveld iets invoer en op een knop zoeken (aangemaakt in formulier) zal een nieuw formulier geopend worden met alle records die voldoen aan hetgeen in het vrije-tekst veld. Dit werkt allemaal prima

Ik wil echter dat als er iets gezocht wordt waar geen record aan match, dat hier een melding gegeven worden en hierna meteen teruggegaan wordt naar het zoekscherm.
Ik heb een voorbeeld database toegevoegd met de zoekfunctie. In deze database werkt het dus nog niet om een melding te krijgen als er geen zoekresultaat is.
Alvast bedankt voor de tips.
 

Bijlagen

Zoekfunctie

Dag Yvo,

Ik vind het direct tonen van de resultaten van een zoekactie in een formulier wat onhandig: als er meerdere records zijn die aan de gestelde zoekcriteria voldoen, moet de gebruiker alsnog gaan scrollen door de records.
Daarom vind ik het handiger, eerst de resultaten van een zoekactie te tonen in een lijst. De gebruiker ziet dan in een oogopslag welke records aan de zoekcriteria voldoen. Hij of zij kan dan vervolgens een van de records selecteren, en op een knop klikken om alle velden van de record te bekijken. Als er geen records zijn, die aan de gestelde criteria voldoen, blijft de gebruiker in het zoekscherm, en kan hij op een andere manier gaan zoeken.

Bij de bouw van zo'n zoekformulier heb je verschillende opties:
1. Laat de gebruiker kiezen in welk veld van de record hij wil gaan zoeken;
2. De gebruiker kan in verschillende velden gaan zoeken, en vult voor elk veld iets in op een textbox;
3. De gebruiker kan meerdere waarden voor een specifiek veld opgeven.

De algemene manier om zo'n zoekfunctie te maken is de volgende: afhankelijk van wat de gebruiker in een textbox opgeeft, bouwt code een SQL-statement op. Deze statement wordt de gegevensbron van een listbox. Als de gebruiker een record op de listbox selecteert, wordt een knop actief om de detailgegevens van die record in te zien. Het aantal records in die listbox kun je laten tellen, zodat de gebruiker meteen ziet of er records zijn die aan het zoekcriterium voldoen. Hij hoeft dus geen message box weg te klikken. Goed voor zijn RSI!

Een overzicht van verschillende zoekfuncties kun je vinden op: www.accesspower.nl.

Succes,

NdT
 
Hallo,

Bedankt voor je reactie. Ik heb deze methode inderdaad ook al eens gebruikt. De gebruikers typen in het tekstveld echter hun gebruikersnaam. Deze gebruikersnaam kan kloppen (dan loggen ze in) of deze klopt niet (dan moeten ze een melding krijgen). Ze zijn dus eigenlijk verplicht om in 1 keer goed in te loggen. Ze mogen niet naar een lijst met mogelijkheden gaan omdat ze dan als alle andere personen in kunnen loggen. Jou oplossing werkt voor mij dus helaas niet.

Toch bedankt
 
Hallo,

wijzig je code in je Bij Klikken gebeurtenis van de knop in je zoekformulier in

Code:
Private Sub Knop0_Click()
On Error GoTo Err_Knop0_Click

    Dim stDocName As String
    Dim stLinkCriteria As String

    stDocName = "frm_tabel_1"
    
    stLinkCriteria = "[naam]=" & "'" & Me![Tekst1] & "'"
    If DCount("*", "Tabel_1", stLinkCriteria) > 0 Then
    DoCmd.OpenForm stDocName, , , stLinkCriteria
    Else
    MsgBox "Geen gegevens gevonden"
    DoCmd.Close acForm, stDocName
    End If

Exit_Knop0_Click:
    Exit Sub

Err_Knop0_Click:
    MsgBox Err.Description
    Resume Exit_Knop0_Click
    
End Sub

Groet,

Tardis
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan