vb中datagrid控件的使用方法
Fori=0ToDataGrid1.ApproxCountIfTrim(乡村号.Text)=Trim(DataGrid1.Columns.Item(i).Text)The...
For i = 0 To DataGrid1.ApproxCount
If Trim(乡村号.Text) = Trim(DataGrid1.Columns.Item(i).Text) Then
MsgBox "该乡村号已使用,请重新输入"
这是一个添加按钮里面的代码,原意是试图添加乡村号时检测表中已有乡村号是否重复,但失败了。请指正。 展开
If Trim(乡村号.Text) = Trim(DataGrid1.Columns.Item(i).Text) Then
MsgBox "该乡村号已使用,请重新输入"
这是一个添加按钮里面的代码,原意是试图添加乡村号时检测表中已有乡村号是否重复,但失败了。请指正。 展开
4个回答
展开全部
这个判断的确不科学,估计你的DataGrid1中显示的数据是从数据库或excel中读出的,那么你操作数据库或excel,使用SQL语句查询,是比较理想的选择。
例如:
SQL1="Select * From 数据表 Where 乡村号='" & 乡村号.Text & "' 'SQL语句字符串
RS.Open SQL1,conn,2,2 ‘使用SQL打开数据表查询
IF Not RS.EOF Then '如果记录不是空
MsgBox "该乡村号已使用,请重新输入"
RS.Close
conn.Close
Exit Sub
End If
在SQL语句中的 Where 后面的“乡村号”是字段名。
例如:
SQL1="Select * From 数据表 Where 乡村号='" & 乡村号.Text & "' 'SQL语句字符串
RS.Open SQL1,conn,2,2 ‘使用SQL打开数据表查询
IF Not RS.EOF Then '如果记录不是空
MsgBox "该乡村号已使用,请重新输入"
RS.Close
conn.Close
Exit Sub
End If
在SQL语句中的 Where 后面的“乡村号”是字段名。
更多追问追答
追问
我还是实在不会,你能留个联系方式,我发一份源码给你帮我作修改吗
追答
百度不容许发QQ或邮箱,在百度HI中聊吧。
展开全部
这个不能这么做?
应该从数据源去进行搜索寻找.
我记得DataGrid控件无法返回数据源的记录总数.
ApproxCount属性并不是记录总数?
应该从数据源去进行搜索寻找.
我记得DataGrid控件无法返回数据源的记录总数.
ApproxCount属性并不是记录总数?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
是不是应该这样写啊:
If Trim(乡村号.Text) = Trim(DataGrid1.Columns(i).Text) Then
追问
还是不行哦。
我在看别人的程序,乡村号是表中第一列的数据,DataGrid1.ApproxCount不是总行数吗?Columns是列的意思,所以我揣测为默认第一列,然后在item(i)里通过i的变化,逐行比较乡村号是否重复
追答
DataGrid1.ApproxCount这个的确是总行数 一般判断存不存在 用SQL 是正常的思路。如果这要按DataGrid1.Columns.Item(i).Text来判断 可以这样写
Dim sql As String
Dim a As Integer
rst.CursorLocation = adUseClient
rst.Open "select * from 乡村 ", cnn
For i = 0 To rst.RecordCount - 1
Set DataGrid1.DataSource = rst
If Text1.Text = DataGrid1.Columns.Item(1).Text Then
MsgBox "该乡村号已使用,请重新输入"
Text1.Text = ""
Text1.SetFocus
rst.Close
Exit Sub
Else
rst.MoveNext
End If
Next
rst.Close
这样看起来很鸡肋啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
晕。这样判断会死人的
建议:写个sql直接判断这个张村号是否存在!
建议:写个sql直接判断这个张村号是否存在!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询