|
.Text = -CDbl(rs_data2.Fields(7))
Else
.Text = rs_data2.Fields(7)
End If
.Col = 8
If Not IsNull(rs_data2.Fields(8)) Then .Text = rs_data2.Fields(8) Else .Text = ""
rs_data2.MoveNext
Loop
rs_data2.MoveLast
End If
End With
End Sub
(5) 查询子窗体代码
查询子窗体是用来查询库房中图书资料明细的。其运行效果如图41所示。

图41 查询子窗体运行效果
在列表框中给出编号或年月日后,“查询”按钮的Click事件将给出与数据库查找比较的结果。
Private Sub Command1_Click()
On Error GoTo cmderror
Dim find_date1 As String
Dim find_date2 As String
If Option1.Value = True Then
sqlfind = "select * from 图书资料 where 编号 between '" & _
Combo1(0).Text & "'" & " and " & "'" & Combo1(1).Text & "'"
End If
If Option2.Value = True Then
find_date1 = Format(CDate(Comboy(0).Text & "-" & _
Combom(0).Text & "-" & Combod(0).Text), "yyyy-mm-dd")
find_date2 = Format(CDate(Comboy(1).Text & "-" & _
Combom(1).Text & "-" & Combod(1).Text), "yyyy-mm-dd")
sqlfind = "select * from 图书资料 where 购买日期 between #" & _
find_date1 & "#" & " and" & " #" & find_date2 & "#"
End If
rs_data1.Open sqlfind, conn, adOpenKeyset, adLockPessimistic
frmdatamanage.displaygrid1
Unload Me
cmderror:
If Err.Number <> 0 Then
MsgBox Err.Description
End If
End Sub
运行查询子窗体时,组合框中就已经从数据库中提取了货单号和年月日两个待查条件。
Dim i As Integer
Dim sql As String
If findok = True Then
rs_data1.Close
End If
sql = "select * from 图书资料 order by 编号 desc"
rs_find.CursorLocation = adUseClient
rs_find.Open sql, conn, adOpenKeyset, adLockPessimistic
If rs_find.EOF = False Then ' 添加编号
With rs_find
Do While Not .EOF
Combo1(0).AddItem .Fields(0)
Combo1(1).AddItem .Fields(0)
.MoveNext
Loop
End With
End If
For i = 2001 To 2005 ' 添加年
Comboy(0).AddItem i
Comboy(1).AddItem i
Next i
For i = 1 To 12 ' 添加月
Combom(0).AddItem i
Combom(1).AddItem i
Next i
For i = 1 To 31 ' 添加日
Combod(0).AddItem i
Combod(1).AddItem i
Next i
End Sub
查询完毕后,输出查询结果,如图42所示。

图42 查询结果
http://book.csdn.net 2006-31 16:26:00
显示目录
(6) 用户登录子窗体代码
运行的用户登录子窗体如图43所示。

图43 运行的用户登录子窗体
在本项目中,用户登录子窗体是运行的第一个界面,它的作用是检查用户名和密码是否正确。由于用户的资料是存放在数据库中,所以在启动该子窗体时,就已经连接了数据库。其代码如下:
Private Sub Form_Load()
Dim connectionstring As String
connectionstring = "provider=Microsoft.Jet.oledb.4.0;" & _
"data source=book.mdb"
conn.Open connectionstring
cnt = 0
End Sub
“确定”按钮的作用是检查输入的数据是否与数据库中的数据一致。
Private Sub Command1_Click()
Dim sql As String
Dim rs_login As New ADODB.Recordset
If Trim(txtuser.Text) = "" Then ' 判断输入的用户名是否为空
上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] 下一页
|