读书人

VB 批改窗体代码请求指正 俺是新手

发布时间: 2012-12-17 09:31:40 作者: rapoo

VB 修改窗体代码请求指正 俺是新手
'修改按钮
Private Sub cmdModify_Click()
strUserManage = UserManage(2)
If strUserManage = "ReadOnly" Then
MsgBox "对不起,你是只读用户不能修改记录,请与管理员联系!", vbInformation + vbOKOnly, " 警告"
Exit Sub
End If
'声明ADODB.Recordset对象变量
Dim rs As ADODB.Recordset
strSQL = "select * from documents where 学号='" & flgDocData.Columns(0) & "'"
'strSQL = "select * from documents where 学号='" & trvDocument.SelectedItem & "'"
Set rs = ExecuteSQL(Trim(strSQL))
Set Me.flgDocData.DataSource = rs
If rs.RecordCount > 0 Then

'显示班级修改界面
blnModifyDoc = True
frmDocModify.Show
frmDocModify.ZOrder 0
Else
MsgBox "你还没有选择记录!", vbOKOnly + vbExclamation, "警告"
Exit Sub
End If
End Sub

修改窗体:
Option Explicit

Dim strSQL As String

Private Sub comDocument_Click(Index As Integer) '组合框设置
Dim objRecordset As ADODB.Recordset

strSQL = "select 专业,年制 from Classes where 班级='" & Trim(comDocument(1).Text) & "'"
Set objRecordset = ExecuteSQL(strSQL)
objRecordset.Close
End Sub

Private Sub cmdOK_Click()
Dim i As Integer
Dim objRecordset As ADODB.Recordset

'输入学生信息
For i = 0 To 7
If txtDocument(i) = "" Then
MsgBox lblDocument(i).Caption & "不能为空!", vbExclamation + vbOKOnly, "警告"
txtDocument(i).SetFocus
txtDocument(i).SelStart = 0
txtDocument(i).SelLength = Len(txtDocument(i).Text)
Exit Sub
End If
Next

'查找输入的学生信息是否存在
strSQL = "select * from Documents where 学号='" & Trim(txtDocument(0).Text) & "'"
Set objRecordset = ExecuteSQL(strSQL)
'如果是登记新的学生信息,则该数据库中必须不存在该信息
If blnModifyDoc = False Then


If objRecordset.EOF = False Then
MsgBox "已经存在该学号的记录,学号不能重复!", _
vbExclamation + vbOKOnly, "警告"
txtDocument(0).SetFocus
txtDocument(0).SelStart = 0
txtDocument(0).SelLength = Len(txtDocument(0).Text)
objRecordset.Close
Exit Sub
End If
End If

'判断是否日期格式
If Not IsDate(txtDocument(2).Text) Then
MsgBox "请输入日期 mm-dd-yy", vbInformation + vbOKOnly, "警告"
txtDocument(2).SetFocus
txtDocument(2).SelStart = 0
txtDocument(2).SelLength = Len(txtDocument(2).Text)
Exit Sub
End If

If Not IsDate(txtDocument(6).Text) Then
MsgBox "请输入日期 mm-dd-yy", vbInformation + vbOKOnly, "警告"
txtDocument(6).SetFocus
txtDocument(6).SelStart = 0
txtDocument(6).SelLength = Len(txtDocument(6).Text)
Exit Sub
End If

'如果是修改新的学生信息



'将新的学生信息登记到数据库
strSQL = "select * from Documents "
Set objRecordset = ExecuteSQL(strSQL)
objRecordset.AddNew '对记录集数据的添加

For i = 4 To 9
objRecordset.Fields(i) = txtDocument(i - 2).Text '因为文本框与记录集对象的字段相差2
Next i
objRecordset.Fields(0) = Trim(txtDocument(0).Text)
objRecordset.Fields(1) = Trim(txtDocument(1).Text)
objRecordset.Fields(2) = Trim(comDocument(0).Text)
objRecordset.Fields(3) = Trim(comDocument(1).Text)
objRecordset.Update
Set objRecordset = Nothing

For i = 0 To 7
txtDocument(i) = ""
Next
End Sub

Private Sub cmdCancel_Click()
Unload Me
End Sub




Private Sub Form_Load()
Dim a
Dim rs As ADODB.Recordset
Dim i As Integer




comDocument(0).AddItem "男"
comDocument(0).AddItem "女"
comDocument(0).Text = "男"
'comDocument(1).AddItem "0901"
'comDocument(1).AddItem "0902"
'comDocument(1).AddItem "1001"
'comDocument(1).Text = "1001"

strSQL = "select * from Documents"
Set rs = ExecuteSQL(strSQL)
rs.MoveFirst

Do While Not rs.EOF
'comDocument(0).AddItem rs.Fields(1)
comDocument(1).AddItem rs.Fields(3)
rs.MoveNext
Loop
comDocument(1).ListIndex = 1


a = Format(Now, "yyyy - mm - dd")
txtDocument(2).Text = a
txtDocument(6).Text = a
If blnModifyDoc = True Then '修改档案管理布尔变量
strSQL = "select * from Documents where 班级='" & frmDocBrowse.trvDocument.SelectedItem & "'" '从档案表查询班级为档案预览表的树形框所选择的记录
Set rs = ExecuteSQL(strSQL)
txtDocument(0).Text = rs.Fields(0) '查询结果的赋值,
txtDocument(1).Text = rs.Fields(1)
For i = 4 To 9 '用FOR语句给文本框赋值
txtDocument(i - 2).Text = rs.Fields(i)

Next i
comDocument(0).Text = rs.Fields(2)
comDocument(1).Text = rs.Fields(3)
txtDocument(0).Enabled = False
txtDocument(1).Enabled = False
For i = 2 To 6
txtDocument(i).Text = ""
Next i
Else
For i = 0 To 6
txtDocument(i).Text = ""
Next i
End If


End Sub

Private Sub txtDocument_GotFocus(Index As Integer)
If Index = 6 Then
txtDocument(6).SelStart = 0
txtDocument(6).SelLength = Len(txtDocument(6).Text)
End If
End Sub
请求指正:修改不了 ,只能添加,
[解决办法]
就一个添删改,LZ你整的这么??
Set objRecordset = ExecuteSQL(update TAble set XX = '')不就OK了
[解决办法]
具体 点好不

[解决办法]
一本课本里的

读书人网 >VB

热点推荐