Foutmelding gewenst!

Status
Niet open voor verdere reacties.

wvgijn

Gebruiker
Lid geworden
25 okt 2006
Berichten
11
Beste forum, in mijn database heb ik een zoekformuliertje gemaakt waar na het invullen van een patientennummer de juiste patient wordt gevonden in het hoofdformulier. Bij bestaande patientnummers lukt dit perfect. Echter bij het invullen van een niet bestaand nummer gebeurt er niks: het hoofdformulier blijft staan op het oude record. Dit is geen probleem als er een melding verschijnt "patientnummer niet gevonden". Ik heb hiernaar gezocht op het forum en begrijp dat dit moet met een IF / ELSE msgbox "patientnr...." constructie.

Echter ik weet niet hoe ik dit moet verwerken in de door mij gebruike code (ook van internet geplukt):

Private Sub Knop21_Click()
On Error GoTo Err_Knop21_Click

Dim SearchStr As String
SearchStr = Me.patient
DoCmd.OpenForm "Vaatformulier", acNormal
Forms![Vaatformulier]![patientnr].SetFocus
DoCmd.FindRecord SearchStr, acEntire, , acSearchAll, , acCurrent, True
DoCmd.Close acForm, "zoek patient"

Exit_Knop21_Click:
Exit Sub

Err_Knop21_Click:
MsgBox "Vul een 7 cijferig patientennummer in"

Resume Exit_Knop21_Click:
End Sub


Hopelijk kan iemand mij hierbij helpen. Als dit probleem verholpen is, is de database af en klaar voor gebruik!

Alvast veel dank,

WvG
 
het kan vast op meerdere manieren.
maar ik tel meestal gewoon of iets voorkomt
zoniet dan melding
krijg je dus zoiets

Dim SearchStr As String
SearchStr = Me.patient
gevonden = dcount(veld, tabel,voorwaarde)
if gevonden =null then
msgbox "Geen patient gevonden"
exit sub
else
DoCmd.OpenForm "Vaatformulier", acNormal
Forms![Vaatformulier]![patientnr].SetFocus
DoCmd.FindRecord SearchStr, acEntire, , acSearchAll, , acCurrent, True
DoCmd.Close acForm, "zoek patient"
endif
 
Veel dank voor het advies. Helaas doe ik iets fout in de Dcount regel, maar ik weet niet wat. Hij moet zoeken in het veld "patientnr"(tekstveld) in de tabel "Hoodftabel" met als criterium dat het patientnr van de tabel moet overeenkomen met dat ingevuld in het (unbound) zoekveld "patient" uit het zoekformulier.

De computer geeft als foutmelding: "U hebt de vorige bewerking geannuleerd"

Hierbij de code:

Dim SearchStr As String
SearchStr = Me.patient

gevonden = DCount("patientnr", "Hoofdtabel", "[patientnr] = Me.patient")
If gevonden = Null Then
MsgBox "Patiëntnummer niet gevonden!"
DoCmd.Close acForm, "zoek patient"

Exit Sub

Else

DoCmd.OpenForm "Vaatformulier", acNormal
Forms![Vaatformulier]![patientnr].SetFocus
DoCmd.FindRecord SearchStr, acEntire, , acSearchAll, , acCurrent, True
DoCmd.Close acForm, "zoek patient"

End If


Doe ik iets fout met de haakjes of het criterium? Veel dank voor jullie hulp,

groeten WvG.
 
weet het niet precies
dan zou ik de db moeten bekijken,
maar wat me in ieder geval opvalt

toevoegen
Dim gevonden as string

Wijzigen
DCount("patientnr", "Hoofdtabel", "[patientnr] = Me.patient")
in
DCount("[patientnr]", "Hoofdtabel", "[patientnr] = " & Me.patient)
 
wederom heel veel dank voor de snelle hulp. Hij werkt helaas nog steeds niet. Ik krijg nu de foutmelding "gegevenstypen komen niet overeen in criteriumexpressie". De code ziet er nu zo uit:

Private Sub Knop21_Click()
On Error GoTo Err_Knop21_Click

Dim gevonden As String
Dim SearchStr As String
SearchStr = Me.patient

gevonden = DCount("[patientnr]", "Hoofdtabel", "[patientnr] = " & Me.patient)
If gevonden = Null Then
MsgBox "Patiëntnummer niet gevonden!"
DoCmd.Close acForm, "zoek patient"

Exit Sub

Else

DoCmd.OpenForm "Vaatformulier", acNormal
Forms![Vaatformulier]![patientnr].SetFocus
DoCmd.FindRecord SearchStr, acEntire, , acSearchAll, , acCurrent, True
DoCmd.Close acForm, "zoek patient"

End If

Exit_Knop21_Click:
Exit Sub

Err_Knop21_Click:
MsgBox Err.Description

Resume Exit_Knop21_Click:
End Sub


Nogmaals veel dank voor de hulp!
WvG
 
dat heeft te maken met numeriek en tekst
probeer eens
gevonden = DCount("[patientnr]", "Hoofdtabel", "[patientnr] = '" & Me.patient & "'")
 
Wederom veel dank. Ik heb het aangepast en nu heb ik geen ongewenste foutmeldingen meer, maar ook niet mijn gewenste "Patiëntnummer niet gevonden!":confused:

Bij het invoeren van een bestaand nummer zoekt hij keurig de betreffende patient op, bij het invoeren van een niet bestaand nummer keert hij zonder melding terug naar het reeds geopende record. Ik snap er helemaal niks van! Hier voor de zekerheid maar weer de code:

Private Sub Knop21_Click()
On Error GoTo Err_Knop21_Click

Dim gevonden As String
Dim SearchStr As String
SearchStr = Me.patient

gevonden = DCount("[patientnr]", "Hoofdtabel", "[patientnr] = '" & Me.patient & "'")
If gevonden = Null Then
MsgBox "Patiëntnummer niet gevonden!"
DoCmd.Close acForm, "zoek patient"

Exit Sub

Else

DoCmd.OpenForm "Vaatformulier", acNormal
Forms![Vaatformulier]![patientnr].SetFocus
DoCmd.FindRecord SearchStr, acEntire, , acSearchAll, , acCurrent, True
DoCmd.Close acForm, "zoek patient"

End If

Exit_Knop21_Click:
Exit Sub

Err_Knop21_Click:
MsgBox Err.Description

Resume Exit_Knop21_Click:
End Sub


Sorry dat ik zo lastig ben maar ik hoop toch vurig op het verlossende antwoord,

Dank, WvG
 
mijn fout.

verander
If gevonden = Null Then

in
If gevonden = 0 Then
 
Het werkt nu perfect!

Heel erg veel dank en groeten,

WvG.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan