问题描述:
Private Sub cmdOk_Click()
If Admin_Name.Text = "" Or Admin_PassWord.Text = "" Or Admin_RegPassWord.Text = "" Then
MsgBox "用户名或密码不能为空,请返回输入!", vbExclamation + vbOKOnly, "提示!"
Admin_Name.SetFocus
ElseIf Admin_PassWord.Text <>Admin_RegPassWord.Text Then
MsgBox "两次密码输入不一致,重新输入!", vbExclamation + vbOKOnly, "提示!"
Admin_PassWord.Text = ""
Admin_RegPassWord.Text = ""
Admin_PassWord.SetFocus
Else
Dim Conn As New ADODB.Connection
Dim StrSql As String
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0Data Source=" &App.Path &"\Data\Hydata.mdb" &"Mode=ReadWritePersist Security Info=False"
'向数据库HYDATA里面的ADMIN表添加窗体上文本框里面的内容。这里应该怎么写呢?
'谢谢了
Conn.Close
End If
End Sub
================================
ACCESS名“HyData” 管理员表名:“Admin”里面的表头是:
Admin_ID,Admin_User,Admin_Pwd,Admin_HomeTel,Admin_Mobile
==================================
AddFrom窗体的文本框
Admin_Name,Admin_PassWord,Admin_RegPassword,Admin_HomeTel,Admin_Mobile.
=其中:Admin_PassWord,Admin_RegPassword 这两个判断两次密码是否一至。。
各位帮我看看。
解析:
xm= Request.Form("xm")
xb= Request.Form("xb")
ah= Request.Form("ah")
qqh= Request.Form("qqh")
set conn=Server.CreateObject("ADODB.Connection")
conn.open "DRIVER=Driver do Microsoft Access (*.mdb)DBQ="&Server.MapPath("data\db1.mdb")
into_db3 = "INSERT INTO 表3 ( xm, xb, ah ,qqh) VALUES('"+xm+"','"+xb+"','"+ah+"','"+qqh+"')"
conn3.Execute(into_db3)
conn3.Close
解释下:
上面的
xm= Request.Form("xm")
xb= Request.Form("xb")
ah= Request.Form("ah")
qqh= Request.Form("qqh") 是从表单中的文本框获取值
set conn=Server.CreateObject("ADODB.Connection")
conn.open "DRIVER=Driver do Microsoft Access (*.mdb)DBQ="&Server.MapPath("data\db1.mdb")
这两句是以字符串方式建立一个数据库连接
db1.mdb就是access数据库名字
data 是站点中用来存放数据库的文件夹,这儿路径一定得对才行.
into_db3 = "INSERT INTO 表3 ( xm, xb, ah ,qqh) VALUES('"+xm+"','"+xb+"','"+ah+"','"+qqh+"')" conn3.Execute(into_db3)这句就是将获得的值插入数据库了,表3是数据库中的一张表,插入时注意对应字段.
conn3.Close
关闭数据库连接, *** 作完成后关闭数据库连接.
当然上面的语句都得在一对定界符<% %>之间.
你自己做时帮相应字段改了就可以了.
还有不懂可以加QQ***********
有两种方法,一、双击控件,就可以写该控件的代码。二、选择控件事件,在事件里写代码。Private
Sub
Command1_Click()
'代码
End
Sub
Private
Sub
Form_Load()
'代码
End
Sub
由于list是但列数据表格,所以你的要求其实用grid之类的是最容易实现的。用list也可以实现,但需要用代码软实现。在窗体上添加1个ListBox,1个TextBOX,3个CommandButton控件。把ListBox的Sorted属性改为True。该属性为让ListBox控件可以自动按字母排序。由于Sorted属性,所以要把序号用00占位,否则排序结果将为
1、10、100、11、12……
然后粘贴如下代码:
Private Sub Command1_Click()
On Error Resume Next
'添加一个新信息
Me.List1.AddItem Right("00" &Me.List1.ListCount + 1, 3) &" " &Me.Text1.Text
'如果要插入在数据中则使用以下代码,但需要再建立一个text来写插入的序号,即将Tmp替换成新text的值
'Dim Tmp As Integer
'Tmp = 10
'Tmp-1是将序号10变成列表里的第9行,因为list是从0开始的.
'Me.List1.AddItem Right("00" &Tmp, 3) &" " &Me.Text1.Text, Tmp - 1
'For i = Tmp To Me.List1.ListCount - 1
'DoEvents
'Me.List1.List(i) = Right("00" &i + 1, 3) &" " &Right(Me.List1.List(i), Len(Me.List1.List(i)) - InStr(Me.List1.List(i), " ") - 2)
'Next
'将最后一列数据变更为最大的数字
'Me.List1.List(Me.List1.ListCount - 1) = Right("00" &Me.List1.ListCount, 3) &" " &Right(Me.List1.List(Me.List1.ListCount - 1), Len(Me.List1.List(Me.List1.ListCount - 1)) - InStr(Me.List1.List(Me.List1.ListCount - 1), " ") - 2)
End Sub
Private Sub Command2_Click()
On Error Resume Next
'修改信息
Me.List1.List(Me.Text1.Tag) = Right("00" &Me.Text1.Tag + 1, 3) &" " &Me.Text1.Text
End Sub
Private Sub Command3_Click()
On Error Resume Next
'删除信息
For i = CInt(Me.Text1.Tag) To Me.List1.ListCount - 1
DoEvents
Me.List1.List(i) = Right("00" &i + 1, 3) &" " &Right(Me.List1.List(i + 1), Len(Me.List1.List(i + 1)) - InStr(Me.List1.List(i + 1), " ") - 2)
Next
'删除最后一条数据
Me.List1.RemoveItem (Me.List1.ListCount - 1)
'由于是用list做序号,所以无法再使用RemoveItem方法
'Me.List1.RemoveItem (Me.Text1.Tag)
End Sub
Private Sub Form_Load()
'这个地方如果是1000,就要将 Right("00" &i, 3) 修改成 Right("000" &i, 4)
'最大数是多少就要修改下
For i = 1 To 100
Me.List1.AddItem Right("00" &i, 3) &" XXX" &i
Next
Me.Command1.Caption = "添加"
Me.Command2.Caption = "修改"
Me.Command3.Caption = "删除"
End Sub
Private Sub List1_Click()
'将列表里的信息去掉序号后显示在文本中
Me.Text1.Text = Right(Me.List1.Text, Len(Me.List1.Text) - InStr(Me.List1.Text, " ") - 2)
'将序列号保存在Text的Tag属性中
Me.Text1.Tag = Me.List1.ListIndex
End Sub
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)