开发者

VBA question: add a search textfield to existing search form

I have a script for searching a tabel, now I wanted to add a second field to it named: txtSearchHsnr.

For some reason the code stops working at Huisnummer.SetFocus

Why is this, I'm a total noob to VBA, but I do like it :D

Private Sub cmdSearch_Click()

'Dim voor postcode

    Dim strPostcode As String
    Dim strSearchPostcode As String

'Dim voor huisnummer

    Dim strHuisnummer As String
    Dim strSearchHuisnummer As String

'Check txtSearchPstCode for Null value or Nill Entry first.

If IsNull(Me![txtSearchPstCode]) Or (Me![txtSearchPstCode]) = "" Then
MsgBox "Vul a.u.b. een (geldige ie: 8932 JZ) postcode in.", vbOKOnly, "Geen of foutieve postcode!"
Me![txtSearchPstCode].SetFocus

ElseIf IsNull(Me![txtSearchHsnr]) Or (Me![txtSearchHsnr]) = "" Then
MsgBox "Vul a.u.b. een huisnummer in.", vbOKOnly, "Geen of foutief huisnummer ingevoerd!"
Me![txtSearchHsnr].SetFocus

Exit Sub
End If
'---------------------------------------------------------------

        'zoeken naar data uit veld txtSearchPstCode
        'en verivieerd dit met tabel Postcode

        DoCmd.ShowAllRecords
        DoCmd.GoToControl ("Postcode")
        DoCmd.FindRecord Me!txtSearchPstCode

        Postcode.SetFocus
        strPostcode = Postcode.Text
        txtSearchPstCode.SetFocus
        strSearchPostcode = txtSearchPstCode.Text



        'zoeken naar data uit veld txtSearchHsnr
        'en verifieer dit met tabel Huisnummer

        DoCmd.ShowAllRecords
        DoCmd.GoToControl ("Huisnummer")
        DoCmd.FindRecord Me!txtSearchHsnr

        Huisnummer.SetFocus
        strHuisnummer = Huisnummer.Text
        txtSearchHsnr.SetFocus
        strSearchHuisnummer = txtSearchHsnr.Text


        'Wanneer er een overeenkomende record is in strPostcode en laat messagebox zien
        'en leeg zoek data in text veld

        If strPostcode = strSearchPostcode Then
        MsgBox "Klant gevonden nl.: " & strSearchPostcode & " " & strSearchHuisnummer, , "Klant gevonden"
        Achternaam.SetFocus
        txtSearchP开发者_StackOverflow社区stCode = ""
        txtSearchHsnr = ""

    'Wanneer Postcode niet is gevonden zet focus terug naar txtSearchPstCode en laat messagebox zien
        Else
            MsgBox "Helaas, postcode: " & strSearchPostcode & strSearchHuisnummer & " niet gevonden. Is het een nieuwe klant?", , "Klant niet gevonden in bestaande klanten."
            txtSearchPstCode.SetFocus
    End If
End Sub


Without reading through all the code, if a control already has the focus, you will get an error if you try to set focus again. You can check for the active control.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜