⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 frmseachtm.frm

📁 自己用vb开发的局域网考试系统
💻 FRM
📖 第 1 页 / 共 2 页
字号:
         TabIndex        =   1
         Top             =   255
         Width           =   11190
         _ExtentX        =   19738
         _ExtentY        =   9631
         _Version        =   393216
         AllowUpdate     =   0   'False
         BackColor       =   15267064
         HeadLines       =   1
         RowHeight       =   18
         BeginProperty HeadFont {0BE35203-8F91-11CE-9DE3-00AA004BB851} 
            Name            =   "宋体"
            Size            =   12
            Charset         =   134
            Weight          =   400
            Underline       =   0   'False
            Italic          =   0   'False
            Strikethrough   =   0   'False
         EndProperty
         BeginProperty Font {0BE35203-8F91-11CE-9DE3-00AA004BB851} 
            Name            =   "宋体"
            Size            =   12
            Charset         =   134
            Weight          =   400
            Underline       =   0   'False
            Italic          =   0   'False
            Strikethrough   =   0   'False
         EndProperty
         ColumnCount     =   2
         BeginProperty Column00 
            DataField       =   ""
            Caption         =   ""
            BeginProperty DataFormat {6D835690-900B-11D0-9484-00A0C91110ED} 
               Type            =   0
               Format          =   ""
               HaveTrueFalseNull=   0
               FirstDayOfWeek  =   0
               FirstWeekOfYear =   0
               LCID            =   2052
               SubFormatType   =   0
            EndProperty
         EndProperty
         BeginProperty Column01 
            DataField       =   ""
            Caption         =   ""
            BeginProperty DataFormat {6D835690-900B-11D0-9484-00A0C91110ED} 
               Type            =   0
               Format          =   ""
               HaveTrueFalseNull=   0
               FirstDayOfWeek  =   0
               FirstWeekOfYear =   0
               LCID            =   2052
               SubFormatType   =   0
            EndProperty
         EndProperty
         SplitCount      =   1
         BeginProperty Split0 
            MarqueeStyle    =   3
            BeginProperty Column00 
            EndProperty
            BeginProperty Column01 
            EndProperty
         EndProperty
      End
   End
End
Attribute VB_Name = "FrmSeachTM"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
Dim KeMuIdArr() As Long '科目id数组
Dim NianJiIdArr() As Long
'####################################非常重要
Function GetTJStr() As String
   '定义查询条件,保存各个查询条件
 Dim SqlID As String
 Dim SqlTitle As String
 Dim SqlKeMu As String
 Dim SqlNianJi As String
 Dim SqlScore As String

 '设置ID查询条件
 If TXTID.Text <> "" Then
   SqlID = " and test.id=" + TXTID.Text
  Else
   SqlID = ""
 End If
 '设置问题关键子
 If TXTTitle.Text <> "" Then
   SqlTitle = " and title like '%" + TXTTitle.Text + "%'"
  Else
   SqlTitle = ""
 End If
'设置年份
 If CmbNianJi.ListIndex = 0 Then
   SqlNianJi = ""
  Else
   SqlNianJi = " and nianjiid=" & NianJiIdArr(CmbNianJi.ListIndex - 1)
 End If
 '设置科目
 If CmbKeMu.ListIndex = 0 Then
   SqlKeMu = ""
  Else
   SqlKeMu = " and kemuid=" & KeMuIdArr(CmbKeMu.ListIndex - 1)
 End If
 '设置分数
 If TXTScore.Text <> "" Then
   SqlScore = " and zscore" + CmbCZS.Text + TXTScore.Text
  Else
   SqlScore = ""
 End If
 GetTJStr = SqlID + SqlTitle + SqlKeMu + SqlNianJi + SqlScore
End Function
Private Sub CmdSeach_Click()
  Dim adoTMRs As Recordset
   Dim sql As String
 Set adoTMRs = New Recordset

 '==========================================
 sql = "select test.id as 试卷ID,test.title as 试卷标题,kemu.name as 科目,nianji.name as 年份,test.zscore as 试卷总分 from test,kemu,nianji where test.kemuid=kemu.id and test.nianjiid=nianji.id"
 sql = sql + GetTJStr()
 adoTMRs.Open sql, adoCn, adOpenStatic, adLockOptimistic
 Set DGSJ.DataSource = adoTMRs

End Sub







Private Sub Command1_Click()
If MsgBox("你真的要删掉这份试卷吗?", vbYesNo, "提问?") = vbYes Then
    Dim sql As String
    sql = "delete from test where id='" + DGSJ.Columns(0).Text + "'"
    adoCn.Execute sql
    '更新
    Dim adoRs As Recordset
    Set adoRs = New Recordset
    adoRs.Open "select test.id as 试卷ID,test.title as 试卷标题,kemu.name as 科目,nianji.name as 年份,test.zscore as 试卷总分 from test,kemu,nianji where test.kemuid=kemu.id and test.nianjiid=nianji.id", adoCn, adOpenStatic, adLockOptimistic
    Set DGSJ.DataSource = adoRs
    Set adoRs = Nothing
 End If
End Sub

Private Sub Command2_Click()
  Unload Me
End Sub

Private Sub Command3_Click()
If DGSJ.Row < 0 Then
  MsgBox "请选择考试的试卷名称", vbExclamation, "提示"
  Exit Sub
End If
Dim sql As String
Dim adoRs As Recordset
Dim strid As String '题目 ID
Dim adoTMRs As Recordset
Dim adoTMRsd As Recordset
Dim adoTMTK As Recordset
Dim adoTMPD As Recordset
Dim adoTMWD As Recordset
Dim adoTMZW As Recordset

Dim sqld As String
'查询试卷
Set adoRs = New Recordset
sql = "select * from test where id=" + DGSJ.Columns(0).Text
adoRs.Open sql, adoCn, adOpenStatic, adLockOptimistic
'预览试卷
'单选
strid = adoRs.Fields("danxuan").Value
If strid = "" Then strid = "0"
Set adoTMRs = New Recordset
sql = "select * from question where id in (" + strid + ")" '
adoTMRs.Open sql, adoCn, adOpenStatic, adLockOptimistic
'多选
strid = adoRs.Fields("duoxuan").Value
If strid = "" Then strid = "0"
Set adoTMRsd = New Recordset
sqld = "select * from question where id in (" + strid + ") "
adoTMRsd.Open sqld, adoCn, adOpenStatic, adLockOptimistic
'填空
strid = adoRs.Fields("tiankong").Value
If strid = "" Then strid = "0"
Set adoTMTK = New Recordset
sqld = "select * from questionTK where id in (" + strid + ") "
adoTMTK.Open sqld, adoCn, adOpenStatic, adLockOptimistic
'判断
strid = adoRs.Fields("panduan").Value
If strid = "" Then strid = "0"
Set adoTMPD = New Recordset
sqld = "select * from questionPD where id in (" + strid + ") "
adoTMPD.Open sqld, adoCn, adOpenStatic, adLockOptimistic
'问答
strid = adoRs.Fields("wenda").Value
If strid = "" Then strid = "0"
Set adoTMWD = New Recordset
sqld = "select * from questionWD where id in (" + strid + ") "
adoTMWD.Open sqld, adoCn, adOpenStatic, adLockOptimistic
'作文
strid = adoRs.Fields("zuowen").Value
If strid = "" Then strid = "0"
Set adoTMZW = New Recordset
sqld = "select * from questionZW where id in (" + strid + ") "
adoTMZW.Open sqld, adoCn, adOpenStatic, adLockOptimistic

'生成HTML文件
Dim DaView As Boolean
DaView = False
If CheView = 1 Then
   DaView = True
End If
CreateHTML App.Path + "\temp.html", DGSJ.Columns(1).Text, DaView, adoTMRs, adoTMRsd
   'FrmView.Web.LocationURL = App.Path + "\temp.html"
   Set adoTMRs = Nothing
   Set adoTMRsd = Nothing
   Set adoTMTK = Nothing
   Set adoTMPD = Nothing
   Set adoTMWD = Nothing
   Set adoTMZW = Nothing
FrmView.Web.Navigate App.Path + "\temp.html"
FrmView.Show 1
End Sub

Private Sub Form_Load()
 Dim adoRs As Recordset
 Set adoRs = New Recordset
 Dim i As Integer
 '添加总类到下来框
  
'年份
adoRs.Open "select id,name from nianji", adoCn, adOpenStatic, adLockOptimistic
CmbNianJi.AddItem "所有年份"
If Not adoRs.EOF Then
  adoRs.MoveLast
  adoRs.MoveFirst
  ReDim NianJiIdArr(adoRs.RecordCount) As Long
  For i = 0 To adoRs.RecordCount - 1
     CmbNianJi.AddItem adoRs.Fields("name").Value
     NianJiIdArr(i) = adoRs.Fields("id").Value
     adoRs.MoveNext
  Next i
End If
adoRs.Close
'科目
adoRs.Open "kemu", adoCn, adOpenStatic, adLockOptimistic
CmbKeMu.AddItem "所有科目"
If Not adoRs.EOF Then
  adoRs.MoveLast
  adoRs.MoveFirst
  ReDim KeMuIdArr(adoRs.RecordCount) As Long
  For i = 0 To adoRs.RecordCount - 1
     CmbKeMu.AddItem adoRs.Fields("name").Value
     KeMuIdArr(i) = adoRs.Fields("id").Value
     adoRs.MoveNext
  Next i
End If
CmbKeMu.ListIndex = 0
CmbNianJi.ListIndex = 0
CmbCZS.ListIndex = 0
adoRs.Close
  '查询显示所有试卷
 adoRs.Open "select test.id as 试卷ID,test.title as 试卷标题,kemu.name as 科目,nianji.name as 年份,test.zscore as 试卷总分 from test,kemu,nianji where test.kemuid=kemu.id and test.nianjiid=nianji.id", adoCn, adOpenStatic, adLockOptimistic
 Set DGSJ.DataSource = adoRs

End Sub

Private Sub TXTID_KeyPress(KeyAscii As Integer)
    If Not ((KeyAscii >= 48 And KeyAscii <= 57) Or KeyAscii = 8 Or KeyAscii = 46) Then
  KeyAscii = 0
 End If

End Sub

Private Sub TXTScore_KeyPress(KeyAscii As Integer)
    If Not ((KeyAscii >= 48 And KeyAscii <= 57) Or KeyAscii = 8 Or KeyAscii = 46) Then
  KeyAscii = 0
 End If

End Sub

Private Sub TxTTitle_KeyPress(KeyAscii As Integer)
   If KeyAscii = 39 Then KeyAscii = -24145

End Sub

⌨️ 快捷键说明

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