设计三个字段: id 整型 value 整型 caption 字符 这个字段不是必需的,仅仅是为了手工查看数据库的时候方便Dim cn As New ADODB.Connection Dim rs As New ADODB.RecordsetPrivate Sub Form_Load() cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:\学习\test.mdb;Persist Security Info=False" cn.Open rs.Open "表1", cn, adOpenForwardOnly, adLockReadOnly, adCmdTable Do While Not rs.EOF Me.Controls(rs.Fields("id")).Value = rs.Fields("value") rs.MoveNext Loop End SubPrivate Sub Form_Unload(Cancel As Integer) Dim i As Long Dim SQL As String SQL = "DELETE FROM 表1" cn.Execute SQL For i = 0 To Me.Controls.Count - 1 If TypeOf Me.Controls(i) Is CheckBox Then SQL = "insert into 表1 values(" & CStr(i) & "," & CStr(Me.Controls(i).Value) & ",'" & Me.Controls(i).Caption & "')" cn.Execute SQL End If Next cn.Close End Sub
1, aaaa 表2(权限列表)
1 ,管理员
2 ,收银员
3 ,登记员表3(操作员权限表)
1,2
1,3这样,说明操作员aaa只有收银和登记的权限,当以后权限增加后,可以随时对操作的权限增加和修改
字符串的第一个字符存第一个Checkbox的值("0"或"1"或"2"),第二个字符存第二个Checkbox的值("0"或"1"或"2"),,.........
查询的时候再把各个分开.
id 整型
value 整型
caption 字符 这个字段不是必需的,仅仅是为了手工查看数据库的时候方便Dim cn As New ADODB.Connection
Dim rs As New ADODB.RecordsetPrivate Sub Form_Load()
cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:\学习\test.mdb;Persist Security Info=False"
cn.Open
rs.Open "表1", cn, adOpenForwardOnly, adLockReadOnly, adCmdTable
Do While Not rs.EOF
Me.Controls(rs.Fields("id")).Value = rs.Fields("value")
rs.MoveNext
Loop
End SubPrivate Sub Form_Unload(Cancel As Integer)
Dim i As Long
Dim SQL As String
SQL = "DELETE FROM 表1"
cn.Execute SQL
For i = 0 To Me.Controls.Count - 1
If TypeOf Me.Controls(i) Is CheckBox Then
SQL = "insert into 表1 values(" & CStr(i) & "," & CStr(Me.Controls(i).Value) & ",'" & Me.Controls(i).Caption & "')"
cn.Execute SQL
End If
Next
cn.Close
End Sub
窗体重新加载的时候,再从数据库里面恢复
再提供一个思路
可能跟楼主的要求不是很符合