‘壹’ excel vba和 数据库
VBA是excel自身就可以使用的,具有可视化的,有另一个叫法叫做宏。
从你的题目看是基于excel做学生成绩管理系统,那就应该是基于excel,用excel本身的VBA去做,不需要用到C++,否则的话做数据存储不是用数据库更好,就算你不想用到mysql,sqlserver这类数据库,你也可以用access。
如果按照我的理解,基于excel的学生成绩管理系统应该是利用excel做为前台操作界面,数据存储试用access进行存储或是直接用excel存储也可以。我记得之前在网上看过就是利用excel的VBA去做这种可视化系统的,完全用excel进行操作,当然用excel的vba去做这样一个系统只能做一个小型的试验性系统,一旦数据量过大,那个性能是难以接受的。
以上个人意见,仅供参考。
‘贰’ vba 数据库
下面有个例子代码你可以参考:
‘叁’ vbaExcel连接数据库的好处
EXCEL vba 数据库连接
听语音
原创
|
浏览:7393
|
更新:2016-06-23 16:12
|
标签:EXCELVBA
‘肆’ 如何用vba连接数据库
Public Sub SynTableConfig()
Dim cnn As New ADODB.Connection, sh As Worksheet
Dim rs As New ADODB.Recordset
Dim cnnStr As String, SQL As String
'建立与SQL Server数据库服务器的连接
cnnStr = "Provider=SQLOLEDB;Initial Catalog=" & myDataBase & ";User ID=" & myname & ";Password=" & mypassword & ";Data Source=" & serverip
cnn.ConnectionString = cnnStr
cnn.Open
SQL = "select * from sys_table where id='123' order by 表名称"
Set rs = cnn.Execute(SQL)
While Not rs.EOF
.............
rs.MoveNext
Wend
rs.Close
Set rs = Nothing
cnn.Close
Set cnn = Nothing
End Sub
‘伍’ VBA 数据库问题
例如数据库名(你例子中的NAME)使用A1的语句为:
strCn = "Provider=sqloledb;Server="& Range("A1") &";Database=data;Uid=sa;Pwd=sa;"
继续使用A2的数据库名、A3用户名、A4密码的语句:
strCn = "Provider=sqloledb;Server="& Range("A1") &";Database="& Range("A2") &";Uid="& Range("A3") &";Pwd="& Range("A4") &";"
‘陆’ 如何用VBA调用数据库中数据
首先在工具 引用 中引入ADO组件(全名叫Microsoft ActiveX Data什么的,很好好找),然后声明一个连接变量 conn as ADODB.Connetion用来连接数据库,这里需要连接字符串,不知道你是什么类型数据库,所以连接字符串无法给出,再声明一个数据集变量ds as ADODB. DATASET用于执行SQL语句并返回结果集,得到结果集之后就可以访问里面的内容了
‘柒’ 怎么在VBA中把excel中的数据 写入数据库
excel是一个自由表,一个EXCEL的工作薄就是一个数据库,它里面的每一张表就是数据库的表,你可象操作表一样对其进行查询等操作,它里面的列就是数据库的字段,行就是记录,因此你可以按数据库的架构来组建数据,只是你如果你组建的数据不符合数据库的规则,在查询时不能得到时相应的结果。因此在EXCEL中不存在创建数据库。但对存在的数据可以引用。当满足条件A、B、C、D……时引用是可以的,但如果是在EXCEL中直接引用是不行的,一种是用VBA利用ADO访问EXCEL,在查询时把A、B、C、D几个条件按SQL语法写进查询语句中,引用返回的记录集,一种是利用函数把满足A、B、C、D的记录筛选出来,然后再引用。
‘捌’ VBA 数据库
很显然,你那个SQL语句写得有点问题,STR1 与 STR2,STR3是变量,你没有分离出来变成了固定字串, 如下修改看看:
SQL = "select * from IAC where OPTIONNO=" &str1 & " and PARENTNO=" &str2 &" and PRODUCTNO=" &str3
‘玖’ VBA 从数据库读取数据写到 EXCEL
'sql完整例子
SubtestSql()
'定义连接对象
DimcnnAsNewADODB.Connection
DimrsAsNewADODB.Recordset
'定义连接字符串
DimconStrAsString
DimsqlstrAsString
'连接字符串-以下是连接MSSQL数据库
conStr="Provider=sqloledb;"_
&"Server=192.168.1.121;"_
&"Database=DATABASENAME;Uid=admin;Pwd=admin;"
cnn.OpenconStr
sqlstr="SELECT*fromtablename"
rs.Opensqlstr,cnn
Range("a2").CopyFromRecordsetrs
rs.Close
cnn.Close
EndSub