Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

请教一个判断语句的问题

sjm  发表于:2013-10-03 21:45:27  
复制

想用SQL语句判断数据库中是否存在某个指定的表,如果存在,则删除他,如果不存在则无操作。

 

Top
竹笛 发表于:2013-10-03 23:04:49
sjm 发表于:2013-10-03 23:42:17

不会用啊,能不能解释下怎么用啊!?



54.℡80後2oO 发表于:2013-10-04 11:11:15
Function fExistTable(strTableName As String) As Integer
Dim db As Database
Dim i As Integer
    Set db = DBEngine.Workspaces(0).Databases(0)
    fExistTable = False
    db.TableDefs.Refresh
    For i = 0 To db.TableDefs.Count - 1
        If strTableName = db.TableDefs(i).Name Then
            'Table Exists
            fExistTable = True
            Exit For
        End If
    Next i
    Set db = Nothing

End Function

====================================

把上面那段代码保存在模块里,然后写入以下类似的代码:

if fExistTable("你要判断是否存在的表名")=true then '意思就当这个表存在时

    docmd.DeleteObject acTable "你要判断是否存在的表名"

end if



煮江品茶 发表于:2013-10-04 15:19:43

sub 删除指定表(byval tbname as string)

      if dcount("*","MSysObjects","Name='" & tbname & "'")>0 then

             docmd.DeleteObject acTable,tbname

      end if

end if

 

调用时:

call 删除指定表("学生表")



总记录:4篇  页次:1/1 9 1 :