2010-12-10 94 views
0

我有一個用於搜索表格的腳本,現在我想向它添加第二個字段,名稱爲:txtSearchHsnr。VBA問題:將搜索文本字段添加到現有搜索表單

出於某種原因,在代碼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 

回答

0

沒有通過所有的讀碼,如果一個控件已經有焦點,那麼如果你嘗試再次設置焦點,你將會得到一個錯誤。您可以檢查主動控制。

+0

從一瞥,我估計有更容易/更好的方法來做你想要的搜索。 – Fionnuala 2010-12-11 00:46:06

+0

好的,謝謝大家,問題在於其中一個控件沒有「Huisnummer」,而是默認的文本域名(textfield12) – Chris 2010-12-12 10:35:36