當前位置:首頁 » 編程語言 » vbasql
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

vbasql

發布時間: 2022-01-22 06:42:37

A. VBA和sql有什麼相同之處或區別

看著都是代碼,實際差別很大。我的理解(雖有偏頗):
SQL:當你用到SQL的時候,它一定是有一個數據源,該數據源可以翻譯成以記錄的形式存儲資料庫
所以SQL就是單純的針對資料庫處理。
VBA:編程,想幹啥就幹啥。離開SQL,也可實現所有功能,但涉及資料庫查詢時,沒人用VBA,一定是調用SQL(即在宏中,會用到SQL語句)。

B. VBA,SQL有何區別,學哪個比較實用

Vba是vb應用程序,sql是結構化查詢語言,看你是從事什麼工作,如果是辦公類的,那麼請學vba,如果是資料庫相關的,請學sql

C. Vba和SQL和c語言的區別

VBA屬於VB的子類,其主要目的是基於應用程序自動化的編程語言,用來擴展應用程式功能,特別是Office這類辦公軟體。當然因為它比較簡單也容易上手,現在有一些軟體也支持,比如CAD,coredrow等等。

SQL為結構化查詢語言,是一種資料庫查詢和程序設計語言,用於存取數據以及查詢、更新和管理關系資料庫系統;是高級的非過程化編程語言。關系資料庫操作語言的一種。

C語言為計算機程序設計語言,說到C語言,可能不是一言兩語可以說清它的影響和作用。它是一種通用的、過程式的編程語言,基本上系統和應用軟體等等底層的開發都會基於C語言開發。而且移植性很高,像C++、Objective-C、Java、C#都這些語言都受到C語言的重大影響,俗稱泛C類語言!

所以這三種語言針對的領域各不相同,其中C語言傾向底層開發,像操作系統,晶元等等,而SQL應用領域主要用於高效管理龐大的數據;VBA則主要應用於軟體自動化,使軟體的功能得到擴展,完成一些軟體自身無法完成的工作,或者利用VBA解決一些靠手工根本無法完成的工作。

D. 數據分析里,vba和sql哪個更重要

vba是vba編程嗎?
看你是用什麼工具做分析了,如果excel做的多,vba就有用了。
如果數據都是存儲在資料庫里,sql就有用了。

感覺大數據量,一般還是資料庫的較多,所以sql更有前景和重要吧。

E. 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

F. VBA 怎樣調用sql的語句

Dim cn As New ADODB.Connection '定義數據鏈接對象 ,保存連接資料庫信息;請先添加ADO引用
Dim rs As New ADODB.Recordset '定義記錄集對象,保存數據表
Dim strCn As String, strSQL As String '字元串變數
Dim i As Integer, j As Integer, sht As Worksheet

strCn = "Provider=SQLOLEDB.1;Password=psw;Persist Security Info=True;User ID=userid;Initial Catalog=hrlink ;Data Source=127.0.0.1"
strSQL = "select * from table"

cn.Open strCn
rs.Open strSQL, cn

G. 求教VBA連接SQL資料庫的詳細方法及解釋。

1、基本上所有的資料庫都有對應的寫法(有些資料庫是要裝連接驅動才能連),比如"Provider=Microsoft.Jet.OLEDB.4.0(用來連接access)或者provider =MSDASQL,而且每種資料庫也可能會有多種連接方法(Provider意即資料庫引擎),常見的有下面這些

Provider 代碼 Provider
ADSDSOObject Active Directory Services
Microsoft.Jet.OLEDB.4.0 Microsoft Jet databases
MSDAIPP.DSO.1 Microsoft Internet Publishing
MSDAORA Oracle databases
MSDAOSP Simple text files
MSDASQL Microsoft OLE DB provider for ODBC
MSDataShape Microsoft Data Shape
MSPersist Locally saved files
SQLOLEDB Microsoft SQL Server
2、參見http://www.w3school.com.cn/ado/met_conn_open.asp#connectoptionenum
3、這樣就可以對book1.xlsx中的數據使用sql語法進行操作
4、當你需要返回結果的,比如說你要查詢資料庫符合某個條件的有幾條記錄,或者說取出資料庫中符合條件的一批記錄的時候就要用數據集,單一的conn.execute只能執行操作,不能返回數據,必須配合結果集使用才可取回數據。

H. vba sql查詢

sql一般用在多條件查詢,對資料庫讀寫等。
1. VBA如何建立sql連接
A.在VBA Project 窗口中,「工具—引用—Microsoft ActiveX Data Objects 2.0 Library」,如下圖所示

B. VBA語句
Private Sub CommandButton1_Click()
Dim cnn As ADODB.Connection』定義變數
Dim sql$, Stext$, i As Integer
Worksheets(3).Cells.Clear
Stext = IIf(TextBox1.Value = "", "*", TextBox1.Value)
Set cnn = CreateObject("adodb.connection")』生成對象
cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties=Excel 8.0;Data Source=" & ThisWorkbook.FullName』打開資料庫
If TextBox1 = "" Then
sql = "select * from [sheet2$]"』sql語句
Else
sql = "select * from [sheet2$] where 姓名 like '" & TextBox1.Value & "'"
End If
Worksheets(3).[a1].CopyFromRecordset cnn.Execute(sql)』執行sql語句
cnn.Close
Set cnn = Nothing
End Sub
2. sub text()
Dim cnn As ADODB.Connection』定義變數
Dim rs as adodb.recordset
Set cnn = CreateObject("adodb.connection")』生成對象,若定義變數時為Dim cnn As New ADODB.Connection,此句可省略
cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties=Excel 8.0;Data Source=" & ThisWorkbook.FullName』打開資料庫
sql = "select * from [sheet2$] where 姓名 like '" & TextBox1.Value & "'"
rs.open sql,cnn,adOpenKeyset.adLockOptimistic』生成查詢記錄,為後面出書數據准備
Worksheets(3).[a1].CopyFromRecordset rs
end sub
________________________________________________________________________
以下根據網路整理
2 Select SQL語句
SELECT * FROM table_name WHERE column1 = xxx [AND column2 > yyy] [OR column3 <> zzz]
'*'表示全部的欄位都列出來,如果不全部列出,則可以寫欄位名稱如 學號,姓名……;WHERE 之後是接條件式,把符合條件的資料列出來,table_name如果為工作表名稱,書寫格式[工作表名$],下同。
SELECT column1,AVG(column2) FROM table_name GROUP BY column1 HAVING AVG(column2) > xxx
說明: 1.GROUP BY: 以column1 為一組計算 column2 的平均值必須和 AVG、SUM等整合性查詢的關鍵字一起使用。2.HAVING : 必須和 GROUP BY 一起使用作為整合性的限制。
復合性的查詢:SELECT * FROM table_name1 WHERE EXISTS (SELECT * FROM table_name2 WHERE conditions )
說明:1.WHERE 的 conditions 可以是另外一個的 query。2. 在此是指存在與否。
SELECT column1,columns2,...FROM table_name
說明:把table_name 的特定欄位資料全部列出來
SELECT COUNT (*) FROM table_name WHERE column_name = xxx
說明:查詢符合條件的資料共有幾筆。
1.計算出總和,所選的欄位必須是可數的數字形態。2.除此以外還有 AVG() 是計算
SELECT SUM(column1) FROM table_name
說明:平均、MAX()、MIN()計算最大最小值的整合
SELECT * FROM table_name1 WHERE column1 BETWEEN xx AND yy
說明:BETWEEN 表示 column1 的值介於 xx 和 yy 之間。
3. update SQL語句
UPDATE table_name SET column1='xxx' WHERE conditoins
說明:1.更改某個欄位設定其值為'xxx'。
2.conditions 是所要符合的條件、若沒有 WHERE 則整個 table 的那個欄位都會全部被更改。
4. deletesql語句
刪除資料: DELETE FROM table_name WHERE conditions
說明:刪除符合條件的資料。
說明:關於WHERE條件後面如果包含有日期的比較,不同資料庫有不同的表達式
5.SQL中通配符用
• "%" 表示零個或多個,
• "_"表示任何單一字元
• [charlist] 字元列中的任何單一字元
• [^charlist] [!charlist] 不在字元列中的任何單一字元
• select * from databasename where fieldname like '%XX%'
• SELECT * FROM Persons WHERE City LIKE '[AOF]%'
• 從上面的 "Persons" 表中選取居住的城市以 "A" 或 "O" 或 "F" 開頭的人
• SELECT * FROM Persons WHERE City LIKE '[!AOF]%'
• 從上面的 "Persons" 表中選取居住的城市不以 "A" 或 "O" 或 "F" 開頭的人

I. 如何在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 & "%'"