当前位置:首页 » 编程语言 » 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 & "%'"