frmquerylendinfo.frm

来自「数据库课程设计」· FRM 代码 · 共 248 行

FRM
248
字号
VERSION 5.00
Object = "{5E9E78A0-531B-11CF-91F6-C2863C385E30}#1.0#0"; "msflxgrd.ocx"
Begin VB.Form frmQueryLendInfo 
   Caption         =   "查询借还信息"
   ClientHeight    =   4455
   ClientLeft      =   60
   ClientTop       =   345
   ClientWidth     =   6015
   LinkTopic       =   "Form1"
   ScaleHeight     =   4455
   ScaleWidth      =   6015
   StartUpPosition =   3  'Windows Default
   Begin MSFlexGridLib.MSFlexGrid fgLendInfo 
      Height          =   2175
      Left            =   120
      TabIndex        =   8
      Top             =   2160
      Width           =   5775
      _ExtentX        =   10186
      _ExtentY        =   3836
      _Version        =   393216
   End
   Begin VB.Frame Frame1 
      Caption         =   "选择查询条件"
      Height          =   1935
      Left            =   120
      TabIndex        =   0
      Top             =   120
      Width           =   5775
      Begin VB.CommandButton cmdCancel 
         Caption         =   "返回(&C)"
         Height          =   375
         Left            =   4200
         TabIndex        =   7
         Top             =   1080
         Width           =   1095
      End
      Begin VB.CommandButton cmdQuery 
         Caption         =   "查询(&Q)"
         Height          =   375
         Left            =   4200
         TabIndex        =   6
         Top             =   480
         Width           =   1095
      End
      Begin VB.OptionButton optQuery 
         Caption         =   "查询全部借还信息"
         Height          =   375
         Index           =   2
         Left            =   360
         TabIndex        =   5
         Top             =   1440
         Width           =   1815
      End
      Begin VB.ComboBox cboReturn 
         Height          =   315
         Left            =   2040
         TabIndex        =   4
         Top             =   960
         Width           =   1455
      End
      Begin VB.OptionButton optQuery 
         Caption         =   "按是否归还查询"
         Height          =   495
         Index           =   1
         Left            =   360
         TabIndex        =   3
         Top             =   840
         Width           =   1575
      End
      Begin VB.TextBox txtNo 
         Height          =   375
         Left            =   2040
         TabIndex        =   2
         Top             =   360
         Width           =   1455
      End
      Begin VB.OptionButton optQuery 
         Caption         =   "按会员编号查询"
         Height          =   375
         Index           =   0
         Left            =   360
         TabIndex        =   1
         Top             =   360
         Width           =   1695
      End
   End
End
Attribute VB_Name = "frmQueryLendInfo"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit

Public sqlStr As String
Public msgText As String

Private Sub cboReturn_Click()
optQuery(1).Value = True
End Sub

Private Sub cmdCancel_Click()
Unload Me

End Sub

Private Sub cmdQuery_Click()
querylendInfo
End Sub

Sub querylendInfo()
    Dim rs As ADODB.Recordset
    Dim i As Integer
    Dim j As Integer
    
    If optQuery(0).Value = True Then
         If txtNo.Text = "" Then
             MsgBox "条件输入框的内容不能为空!!!"
            Exit Sub
         End If
         sqlStr = "select diskno,diskname,lendDate,returnDate," _
         & "totalPay,members.name as name from members,disks,lendinfo" _
         & " where lendInfo.memberno=" & txtNo.Text _
         & " AND lendInfo.memberNo=members.no" _
         & " AND lendInfo.diskNo=disks.no"
    End If
    
    If optQuery(1).Value = True Then
         sqlStr = "select diskno,diskname,lendDate,returnDate," _
         & "totalPay,members.name as name from members,disks,lendinfo" _
         & " where lendInfo.memberNo=members.no" _
         & " AND lendInfo.hasReturned='" & cboReturn.Text & "'" _
         & " AND lendInfo.diskNo=disks.no"
   End If
    
    If optQuery(2).Value = True Then
         sqlStr = "select diskno,diskname,lendDate,returnDate," _
         & "totalPay,members.name as name from members,disks,lendinfo" _
         & " where lendInfo.memberNo=members.no" _
         & " AND lendInfo.diskNo=disks.no"
    End If

    Set rs = ExecuteSQL(sqlStr, msgText)
    
    If rs.RecordCount = 0 Then
    
        MsgBox "没有查找满足条件的数据!", vbExclamation, "提示"
        fgLendInfo.Rows = 1
       
    Else
        
        fgLendInfo.Rows = rs.RecordCount + 1
        
        fgLendInfo.Cols = 6
        
        '设定行高
        For i = 0 To fgLendInfo.Rows - 1
           fgLendInfo.RowHeight(i) = 280
        Next i
        
        '设定列的属性
        fgLendInfo.Row = 0
        
        For i = 0 To fgLendInfo.Cols - 1
           fgLendInfo.Col = i  '指定当前列为第i列
           fgLendInfo.FixedAlignment(i) = 4  '每列内容居中显示
           Select Case i
               Case 0
                  fgLendInfo.ColWidth(i) = 800  '设定列宽
                  fgLendInfo.Text = "影碟编号"
               Case 1
                  fgLendInfo.ColWidth(i) = 1500  '设定列宽
                  fgLendInfo.Text = "影碟名"
               Case 2
                  fgLendInfo.ColWidth(i) = 1000  '设定列宽
                  fgLendInfo.Text = "借出日期"
               Case 3
                  fgLendInfo.ColWidth(i) = 1000  '设定列宽
                  fgLendInfo.Text = "归还日期"
               Case 4
                  fgLendInfo.ColWidth(i) = 800  '设定列宽
                  fgLendInfo.Text = "借者姓名"
               Case 5
                  fgLendInfo.ColWidth(i) = 600  '设定列宽
                  fgLendInfo.Text = "租金"
            End Select
               
        Next i
           
           
        'rs.MoveFirst
        
        i = 1
        
        While (Not rs.EOF)
        
           fgLendInfo.Row = i
           For j = 0 To fgLendInfo.Cols - 1
           
            fgLendInfo.Col = j '设置当前为列为第j列
            fgLendInfo.CellAlignment = 4  '每列内容居中显示
        
            
            Select Case j
               Case 0
                  fgLendInfo.Text = rs.Fields("diskno")
               Case 1
                  fgLendInfo.Text = rs.Fields("diskname")
               Case 2
                  fgLendInfo.Text = rs.Fields("lendDate")
               Case 3
                  fgLendInfo.Text = "" & rs.Fields("returnDate")
               Case 4
                  fgLendInfo.Text = rs.Fields("name")
               Case 5
                  fgLendInfo.Text = rs.Fields("totalPay")
            End Select
          Next j
        
            rs.MoveNext
            i = i + 1
        Wend
    
    End If
    
    rs.Close

End Sub

Private Sub Form_Load()

'窗体居中显示
Me.Top = (Screen.Height - Me.Height) \ 2
Me.Left = (Screen.Width - Me.Width) \ 2

cboReturn.Clear
cboReturn.AddItem "是"
cboReturn.AddItem "否"
cboReturn.ListIndex = 0
End Sub



Private Sub txtNo_GotFocus()
optQuery(0).Value = True
End Sub

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?