0
我試圖讓它,以便當用戶從組合框中選擇一個人他們的全部細節顯示,但一些錯誤處理if條件應該返回trueVBA跳過如果語句在Access 2010
Private Sub ComboOwnerID_Change()
Dim SelID As Integer
Dim rs As DAO.Recordset
Dim db As Database
Dim strSQL As String
Dim result As String
SelID = 0
SelID = Me.ComboOwnerID.Text
If Not (SelID = 0) Then
If Not (SelID = Null) Then
Set db = CurrentDb
strSQL = "SELECT * FROM Owners WHERE OwnerID = " + SelID
Set rs = db.OpenRecordset(strSQL)
Do While Not rs.EOF
result = ""
result = rs!Title + ". "
result = result + rs!Forname + " "
result = result + rs!Surname
rs.MoveNext
Loop
Me.lblOwnerName.Caption = result
Else
Me.lblOwnerName.Caption = "error"
End If
Else
Me.lblOwnerName.Caption = "error"
End If
End Sub
它甚至沒有達到SQL位尚未所以我不知道是否可行與否
我還想補充一點,我不認爲'SelID'永遠不會爲因爲這是一個整數。 – markblandford 2012-04-16 13:33:25
確實,如果組合爲空,將會產生問題。此行將失敗SelID = Me.ComboOwnerID.Text,與.text值完全分開。 – Fionnuala 2012-04-16 13:35:27
也添加到@creamyegg:如果'SelID'是一個int,那麼不會'如果SelID <> 0那麼'比'如果不是(SelID = 0)Then'好? – Gaffi 2012-04-16 16:14:49