Office中国论坛/Access中国论坛

标题: 麻烦看一下代码哪里错了?还有两个小要求 [打印本页]

作者: totalwolf    时间: 2009-9-9 21:48
标题: 麻烦看一下代码哪里错了?还有两个小要求
麻烦看一下代码哪里错了?

Private Sub CommandButton1_Click()
    [d2] = ""
    [f2] = ""
    [b3] = ""
    [e3] = ""
    [f3] = ""
CommandButton2.Enabled = True
    If [b2] <> "" Then
        Else
        [b2] = VBA.Date
    End If
   
    orderno = "'" & Format([b2], "yyMM") & Format(GetOrderNo([b2]), "00000")
    [d2] = orderno
   
End Sub

Function GetOrderNo(dte As Date) As Integer
   
    Dim cnn As New Connection
    Dim rs As New Recordset
   
    Dim sqlstr As String
   
    With cnn
        .Provider = "Microsoft.Jet.OLEDB.4.0"
        .ConnectionString = "Data Source=" & ThisWorkbook.FullName & ";Extended Properties=Excel 8.0"
        .CursorLocation = adUseClient
        .Open
    End With
   
    sqlstr = "select max(right([订单编号],5)) from [sheet2$a:f] where [订单日期]=#" & dte & "#"
    rs.Open sqlstr, cnn
    If Not rs.EOF And IsNull(rs.Fields(0)) = False Then
        i = rs.Fields(0)
        Else
        i = 0
    End If
    GetOrderNo = i + 1
End Function

Private Sub CommandButton2_Click()
    i = Sheet3.Range("a65536").End(xlUp).Row + 1
    'MsgBox i
    Sheet3.Range("a" & i) = [b2]
    Sheet3.Range("b" & i) = [d2]
    Sheet3.Range("c" & i) = [f2]
    Sheet3.Range("d" & i) = [b3]
    Sheet3.Range("e" & i) = [e3]
    Sheet3.Range("f" & i) = [f3]



    CommandButton2.Enabled = False
End Sub

Private Sub Worksheet_Activate()



End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Row = 3 And Target.Column = 5 Then
        'MsgBox Target.Address
        [b3] = Sheet2.Range("c:c").Find(Target.Value).Offset(0, -2).Value
        '[e3] = Sheet2.Range("c:c").Find(Target.Value).Offset(0, -1).Value
        
    End If
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

End Sub




测试显示一下内容


运行时错误“1004”
应用程序定义或对象定义错误

还有两个小要求
1,
设置权限。
1,开单员增加可以查看SHEET2的权限。
2,3个用户设置密码,密码不一样或可修改。

密码是12345
作者: liwen    时间: 2009-9-10 12:35
合并单元格把所有的单元格都包括进去如:[B3:C4],[E3:I4]或取消单元格的锁定状态.
1.不隐藏而只使用保护工作表
    Sheet2.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, Password:="Sheet2Protect"
   Sheet2.Unprotect Password:="Sheet2Protect"
2密码你可以随便设,当然可以不同,要想用户密码可以更改的话,使用单独的表存储用户密码信息.
作者: totalwolf    时间: 2009-9-10 19:03
可以帮我改一下吗?我是初学者,很多都还在摸索中。
作者: liwen    时间: 2009-9-10 23:06
初学就应该多尝试,借助录制宏可以简化一些思路和避免书写错误.多使用帮助文件,要善于从别人的提示中找到一些关键词,通过这些关键词查找更多帮助.
作者: totalwolf    时间: 2009-9-11 08:55
本帖最后由 totalwolf 于 2009-9-11 09:12 编辑

谢谢版主!谢谢.我也在努力学习中。   SHEET2设置保护密码是多少?
作者: liwen    时间: 2009-9-11 10:16
sheet2保护密码在代码中,Password:后
作者: totalwolf    时间: 2009-9-11 16:58
谢谢!




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3