Office中国论坛/Access中国论坛

标题: 小鸟问大虾一个简单的问题,谢谢 [打印本页]

作者: wmz    时间: 2003-6-20 17:53
标题: 小鸟问大虾一个简单的问题,谢谢
打开一个数据库,找到其中的一个表,中的一个字段,找到其中的一条记录,并删除。怎么写(语句),如果字段是在输入框里的怎么取??谢谢大虾
作者: Tom_HYQ    时间: 2003-6-20 19:07
To wmz,
以下的程序用简单的方法实现
其实还有许多方式,就留给其他的朋友来说吧。
Public Sub test()
    Dim MySql As String
    MySql = "delete * from MyTest where year= 2002" '在数据表MyTest中,查找所有年份为2002的记录,并删除
    DoCmd.RunSQL MySql  '执行命令   
End Sub
作者: wmz    时间: 2003-6-20 19:40
谢谢Tom-hyq,小弟水平较底。请教Tom_hyq以下代码我看不太懂,可以帮忙解释一下吗(转Trynew的)
Private Sub 删除_Click()
      Dim cnndb As New ADODB.Connection
      Dim rstobject As New ADODB.Recordset
      
      Set cnndb = CurrentProject.Connection
      rstobject.Open "order1", cnndb, , adLockOptimistic
        
        With rstobject
           .Find "[orderno] = '" & Me.List & "'"
         If .EOF Then
           Debug.Print "Don't find."
         Else
           .Delete
           .MoveFirst
         Do Until .EOF
             .MoveNext
         Loop
          End If
         .Close
         End With
         Me.List.Requery
        Set rstobject = Nothing
        cnndb.Close
        Set cnndb = Nothing
End Sub
可以改成我问的那个吗?如果year我在一个输入框里的,应该怎么做了
作者: Tom_HYQ    时间: 2003-6-20 22:23
粗看程序代码,应该是用ADO的方式来逐一查找要删除的记录。
你的要求则是把要设定的删除条件放在一个窗体里。
其实,原理是一样的,如果是一次性把所有符合条件的所有记录删除,我觉得我的方法更直接。不妨把程序改写成这样

Public Sub test()
    Dim MySql As String
    MySql = "delete * from MyTest where year= " & Mytextbox.value 'Mytextbox代表你在窗体中的输入框。你的这段代码放入输入框的afterupdate事件中就行了。
    DoCmd.RunSQL MySql  '执行命令   
End Sub
作者: wmz    时间: 2003-6-21 00:43
我在网上找到一个例子,和我的要求比较相似。不过点了删除以后,就把表里的所有的记录删掉了,但我只想去掉其中之一,帮忙看看。十分感谢(附件怎么发???)可以发到你的邮箱吗??还要谢谢lwwvb的例子
作者: dsfq    时间: 2003-6-21 04:11
请问各位大大:
           .MoveFirst
         Do Until .EOF
             .MoveNext
         Loop
和         
            .movelast
有区别吗?这么溜达一圈有什么用意吗?
作者: Airin    时间: 2003-6-21 20:59
請問Tom-hyq朋友﹐你的程序該用在什么地方(上面說的﹗)




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3