Office中国论坛/Access中国论坛

标题: 判断某MDE中的某表中是否存在着某个字段 [打印本页]

作者: djd    时间: 2006-7-9 01:15
标题: 判断某MDE中的某表中是否存在着某个字段
  判断某MDE中的某表中是否存在着某个字段,此字段是文本.

谢谢.

[此贴子已经被作者于2006-7-8 17:19:03编辑过]


作者: djd    时间: 2006-7-9 22:30
在线等.
作者: andymark    时间: 2006-7-9 22:49
下面列子判断test表是否存在A列的字段

Dim Rs As New ADODB.Recordset
Dim Conn As New ADODB.Connection
Set Conn = CurrentProject.Connection

Rs.Open "select * from test", Conn, adOpenDynamic, adLockOptimistic
For I = 0 To Rs.Fields.Count - 1
If Rs.Fields(I).Name = "A列" Then
MsgBox "A列存在"
End If
Next

Set Conn = Nothing
Set Rs = Nothing
作者: djd    时间: 2006-7-10 17:46
首先谢谢版主.

不知有否更简单的.如一个函数就能解决.
作者: fan0217    时间: 2006-7-10 17:54
自己动手改改不久可以了吗?
作者: andymark    时间: 2006-7-10 18:08
Function ExistTableField(strTableName As String, strFieldName As String) As Boolean

'=============================================================================
'用途:检测某表中是否存在某个字段
' strTableName  表示要检测的表名
' strFieldName  表示要检测的字段名
' 用法: If ExistTableField("tblFAQ", "Answer") = True Then
'          MsgBox "Answer已存在tblFAQ表中"
'        end if


'=============================================================================
Dim Rs As New ADODB.Recordset
Dim Conn As New ADODB.Connection
Set Conn = CurrentProject.Connection

Rs.Open "select * from " + strTableName + "", Conn, adOpenDynamic, adLockOptimistic
ExistTableField = False
For I = 0 To Rs.Fields.Count - 1
If Rs.Fields(I).Name = "" + strFieldName + "" Then
ExistTableField = True
End If
Next

Set Conn = Nothing
Set Rs = Nothing

End Function


[此贴子已经被作者于2006-7-10 12:00:41编辑过]


作者: hi-wzj    时间: 2006-7-11 01:35
一般的表设计好后,基本不做动态改动的,因为能改表设计的权限是很大的,危及程序安全.您为什么会有这样的需求呢?




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3