VB与数据库(4)

VB中数据库的建立和前面一样,只是没有通过属性窗口来连接记录源


我们设Combo1 的名称为cmbField,Combo2为cmbname,Text1为txtno,Text2为txtname,Text3为txtjd,Text4为txtwd,添加的按钮为cmdadd,删除为cmddel,修改为cmdedit,清空为cmdclear




Private Sub cmbField_Click()
cmbName.Clear                                       '清空cmbname
Adodc1.RecordSource = "select * from VOR台地理位置"
Adodc1.Refresh

Do While Not Adodc1.Recordset.EOF
    cmbName.AddItem Adodc1.Recordset.Fields(cmbField.Text)
    Adodc1.Recordset.MoveNext
Loop

cmbName.Text = cmbName.List(0)

End Sub


Private Sub cmbName_Click()
Dim condition
condition = Trim(cmbField.Text)                    'trim 取出输入字符串中的空格


If Adodc1.Recordset.Fields(condition).Type = 202 Then  '被选择的字段类型是文本型
    Adodc1.RecordSource = "select * from VOR台地理位置 where " & condition & "= '" & cmbName.Text & "'"
Else                                              '被选择的字段类型不是文本型
    Adodc1.RecordSource = "select * from VOR台地理位置 where " & condition & " = " & cmbName.Text
End If

Adodc1.Refresh

txtno.Text = Adodc1.Recordset.Fields("VOR台编号")           '将字段值在文本框中显示
txtname.Text = Adodc1.Recordset.Fields("所处位置")
txtjd.Text = Adodc1.Recordset.Fields("经度")
txtwd.Text = Adodc1.Recordset.Fields("纬度")

End Sub


Private Sub cmdadd_Click()

 On Error GoTo errorhandler:               '如果出现主索引重复的错误,则跳转到错误处理的部分

If txtno.Text <> "" Then
    Adodc1.Recordset.AddNew                '将文本框中用户输入的各个字段的取值填入相应字段中
    
    Adodc1.Recordset.Fields("VOR台编号") = txtno.Text
    Adodc1.Recordset.Fields("所处位置") = txtname.Text
    Adodc1.Recordset.Fields("经度") = Val(txtjd.Text)
    Adodc1.Recordset.Fields("纬度") = Val(txtwd.Text)
    
    Adodc1.Recordset.Update
    
    cmbName.Clear
    Adodc1.RecordSource = "select * from VOR台地理位置"
    Adodc1.Refresh
    
    Do While Not Adodc1.Recordset.EOF
    cmbName.AddItem Adodc1.Recordset.Fields(1)
    Adodc1.Recordset.MoveNext
    Loop
    
    cmbField_Click
    cmdclear_Click
    Else
    MsgBox "VOR台编号是主索引字段,不能为空", , "错误提示"
    End If
    
    Exit Sub
    
errorhandler:  MsgBox "您添加的VOR台编号已经存在", , "错误提示"
 
End Sub

Private Sub cmdclear_Click()
txtno.Text = ""
txtname.Text = ""
txtjd = ""
txtwd = ""

End Sub


Private Sub cmddel_Click()

If txtname.Text <> "" Then                     '根据货物名称删除记录
    Adodc1.RecordSource = "select * from VOR台地理位置 where VOR台编号 = '" & cmbName.Text & "'"
    Adodc1.Refresh
    Adodc1.Recordset.Delete
    Adodc1.Recordset.MoveNext
    cmbName.Clear
    cmbField_Click
    cmdclear_Click
    
    End If
      
End Sub


Private Sub cmdedit_Click()
On Error GoTo errorhandler:               '如果出现主索引重复的错误,则跳转到错误处理的部分
If txtno.Text <> "" Then
                
    'Adodc1.RecordSource = "select * from VOR台地理位置 where VOR台编号 = '" & txtno.Text & "'"
    'Adodc1.RecordSource = "select * from VOR台地理位置 where VOR台编号 = '" & txtno.Text & "'"
   ' Adodc1.Refresh
    Adodc1.Recordset.Fields("VOR台编号") = txtno.Text
    Adodc1.Recordset.Fields("所处位置") = txtname.Text
    Adodc1.Recordset.Fields("经度") = Val(txtjd.Text)
    Adodc1.Recordset.Fields("纬度") = Val(txtwd.Text)
    cmdadd_Click
    
    Else
    MsgBox "VOR台编号是主索引自动,不能为空", , "错误提示"
    End If
    
    Exit Sub
    
errorhandler: MsgBox "VOR台编号是主索引自动,不能重复", , "错误提示"

End Sub


Private Sub Form_Load()
Dim i As Integer
Adodc1.RecordSource = "select * from VOR台地理位置" '连接数据库表
Adodc1.Refresh
cmbField.Clear                                     '清空下拉列表
For i = 0 To Adodc1.Recordset.Fields.Count - 1      '将每个字段的名字作为一个项目,添加到cmbfields中
    cmbField.AddItem Adodc1.Recordset.Fields(i).Name
Next i

cmbField.Text = cmbField.List(0)                  '默认显示第一项
cmbName.Text = Adodc1.Recordset.Fields(0)
txtno.Text = Adodc1.Recordset.Fields(0)
txtname.Text = Adodc1.Recordset.Fields(1)
txtjd.Text = Adodc1.Recordset.Fields(2)
txtwd.Text = Adodc1.Recordset.Fields(3)

'cmbName.Clear
'txtno.Text = ""
'txtname.Text = ""
'txtjd.Text = ""
'txtwd.Text = ""

End Sub

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值