excel能否与access进行信息的部分导入和导出 5

对access没有基础,不懂编程,但是想了解一下,从access导出部分信息的excel表格进行修改后,能否再把修改的结果倒回到access中,导出的数据可能是部分的,不... 对access没有基础,不懂编程,但是想了解一下,从access导出部分信息的excel表格进行修改后,能否再把修改的结果倒回到access中,导出的数据可能是部分的,不是全部的信息。
如果可以,也请告知方法,非常感谢!!
展开
 我来答
pepe3399
2017-08-29 · 知道合伙人软件行家
pepe3399
知道合伙人软件行家
采纳数:1259 获赞数:5944
1988年毕业于苏州市职业大学计算机专业 从事软件开发5年 从事生产管理20年

向TA提问 私信TA
展开全部

通过vba可以实现读取或写入access数据库。

举例说明:

有一个小工厂,需要在车间展示订单的进展状况,实现电子看板功能,实现方案就是用vba+access数据库。

第一步:创建access数据库。下图是该数据库所涉及的表格以及kb表的部分字段。

第二步:插入用户窗体以及模块。

第三步:编制相应代码。由于篇幅所限,无法将整个过程及代码全部展示,先展示部分和数据库连接以及读取access数据库的代码。

这个是程序开始的用户登录界面用户窗体。启动该窗体需要调用数据库的用户密码表格。如图

代码如下:

Private Sub UserForm_initialize()
Dim rst As New ADODB.Recordset
Dim mYpath As String
mYpath = ThisWorkbook.Path & "\rykb.accdb"
Set conn = CreateObject("ADODB.Connection") '这属于后期绑定
conn.ConnectionString = "Provider=Microsoft.Ace.OleDB.12.0;Data Source=" & mYpath
conn.ConnectionString = conn.ConnectionString & ";Jet OLEDB:Database Password=1"  ‘数据库连接 密码 1
conn.Open

Sql = "SELECT * from yhgl2 " ‘获取表格yhgl2的所有字段及记录
rst.Open Sql, conn, adopenkeyset, adlockoptimistic
arr = rst.GetRows
For i = 0 To rst.RecordCount - 1
ComboBox1.AddItem arr(0, i) ‘将用户名写入控件,以便于用户选择
Next i
rst.Close
conn.Close
TextBox2.PasswordChar = "*"


End Sub
登录按钮代码如下:

Private Sub CommandButton1_Click()
Dim rst As New ADODB.Recordset
Dim mYpath As String
Dim YHM As String '用户名
Dim MM As String '密码
Dim YHZ As String
YHM = TextBox1.Text
MM = TextBox2.Text
mYpath = ThisWorkbook.Path & "\rykb.accdb"
Set conn = CreateObject("ADODB.Connection")
conn.ConnectionString = "Provider=Microsoft.Ace.OleDB.12.0;Data Source=" & mYpath
conn.ConnectionString = conn.ConnectionString & ";Jet OLEDB:Database Password=1"
conn.Open

Sql = "SELECT * from yhgl2 WHERE 用户名 = " & "'" & YHM & "'"
rst.Open Sql, conn, adopenkeyset, adlockoptimistic
BJ = False '标记默认为false
If rst.RecordCount < 1 Then
MsgBox ("该用户不存在!")
Else



arr = rst.GetRows
If arr(2, 0) = MM Then BJ = True

If BJ = False Then
MsgBox ("密码不正确!")
End If
End If

If BJ Then

YHZ = arr(1, 0)
Sql = "SELECT * from yhgl1 WHERE 用户组名 = " & "'" & YHZ & "'"
rst.Close
rst.Open Sql, conn, adopenkeyset, adlockoptimistic
arr = rst.GetRows
qx1 = arr(1, 0)
qx2 = arr(2, 0)
qx3 = arr(3, 0)
qx4 = arr(4, 0)
qx5 = arr(5, 0)
qx6 = arr(6, 0)
qx7 = arr(7, 0)
Unload Me
Call main(qx1, qx2, qx3, qx4, qx5, qx6, qx7)

End If
rst.Close
conn.Close
End Sub

运行代码的效果如图:

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式