判断字段是否存在

清海扬波 2007-07-05 08:33:27
if Rs.Fields("字段") then
.....
end if
我这个字段有时候有,有时候没有的,现在就是判断它有没有,然后处理,但是怎么判断呢?
...全文
275 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
清海扬波 2007-07-05
  • 打赏
  • 举报
回复
问题解决,呵呵
清海扬波 2007-07-05
  • 打赏
  • 举报
回复
呵呵,我现在有7个字段,怎么样在产生了3265之后还原err.number啊,现在好象一个出错后面的err.number就不变了
fxy_2002 2007-07-05
  • 打赏
  • 举报
回复
一个表最多255个字段,你认为一个255次的循环对电脑来说会是一个负担么?只需要0.000000001ms而已!:-P
清海扬波 2007-07-05
  • 打赏
  • 举报
回复
先试试!!!但是感觉这样我字段多不是很慢!!!有更简便的方法没?
of123 2007-07-05
  • 打赏
  • 举报
回复
Dim cn As ADODB.Connection, rs As ADODB.Recordset
Dim i As Integer
Dim TheFieldExisting As Boolean
Dim strField As String

Set cn = New ADODB.Connection
cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\Program Files\Microsoft Visual Studio\VB98\BIBLIO.MDB;Persist Security Info=False"
cn.Open

Set rs = New ADODB.Recordset
rs.Open ("SELECT * FROM titles"), cn

'方法一
For i = 0 To rs.Fields.Count - 1
If UCase(rs.Fields(i).Name) = "TITLE" Then
TheFieldExisting = True
Exit For
End If
Next i
MsgBox "Field [Title] " & IIf(TheFieldExisting, "", "Not ") & "in Place"

'方法二
On Error Resume Next
strField = rs!UserName
If Err.Number = 3265 Then TheFieldExisting = False
MsgBox "Field [UserName] " & IIf(TheFieldExisting, "", "Not ") & "in Place"
bbhere 2007-07-05
  • 打赏
  • 举报
回复
dim fld as Field
for each fld in rs.fields
if fld.name="字段" then
msgbox "字段存在!"
exit for
end if
next
云路 2007-07-05
  • 打赏
  • 举报
回复
顶楼上的.
另外
如果sql数据库可以查数据库表
select * from syscolumns a,sysobjects b where a.id=b.id and a.name='字段' and b.name='表'
hongqi162 2007-07-05
  • 打赏
  • 举报
回复
循环一下Fields判断Rs.Fields.Item(index).Name
fxy_2002 2007-07-05
  • 打赏
  • 举报
回复
haveField=false
for each i in rs.fields
if i.name="字段" then
haveField=true
exit for
end if
next

if haveField then msgbox "字段存在!"

7,762

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧