Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 2827|回复: 10

[已解决]如何修改本附件新建数据库时自动设定打开数据库密码为123

[复制链接]
发表于 2013-5-21 08:48 | 显示全部楼层 |阅读模式
本帖最后由 qinhuan66 于 2013-5-22 08:29 编辑

求助:如何修改本附件新建数据库时自动设定打开数据库密码为123,现在的代码新建时密码为空。
注:附件(写入数据库代码由hwc2ycy老师编写,在此非常感谢hwc2ycy老师)

报销统计录入.rar (24.53 KB, 下载次数: 9)
发表于 2013-5-21 09:38 | 显示全部楼层
Access 开发人员参考
ALTER USER 或 DATABASE 语句 (Microsoft Access SQL)

更改现有用户或数据库的密码。

语法
ALTER DATABASE PASSWORD newpassword oldpassword

ALTER USER user PASSWORD newpassword oldpassword

ALTER USER 或 DATABASE 语句包含以下部分:

部分 说明
user 要添加到工作组信息文件中的用户的名称。
newpassword 与指定的 user 或 database 名称相关联的新密码。
oldpassword 与指定的 user 或 group 名称相关联的现有密码。
回复

使用道具 举报

发表于 2013-5-21 09:45 | 显示全部楼层
估计得用DAO方式了,SQL有可能支持不行。
回复

使用道具 举报

 楼主| 发表于 2013-5-21 09:48 | 显示全部楼层
hwc2ycy 发表于 2013-5-21 09:45
估计得用DAO方式了,SQL有可能支持不行。

是不是要加上这些

On Error Resume Next
    If Dir(数据库) = "" Then
        Cat.Create "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & 数据库 & ";Jet OLEDB:Database Password=123"
    Else
        Cat.ActiveConnection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & 数据库 & ";Jet OLEDB:Database Password=123"
        Cat.Tables.Delete 数据表
    End If
    Set Cat = Nothing
    On Error GoTo 0

    cnn.Open "provider=microsoft.jet.oledb.4.0;data source=" & 数据库 & ";Jet OLEDB:Database Password=123"
    SQL = "select * into " & 数据表 & " from (" & SQL & ")"
    cnn.Execute SQL
    cnn.Close
    Set cnn = Nothing

回复

使用道具 举报

发表于 2013-5-21 10:03 | 显示全部楼层
对呀,你这个方法可以的。
你试试,我有点事先忙会。
回复

使用道具 举报

发表于 2013-5-22 07:50 | 显示全部楼层
就这两相关的两句就成了,你的思路不错,学习了。
  1.         AdoxCat.Create "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & AccessFile & ";Jet OLEDB:Database Password=123;"
复制代码
  1.     StrConn = "Provider=Microsoft.ACE.OLEDB.12.0;" & "Data Source='" & _
  2.               AccessFile & "';jet oledb:Database Password=123"
复制代码
回复

使用道具 举报

发表于 2013-5-22 07:53 | 显示全部楼层    本楼为最佳答案   
  1. Sub 提交到Access数据库()
  2.     Dim AccessFile As String, Database As String, SQL As String
  3.     Dim StrConn$, strSql$
  4.     Dim lLastrow&
  5.     Dim arr, i&, j As Byte

  6.     Dim AdoxCat As Object
  7.     Dim AdoCmd As Object
  8.     Dim AdoConn As Object
  9.     Dim AdoRst As Object


  10.     On Error GoTo Errcheck

  11.     AccessFile = ThisWorkbook.Path & "\data.mdb"
  12.     Database = "data"
  13.     If Dir(AccessFile) = "" Then

  14.         '检测文件是否存在,不存在则创建数据库
  15.         Set AdoxCat = CreateObject("adox.catalog")
  16.         AdoxCat.Create "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & AccessFile & ";Jet OLEDB:Database Password=123;"
  17.         Set AdoConn = AdoxCat.ActiveConnection
  18.         Set AdoCmd = CreateObject("ADODB.Command")
  19.         Set AdoCmd.ActiveConnection = AdoConn
  20.         AdoCmd.CommandText = "CREATE TABLE " & Database & _
  21.                              " (年份 INTEGER,录入时间 datetime ,序号 text(3),定点医疗机构名称 text(50),医保卡号 text(12),单位名称 text(50)," & _
  22.                              "姓名 text(8),性别 text(2),年龄 text(2),入院日期 datetime ,出院日期 datetime ,住院天数 INTEGER,出院诊断 text(50)," & _
  23.                              "本次住院医疗费总额 REAL,甲类药费 real,乙类药费 real,进口药费 real,自费药费 real,超出范围 real," & _
  24.                              "进口材料费 real,国产材料费 real,特殊检查费特殊治疗费 real,丙类项目 real,其它费用 real,起付段金额 real," & _
  25.                              "个人政策自付小计 real,自费药品及自费项目 real,实际结算自付 real,统筹基金支付 real,大病求助基金支付 real," & _
  26.                              "个人支付金额 real,本年住院次数 INTEGER,本年范围内费用累计 real,本年大病范围内费用累计 real)"
  27.         AdoCmd.Execute , , 1    'adCmdText
  28.         Set AdoCmd = Nothing
  29.         Set AdoxCat = Nothing
  30.         Set AdoConn = Nothing

  31.     End If
  32.     If Len([B3]) = 0 Or Len([B5]) = 0 Or Len([B8]) = 0 Then
  33.         MsgBox "定点医疗机构名称(B3)、姓名(B5)、本次住院医疗费总额(B8)数据输入不完整,请先填好数据再进行提交。"
  34.         Exit Sub
  35.     End If


  36.     StrConn = "Provider=Microsoft.ACE.OLEDB.12.0;" & "Data Source='" & _
  37.               AccessFile & "';jet oledb:Database Password=123"

  38.     Set AdoConn = CreateObject("ADODB.Connection")

  39.     With AdoConn
  40.         .CursorLocation = 3
  41.         .Mode = 3
  42.         .CommandTimeout = 5
  43.         .connectionTimeout = 5
  44.         .Open StrConn
  45.     End With


  46.     strSql = "select * from " & Database & " where 入院日期=#" & [D6] & "# " & " and 姓名 like '" & [B5] & "' and 本次住院医疗费总额=" & [B8]

  47.     Set AdoRst = AdoConn.Execute(strSql)
  48.     If AdoRst.RecordCount = 0 Then
  49.         strSql = " insert into " & Database & " values(" & [B2] & ",#" & [D2] & "#,'" & [F2] & "','" & [B3] & "','" & [F3] & "','" & [B4] & "','" & _
  50.                  [B5] & "','" & [D5] & "','" & [F5] & "',#" & [B6] & "#,#" & [D6] & "#," & [F6].Value & ",'" & [F7] & "'," & _
  51.                  [B8] & "," & [D8] & "," & [F8] & "," & [B9] & "," & [D9] & "," & [F9] & "," & _
  52.                  [B10] & "," & [D10] & "," & [F10] & "," & [B11] & "," & [D11] & "," & [F11] & "," & _
  53.                  [B12] & "," & [D12] & "," & [F12] & "," & [B13] & "," & [D13] & "," & _
  54.                  [F13] & "," & [B14] & "," & [D14] & "," & [F14] & ")"
  55.         AdoConn.Execute strSql
  56.         MsgBox "本次数据已成功添加的数据库"
  57.         [B3] = ""
  58.         [B5] = ""
  59.         [B8] = ""
  60.     Else
  61.         MsgBox "注意:记录已经存在,不能重复添加!"
  62.     End If

  63.     AdoConn.Close
  64.     Set AdoConn = Nothing
  65.     Exit Sub

  66. Errcheck:

  67.     MsgBox Err.Number & vbNewLine & _
  68.            Err.Description
  69. End Sub
复制代码

评分

参与人数 1 +3 收起 理由
qinhuan66 + 3 谢谢老师。您辛苦了。谢谢

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2013-5-22 18:35 | 显示全部楼层
hwc2ycy 发表于 2013-5-22 07:53

您好老师今天我拷贝到2003里操作发现下图错误,删除数据库打开时没问题,但打开第二次就会跳出下图(因为第一次打开时会建新的空白数据)
2013-05-22_183316.gif
回复

使用道具 举报

发表于 2013-5-22 18:57 | 显示全部楼层
    StrConn = "Provider=Microsoft.ACE.OLEDB.12.0;" & "Data Source='" & _
              AccessFile & "';jet oledb:Database Password=123"
这个只适用于07-13版本,03肯定不成。
回复

使用道具 举报

发表于 2013-5-22 18:58 | 显示全部楼层
            strConn = "Provider= Microsoft.Jet.OLEDB.4.0;" & _
                      "Data Source='" & AccessFile  & "';jet oledb:Database Password=123"

评分

参与人数 1 +3 收起 理由
qinhuan66 + 3 OK 真的很给力。谢谢

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-24 10:51 , Processed in 0.352280 second(s), 16 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表