VBA问题:将搜索文本字段添加到现有搜索表单

时间:2010-12-10 23:20:20

标签: vba access-vba

我有一个搜索表格的脚本,现在我想为它添加一个名为:txtSearchHsnr的第二个字段。

由于某种原因,代码停止在Huisnummer.SetFocus

工作

为什么会这样,我对VBA来说是一个完全的菜鸟,但我确实喜欢它: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
        txtSearchPstCode = ""
        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

1 个答案:

答案 0 :(得分:0)

如果没有阅读所有代码,如果控件已经有焦点,如果您尝试再次设置焦点,则会出现错误。您可以检查活动控件。