北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |
一个是创建表一个是连接表,加了个判断,if me.sqlline=0,就执行创建表,=1就执行连接表,
现在想给整合到一起,可是if语句咋放都不好用,老师给整合一下 谢谢
Private Sub CMD_CSH_Click() '创建表
Dim cnn As String
Dim dbs As Object 'Database
Dim tdf As Object 'DAO.TableDef
'指定的数据库文件
Dim strPath As String
If Mid(Me.DataLine, 1, 1) = "." Then
strPath = CurrentProject.Path & Mid(Me.DataLine, 2)
Else
strPath = Me.DataLine
End If
Set dbs = CurrentDb
'下面是ODBC连接SQL字符串
strConnect = "ODBC;DRIVER=SQL Server" & _
";SERVER=192.168.0.4" & _
";DATABASE=" & Me.ufyear & _
";UID=" & Me.user & _
";PWD=" & Me.Pass
'判断表是否存在后台数据库中
'请注意一定要引用Microsoft ADO Ext. 2.x for DLL and Security
Dim ConnStr, oCat
ConnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strPath
Set oCat = CreateObject("ADOX.Catalog")
oCat.ActiveConnection = ConnStr
For I = 0 To oCat.Tables.Count - 1
If oCat.Tables(I).Name = Me.表名 Then
dbs.Execute "Drop table " & strPath & "." & Me.表名 '删除表
'判断表是否存在如果存在删除链接
If ExistTable("SQL" & Me.表名) Then
DoCmd.DeleteObject acTable, "SQL" & Me.表名 '如果存在删除链接
Else
If ExistTable(Me.表名) Then
DoCmd.DeleteObject acTable, Me.表名
End If
End If
Exit For
End If
Next
Set oCat = Nothing
Set oTbl = Nothing
Set tdf = dbs.CreateTableDef("SQL" & Me.表名) '创建链接表,命名为SQL+表名
tdf.Connect = strConnect '连接表
tdf.SourceTableName = Me.表名 'SQL源表
dbs.TableDefs.Append tdf
Set dbs = Nothing
Set tdf = Nothing
CurrentDb.Execute "Select * into " & strPath & "." & Me.表名 & " from sql" & Me.表名 '复制创建表"
DoCmd.DeleteObject acTable, "SQL" & Me.表名 '删除链接
DoCmd.TransferDatabase acLink, "Microsoft Access", strPath, acTable, Me.表名, Me.表名 '连接表
End Sub
Private Sub CMD_CSHA_Click() '只作SQL连接表
Dim cnn As String
Dim dbs As Object 'Database
Dim tdf As Object 'DAO.TableDef
'指定的数据库文件
Dim strPath As String
If Mid(Me.DataLine, 1, 1) = "." Then
strPath = CurrentProject.Path & Mid(Me.DataLine, 2)
Else
strPath = Me.DataLine
End If
Set dbs = CurrentDb
'下面是ODBC连接SQL字符串
strConnect = "ODBC;DRIVER=SQL Server" & _
";SERVER=192.168.0.4" & _
";DATABASE=" & Me.ufyear & _
";UID=" & Me.user & _
";PWD=" & Me.Pass
Set tdf = dbs.CreateTableDef("SQL" & Me.表名) '创建链接表,命名为SQL+表名
tdf.Connect = strConnect '连接表
tdf.SourceTableName = Me.表名 'SQL源表
dbs.TableDefs.Append tdf
Set dbs = Nothing
Set tdf = Nothing
End Sub