Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

求助~把数据库转了SQL2000数据库后出错了

伟汶  发表于:2011-10-02 21:41:34  
复制

求助~把数据库转了SQL2000数据库后出错了

Private Sub cmdOK_Click()
    Dim strSQL As String
   
    If Nz(Me.txtUserName) = "" Then
        MsgBox "请输入用户!", vbCritical, ""
        Me.txtUserName.SetFocus
        Exit Sub
    End If
      
    If Nz(Me.txtPassword) = "" Then
        MsgBox "请输入密码!", vbCritical, ""
        Me.txtPassword.SetFocus
        Exit Sub
    End If
   
    If Len(Me.txtPassword) < 6 Then
        MsgBox "密码不能少于6位!", vbCritical, ""
        Me.txtPassword.SetFocus
        Exit Sub
    End If
        
    If Nz(Me.txtConfirmPwd) = "" Then
        MsgBox "请输入确认密码!", vbCritical, ""
        Me.txtConfirmPwd.SetFocus
        Exit Sub
    End If
        
    If Me.txtPassword <> Me.txtConfirmPwd Then
        MsgBox "两次输入的密码不符,请重新输入!", vbCritical, ""
        Me.txtPassword = ""
        Me.txtConfirmPwd = ""
        Me.txtPassword.SetFocus
        Exit Sub
    End If
        
    If Nz(Me.cboPwdprompt) <> "" And Nz(Me.txtPromptAnswer) = "" Then
        MsgBox "提示答案不能为空!", vbCritical, ""
        Me.txtPromptAnswer.SetFocus
        Exit Sub
    End If
    '将注册内容保存表用户表
    If NewRecord = False Then DoCmd.RunCommand acCmdRecordsGoToNew
    Me![FUserName] = Me.txtUserName
    Me![FPassword] = RC4(Me.txtPassword) '密码加密后再保存
    If Nz(Me.cboPwdprompt) <> "" Then Me![FPwdPrompt] = Me.cboPwdprompt
    If Nz(Me.txtPromptAnswer) <> "" Then Me![FPromptAnswer] = (Me.txtPromptAnswer)
    DoCmd.Save
    '添加注册用户权限信息,所有窗体权限都被设为默认值0(不允许使用)
    strSQL = "INSERT INTO usysRights ( FFormID, FUserID ) SELECT FFormID, " & Me![FUserID] & " FROM usysForms"
    CurrentDb.Execute strSQL    '(在这里提示出错了)
   
        
    If Err = 0 Then
        MsgBox "注册成功!" & vbCrLf & "目前您无权使用本系统中功能,请等待系统管理员审核!", vbInformation, ""
        If FormIsLoaded("frmEntry") = True Then Forms("frmEntry")!cboUserName.Requery
        DoCmd.Close
    End If
   
End Sub

有老师在吗请看看
谢谢!

 

Top
dbaseIIIer 发表于:2011-10-03 06:12:10

那你到底出什么错了?

 

数值类型不符合?

 

还是没有表名?

 

usysForms 在默认数据库内吗? 没有, 就要 FROM 数据库名..usysForms

 

若果 Access 里没有错误原因, 你就在 SQL所附的 查询编辑器 内执行一下 SQL 语句的内容,

就会看到什么错误的了.



方伟汶 发表于:2011-10-03 11:20:14

运行到在这里错误      可能是不支持ADP   但我不知道怎么改

CurrentDb.Execute strSQL    '(在这里提示出错了)



dbaseIIIer 发表于:2011-10-03 18:40:24

在 立即窗口  ? strSQL 出来看看吧!

 

或者自己拷到 SQL安装附带的  查询编辑器 内 执行一次!

 

要是你不用Access 的项目内建立SQL数据库连接的话,

记得ACCESS登入SQL服务器需要设定 默认数据库的,

要不然会是 SQL2000 内自定的默认数据库的,

你做什么操作都会在那个库, 连 select top 0 你自己的表面 都不行的!



方伟汶 发表于:2011-10-08 23:37:37
好的,我试试。谢谢你的回复

dbaseIIIer 发表于:2011-10-09 08:46:17

 

试试 strSQL = "INSERT INTO usysRights ( FFormID, FUserID ) SELECT Top 0 FFormID, 1 FROM usysForms"

CurrentDb.Execute strSQL

试试 strSQL = "INSERT INTO 库名..usysRights ( FFormID, FUserID ) SELECT Top 0 FFormID, 1 FROM usysForms"
CurrentDb.Execute strSQL

 

看错误是否还是一样?



andymark 发表于:2011-11-15 18:07:50

转ADO吧,估计CURRENTDB 打开的对像有问题



总记录:6篇  页次:1/1 9 1 :