我有一张包含以下信息的表格:
Destination Currency Rate Minutes Amount Country
Pakistan Mobile Uphone USD 0.0150 12,500.00
pakistan Fixed Lahore USD 0.0152 6,512.00
Pakistan Uphone Onnet USD 0.1542 15,612.00
India Fixed Onnet USD 0.1940 150,151.00
India Mumbai USD 0.7462 1,161.00
India Mobile Reliance USD 0.4798 16,431.00
India Mobile BSNL USD 0.3655 64,311.00
India Bharti Mobile USD 0.8450 43,434.00
India Idea Mobile USD 0.1252 646,146.00
使用表单我正在尝试在国家/地区列中查找国家/地区名称。为此,我有一个带按钮的表单和以下代码:
Private Sub cmdProceed_Click()
'Delcare variables
Dim db As DAO.Database
Dim rst As DAO.Recordset
Dim V1 As String
Dim V2 As String
'Initialize declared variables
Set db = CurrentDb
Set rst = db.OpenRecordset("FirstQuery")
V1 = rst.OpenRecordset.Fields("Destination")
V2 = "Pakistan"
'Perform the following things
rst.MoveFirst
Do While Not rst.EOF
rst.Edit
If (InStr(1, V1, V2)) > 0 Then
rst.Fields("Country").Value = V2
Else
rst.Fields("Country").Value = Nothing
End If
rst.Update
rst.MoveNext
Loop
rst.Close
Set rst = Nothing
Me.Refresh
End Sub
当我运行此代码时,它将放置"巴基斯坦"在"国家"专栏甚至反对那些文字"巴基斯坦"不存在。据我所知,我的代码没有改变Variable V1的值。任何人都可以帮助我,我怎样才能找到一个情况,如果文本"巴基斯坦"存在于"目的地"列,然后"国家"的值列等于"巴基斯坦",否则"国家"列等于什么?
答案 0 :(得分:0)
原因变量V1是字符串,当您在记录集中移动下一条记录时,它不会自动更改值。
您应该输入代码
V1 = rst.OpenRecordset.Fields("Destination")
循环内的