|
yty773436272 发表于 2012-2-1 10:41
1、感谢朋友的帮助,确实我表示不清楚,现在我已经把要求重新编辑了一下,并且把数据库的字段已统一啦 ...
1. 你这样设置ACCESS的表格是否最优,值得商榷.我还是建议分表表述,以主键(Primary Key)和辅键(Foreign Key)的方式使各表格相关
2.主键的设置如果是"产品编号、产品名称、生产日期”三列能够作为判断记录(Record or Row)唯一值,建议你将生产日期也放在前几列中(黄色部分),便于各表提取和上传数据时设置条件.
3.总体来看,要满足你全部要求,需花些精力边做边与你沟通;这里我暂时回答你关于密码的设置(以ACCESS 2003为基准),要点是先运行空白ACCESS,从里面File --> Open Exclusively方式打开你的数据库
VBA以军工表上传为例,修改如下:
- Sub 另存命令()
- Dim cnn As New ADODB.Connection
- Dim Sql As String
- Dim MySh As String
- Dim Mima As String
- MySh = ActiveSheet.Name
- Mima = InputBox("请输入Access原始数据库密码:", "密码框")
- On Error Resume Next
- cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & ThisWorkbook.Path & "\原始数据.mdb;Jet OLEDB:Database Password=" & Mima & ""
- If Err.Number <> 0 Then
- MsgBox " 数据库密码错误!"
- Exit Sub
- End If
- On Error GoTo 0
- Sql = "insert into 数据 select * from [Excel 8.0;Database=" & ThisWorkbook.FullName & "].[" & MySh & "$A2:H" & Range("A" & Rows.Count).End(xlUp).Row & "]"
- cnn.Execute Sql
- cnn.Close
- Set cnn = Nothing
- MsgBox "保存完毕"
- End Sub
复制代码
|
|