当前位置:首页 » 编程语言 » vbasql中文
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

vbasql中文

发布时间: 2022-04-17 19:43:28

① 关于vba读取mysql数据库中文乱码的问题

ado连接是吧, 试试这样
sqlstr = "select N'name' from [test]"

② vba,sql与excel的关系

1,VBA (Visual Basic for Applications)是Visual Basic的一种宏语言,主要能用来扩展Windows的应用程序的功能,特别是Microsoft Office软件,在word、powerpoint、excel里面都可以用。
2,sql全称是“结构化查询语言(Structured Query Language)”,是用于访问数据库的语言,比如:MS SQL Server、Oracle、MySQL、foxpro,Access对sql也有一定支持,但不够全,SQL与excel关系不大
3、excel就是微软office套件里面专门用于表格、统计、分析处理的软件了

③ 财务中的SQL,ERP,VBA分别是什么东西,有什么作用哪个的作用更大

ERP,全称为企业资源计划。是企业对物料、生产计划、库存财务等方面进行管理的一个软件。较有名的有国外的SAP,国产的金蝶3K和用友U8等。

SQL一般指的是SQL Server,是微软公司的一个数据库软件,部分ERP则是由SQL Server作为后台数据库支持(例如金蝶3K就是),此外还有一些是用Oracle(以前SAP是的,现在似乎用自己的数据库了)。此外,SQL还可以指一些T-SQL语句,主要用于执行数据库的查询和创建等等工作。

VBA全称为Visual Basic Application,是基于VB的一种程序语言,一般用于执行一些自定义过程,例如用Excel的录制宏即是VBA的一种。此外,Access中也可以用它来与用户进行一些交互作用(供用户查询、录入数据等等)。

总体来说,这三个是风马牛不相及。对于财务来说,操作ERP软件是基础,SQL和VBA是职业技能,用来改进工作效率的。打个不太恰当的比方,RP软件就像Excel软件,SQL和VBA类似于公式。
不用公式是不是就不能计算了呢?当然不是了。例如你可以通过命令进行筛选或者在状态栏上显示等等都可以的,甚至还可以用计算器统计好之后再填进去。只不过会公式显然会更快些完成工作罢了。

④ 用VBA向数据库表里插入中文字段是乱码,怎么调

首先把你的页面设置成这个字符集:
Window--Preferences--输入jsp,搜索--点击jsp--在相应的字符集设置上设置成自己想要的编码集。
如果这样还是不行的话,说明你数据库字符集设置有问题,这样设置:
首先把MySQL的服务停掉 在运行窗口输入:net stop mysql
把服务器和客户端的字符集改成自己想用的字符集:GB2312
具体操作为:打开mysql安装目录下的myini.tet;
找到default-character-set,将其改为自己想用的字符集:GB2312或是utf8等……,要注意的是这里有两个default-character-set,用ctrl+f定位在文件最前面输入defaul就会找到,都要改过来;
重启MySQL服务器,在运行窗口输入:net start mysql
最重要的是一点是,到这里我们已经能够解决乱码问题了,可问题是我们依然还会出现乱码问题,这是因为我们现在的表被创建的时候用的是默认的字符集(latin1),所以这时候我们要把表删除,然后重建就可以了

⑤ VBA和SQL有什么相同之处或区别

看着都是代码,实际差别很大。我的理解(虽有偏颇):
SQL:当你用到SQL的时候,它一定是有一个数据源,该数据源可以翻译成以记录的形式存储的数据库
所以SQL就是单纯的针对数据库处理。
VBA:编程,想干啥就干啥。离开SQL,也可实现所有功能,但涉及数据库查询时,没人用VBA,一定是调用SQL(即在宏中,会用到SQL语句)。

⑥ 数据分析里,vba和sql哪个更重要

vba是vba编程吗?
看你是用什么工具做分析了,如果excel做的多,vba就有用了。
如果数据都是存储在数据库里,sql就有用了。

感觉大数据量,一般还是数据库的较多,所以sql更有前景和重要吧。

⑦ 求教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只能执行操作,不能返回数据,必须配合结果集使用才可取回数据。

⑧ 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" 开头的人

⑨ 用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”

然后就就可以正常运行了。

⑩ VBA,SQL有何区别,学哪个比较实用

Vba是vb应用程序,sql是结构化查询语言,看你是从事什么工作,如果是办公类的,那么请学vba,如果是数据库相关的,请学sql