vba執行sql語句
㈠ ACCESS中VBA調用sql語句的問題
ID不要打上單引號:
rsql = "UPDATE 員工表 set 備注 ='" & 員工備注.Value & "' WHERE ID =" & 員工選擇框.ListIndex
如果還是不行,就再加上VAL轉化一下試試:
rsql = "UPDATE 員工表 set 備注 ='" & 員工備注.Value & "' WHERE ID =" & Val(員工選擇框.ListIndex)
㈡ 在vba中怎麼用sql語句吧excel工作表和資料庫表連接查詢
摘要 VBA連接SQL SERVER資料庫操作Excel。
㈢ Access VBA中如何使用 SQL 語句。
提問里是一段打開ADO記錄集對象的代碼,並不完整且含有錯誤。下面提供一個完整一點的代碼供參考:
PrivateSubCommand111_Click()
DimsqlAsString
'聲明ADO記錄集對象
DimrsAsADODB.Recordset
Setrs=NewADODB.Recordset'實例化記錄集對象
'拼寫SQL語句並賦值到變數
sql="SELECTDGZY.usenameFROMDGZYWHERE(((DGZY.usename)Like'張三'));"
'打開記錄集
rs.Opensql,CurrentProject.Connection,adOpenKeyset,adLockOptimistic
'利用記錄集對象進行所需的有關操作,代碼略
EndSub
㈣ 如何在Excel,VBA中執行SQL語句
sub test()
Dim Conn As New ADODB.Connection
Dim strConn As String
Dim strSQL As String
Dim rs As New ADODB.Recordset
strConn = "Provider=sqloledb;Server=192.168.1.111;Database=db2014;Uid=用戶名;Pwd=密碼;"
Conn.Open strConn
Max_row = Range("A1").CurrentRegion.Rows.Count
for i=1 to Max_row
strSQL = "select name from sales2014 where id='" & range("A" & i).value & "'"
Conn.Execute strSQL
rs.Open strSQL, Conn, 1, 1
range("B" & i).value= rs(0)
rs.Close
Set rs = Nothing
next i
'關閉資料庫
Conn.Close
end sub
㈤ VBA SQL語句請教
就5個表,既然用SQL,就不用FOR EACH工作循環了吧,直接寫結果,雖然看起來復雜,但是結果簡單命令,機器執行也更快:
selectcasesType
case1
sExcel_select="(Select"&sTitle&"From[1序數據$]"&sWhere&")"_
&"unionall(Select"&sTitle&"From[2序數據$]"&sWhere&")"
case2
sExcel_select="(Select"&sTitle&"From[3序數據$]"&sWhere&")"
dselect
㈥ 用vba如何使用sql
一、界面設計
各控制項名稱屬性分別為:label1 、text1 、label2、text2、commandok、cmdcancel
代碼設計如下:
'首先添加一個模塊,寫上以下通用聲明和Sub main():
Public conn As ADODB.Connection '通用(聲明)
Sub main()
Set conn = New ADODB.Connection '通用(main)
conn.ConnectionString = "Provider=SQLOLEDB.1;Persist Security Info=False;" _
+ "User ID=sa;password=123;Initial Catalog=denglu;Data Source=127.0.0.1" '連接資料庫代碼
conn.Open
frmLogin.Show '首先顯示登錄界面。也可以在工程屬性中設置啟動對象為Sub main()或者frmlogin窗體
End Sub
'在Frmlogin 代碼窗口,為cmdok控制項寫以下代碼:
Private Sub cmdok_Click()
If text1.Text = "" Then
MsgBox "用戶名不能為空!", vbOKOnly + vbInformation, "友情提示"
text1.SetFocus
Exit Sub '若用戶名文本框內為空,則出現提示框
End If
If text2.Text = "" Then
MsgBox "密碼不能為空!", vbOKOnly + vbInformation, "友情提示"
text2.SetFocus
Exit Sub '若輸入密碼文本框為空,也出現提示框
End If
Dim strSQl As String
strSQl = "select * from User1 where username='" & Trim$(text1.Text) & "' and pwd='" & Trim$(text2.Text) & "' "
'書寫SQL代碼,查詢User1表中是否存在窗體中用戶輸入的信息。
Dim str As New ADODB.Recordset
Set str = New ADODB.Recordset
str.CursorLocation = adUseClient
str.Open strSQl, conn, adOpenStatic, adLockReadOnly
With str
If .State = adStateOpen Then .Close
.Open strSQl
If .EOF Then
Try_times = Try_times + 1
If Try_times >= 3 Then
MsgBox "您已連續三次輸入錯誤,系統將自動關閉", vbOKOnly + vbCritical, "警告"
Unload Me '若用戶連續輸入3次錯誤密碼,則系統關閉
Else
MsgBox "對不起,用戶名不存在或密碼錯誤 !", vbOKOnly + vbQuestion, "警告"
text1.SetFocus
text1.Text = ""
text2.Text = ""
End If
Else
Unload Me '若登錄成功,則隱藏當前窗體
Form2.Show '然後顯示Form窗體
End If
End With
End Sub
Private Sub cmdCancel_Click()
End '若單擊Cmdcel按鈕,則結束應用程序
End Sub
運行中存在的問題:
代碼中有Dim conn As adodb.connection,運行時顯示"用戶定義類型未定義"
解決方法:點擊「工程」--「引用」找到「Microsoft ActiveX Data Object 2.6」
然後就就可以正常運行了。
㈦ 在WPS的VBA中怎麼使用SQL語句
方法步驟如下:
1.在網上搜索並下載「wps的vba模塊」。
2.下載解壓完成之後,雙擊」vba6chs「即可安裝:
㈧ VBA 調用SQL 的語句
缺少引用。
工具-->引用
然後把 Microsoft ActiveX Data Objects 2.x Library 勾選上。
㈨ 如何在VBA中執行SQL語句
Set cnn = CreateObject("ADODB.Connection")
Set rs = CreateObject("ADODB.Recordset")
'cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" _
& "Extended Properties=Excel 8.0;" _
& "Data Source=" & ThisWorkbook.FullName
cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" _
& "Extended Properties=Excel 8.0;" _
& "Data Source=" & ThisWorkbook.FullName
Debug.Print ThisWorkbook.FullName
str1 = ActiveSheet.Range("A2")
'strSql = "Select * FROM [資料庫$] Where 商品名稱 like '%" & str1 & "%'"
㈩ VBA可以讀取.sql文件來執行裡面的多條語句嗎
看你在什麼環境下面用vba,
一般來說,將文本內容讀出來,傳遞給給vba中設置sql語句的變數即可.
比如excel的例子:
set
rsread
=
new
adodb.recordset
sqlstr
=
你所讀到的文本文件內容
rsread.open
sqlstr,
cnn,
adopenkeyset,
adlockoptimistic
rsread.movefirst