学生系统优化一添加学籍窗体

1.关于更改保存SQLsever数据库表格不受限制的方法
打开SQLsever→工具→选项→设计器→阻止保存要求重新创建表的修改前面的勾去掉,如图
这里写图片描述

2.对于窗体的一些限制

‘家庭住址不能输入特殊字符
Private Sub txtAddress_KeyPress(KeyAscii As Integer)
Dim cTemp As String
cTemp = “`~!@#$%^&*()-=_+[]{};:’|<>/?.‘“”’、,。——+()《》?,~·……¥!:;【】” & “”” ‘禁止输入特殊的字符”
If InStr(1, cTemp, Chr(KeyAscii)) <> 0 Then
KeyAscii = 0
End If End Sub

‘姓名只能输入汉字
Private Sub txtName_keypress(KeyAscii As Integer)
If KeyAscii >= -20319 And KeyAscii <= -3652 Or KeyAscii = 8 Then
Else
KeyAscii = 0
MsgBox “请输入汉字!”, vbOKOnly + vbExclamation, “提示”
txtName.SetFocus
End If End Sub

‘班号只能输入数字
Private Sub comboclassno_KeyPress(KeyAscii As Integer)
If KeyAscii < 7 Or KeyAscii > 9 And KeyAscii < 48 Or KeyAscii > 57 Then
KeyAscii = 0
End If End Sub

‘电话文本框中只能输入数字
Private Sub txtTel_KeyPress(KeyAscii As Integer)
If KeyAscii < 7 Or KeyAscii > 9 And KeyAscii < 48 Or KeyAscii > 57 Then
KeyAscii = 0
End If End Sub

‘学号文本框中只能输入数字
Private Sub txtSID_keypress(KeyAscii As Integer)
Select Case KeyAscii
Case 48 To 57
Case 8
Case Else
KeyAscii = 0
MsgBox “请输入数字”, vbOKOnly + vbExclamation, “提示”
txtSID.Text = “”
End Select

End Sub
“`

3.关于DTPicker控件的一些优化
<1>入学日期不能大于出生日期的代码

Private Sub DTPBorndate_change()
If DTPBornDate.Value >= DTPRudate.Value Then
MsgBox “入学日期大于出生日期,请重新选择!”, vbOKOnly + vbExclamation, “提示”
DTPBornDate.SetFocus
End If End Sub

Private Sub DTPRudate_change()
If DTPRudate.Value <= DTPBornDate.Value Then
MsgBox “入学日期大于出生日期,请重新选择!”, vbOKOnly + vbExclamation, “提示”
DTPRudate.SetFocus
End If End Sub

<2>DTPicker控件不能保存到数据库的问题
当编辑完学籍信息保存到数据库时会报错,如图
这里写图片描述
这个错误的原因是字节太长,超出数据库的限制
再看图
这里写图片描述
日期后面有“星期三”一是类型不符,出现文本类型,二十数字字符太长
方法一:在属性栏中的Format 属性设置为1-dtpshotdate,表示格式为最简化,可我试过了。不行,设置后没有反应。
方法二:把Format 属性设置为3-dtpcustom,表示为用户自定义,在把customFormat属性设置为“yyyy-MM-dd”的形式,这样就行限定了日期的格式,最后把Dateformat属性设置为 , 如图
这里写图片描述
这样更改属性之后,就完全限定了日期的格式为yyyy-MM-dd的格式,也符合数据库保存的要求了,可以保存成功了吧
可还是不行,好像就是跟你杠上了。任由你更改属性就是不行。
我就新建窗体,重新添加部件再试试,可即便是新建的部件也是自带“星期几”,不能更改
方法三:在代码中限制
运用了Format函数(格式化函数),代码为
mrc.Fields(3) = Trim(Format(DTPBornDate.Value, “yyyy-MM-dd”))
运用格式化函数Format,把出生日期DTPBornDate的以前保存形式格式化,限定为yyyy-MM-dd形式即可。

猜你喜欢

转载自blog.csdn.net/qq_42758288/article/details/82190060