2017-07-13 36 views
2

與現場相匹配,這是從文本框「receiveData的」如何給予反饋「未找到」當列表視圖域不在數據庫

Private Sub AddList_Click() 
Dim i As Long 
Dim sLines() As String 
Dim sValues() As String 
Dim oItem As ListItem 

sLines() = Split(receivedata.Text, vbCrLf) 
For i = 0 To UBound(sLines) 
If sLines(i) > vbNullString Then ' skip for empty line 
    sValues() = Split(sLines(i), ".") 

    Set oItem = ListView1.ListItems.Add(, , sValues(0)) ' number 
    Call oItem.ListSubItems.Add(, , sValues(1))   ' Barcode 
    Call oItem.ListSubItems.Add(, , sValues(2))   ' Quantity 

用於插入數據到我的列表視圖編碼和這個代碼從數據ms訪問我的listview像這樣。

rs.Filter = "Barcode = '" & sValues(1) & "'" 
     Product_Name = rs.Fields!Product_Name 
     Price = rs.Fields!Price 

    Call oItem.ListSubItems.Add(, , Product_Name) 
    Call oItem.ListSubItems.Add(, , Price) 
    Call oItem.ListSubItems.Add(, , (Price * sValues(2))) 


total = total + (Price * sValues(2)) 

    End If 
Next i 
End Sub 

這是工作。

​​

但如果條形碼在我的列表視圖是不是在我的數據庫與條碼匹配,編譯器會收到錯誤。

enter image description here

如何在從列表視圖條形碼不與數據庫匹配,PRODUCT_NAME和價格是「空」或「未找到」?

+0

正確的方法來檢查的情況是:'如果rs.BOF而RS.EOF Then' - 不要忘了還設置兩個屬性'BOFAction'和'EOFAction'of你DataControl上爲1 – deblocker

回答

3

篩選記錄集後檢查EOF

rs.Filter = "Barcode = '" & sValues(1) & "'" 
If rs.EOF Then 
    Product_Name = "not found" 
    Price = 0 
Else 
    Product_Name = rs.Fields!Product_Name 
    Price = rs.Fields!Price 
End If 
+0

謝謝你,謝謝你:)謝謝你 –