北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |
我通过以下方法与ORACLE链接,在运行SQL语句时提示:“查询输入必须包含至少一个表或查询”,请问应该如何写SQL语句?
Private Sub link_Click()
If IsNull(Me.database) Then
MsgBox "服务器名称不能为空!", vbInformation, "Error 提示"
Me.database.SetFocus
Exit Sub
ElseIf IsNull(Me.user) Then
MsgBox "用户名不能为空!", vbInformation, "Error 提示"
Me.user.SetFocus
Exit Sub
ElseIf IsNull(Me.password) Then
MsgBox "密码不能空!", vbInformation, "Error 提示"
Me.password.SetFocus
Exit Sub
End If
Call oracle(IIf(IsNull(Me.ipaddress), "1", Me.ipaddress), Me.database, Me.user, Me.password)
strsql = "SELECT A表.B字段 INTO C表" _
& "FROM A表" _
& "WHERE (((A表.D字段)='文本内容'));"
DoCmd.RunSQL strsql
DoCmd.RunSQL strsql
End Sub
下面是模块内容
Option Compare Database
Function oracle(strIPName As String, strDBName As String, strUserID As String, strPassword As String) '-------------网络地址、服务器名称、用户ID、密码
'----------------------------
'检测是否在连接成功
'----------------------------
Dim ConnDB As New ADODB.Connection
Dim OraOpen As Boolean
Dim connstr As String
On Error GoTo Myerr
'MsgBox strIPName
strDBName = IIf(strIPName = "1", strDBName, strIPName & ":1522/" & strDBName) '-----------网络地址转换,ORACLE默认端口是1521
'MsgBox strDBName
connstr = "DRIVER={Microsoft ODBC for Oracle};SERVER=" & strDBName & ";UID=" & strUserID & ";PWD=" & strPassword & ";"
ConnDB.CursorLocation = adUseServer
ConnDB.Open connstr
OraOpen = True
MsgBox "恭喜你已经成功连接到数据库!", vbInformation, "Connect Successful"
ConnDB.Close
Set ConnDB = Nothing
Exit Function
Myerr: MsgBox "连接不成功,请检查你的用户名、密码和数据库地址是否正确!", vbInformation, "No Connect Successful"
End Function