Dim rsTemp As Recordset
    Dim dbTemp As Database
    Dim astr As String
    
    
    
    Set dbTemp = DBEngine(0).OpenDatabase("e:\ga1\db1.mdb")
    
    
    SQL = "select distinct number,name from 表1"
    Set rsTemp = dbTemp.OpenRecordset(SQL)
  
    
    astr = "delete from 表1"
    dbTemp.Execute astr
    
    
???   astr = "insert into [表1] ([number],[name]) select * from rstemp"
    dbTemp.Execute astr
请问带 ???标记的句子应该怎么写?   

解决方案 »

  1.   

    astr = "insert into [表1] ([number],[name]) select distinct number,name from 表1" 
      

  2.   

    astr = "insert into [表1] select distinct number,name from 表1"
      

  3.   

    请注意在???之前有:
    astr = "delete from 表1" 
        dbTemp.Execute astr 
      

  4.   

    这样看是否好用?
    astr = "insert into [表1] ([number],[name]) values (" & rsTemp.fields("number") & ", '" & rsTemp.fields("name") & "') "
      

  5.   

    不是折腾,目的是删除表1中完全相同的记录。在sql论坛找到的都是要建一新表。
      

  6.   

    5楼的code只能一次insert一条,要遍历rstemp.
      

  7.   

    Dim rsTemp As Recordset 
        Dim dbTemp As Database 
        Dim astr As String 
        
        
        
        Set dbTemp = DBEngine(0).OpenDatabase("e:\ga1\db1.mdb") 
        
        
        SQL = "select distinct number,name from 表1" 
        Set rsTemp = dbTemp.OpenRecordset(SQL) 
      
        
        astr = "delete from 表1" 
        dbTemp.Execute astr 
        
        while not rsTemp.eof
           astr = "insert into [表1] ([number],[name]) values (" & rsTemp.fields("number") & ", '" & rsTemp.fields("name") & "') "
     
           dbTemp.Execute astr 
           rsTemp.movenext
        wend
      

  8.   

    Dim rsTemp As Recordset 
        Dim dbTemp As Database 
        Dim astr As String 
        
        
        
        Set dbTemp = DBEngine(0).OpenDatabase("e:\ga1\db1.mdb") 
        
        
        SQL = "select distinct number,name from 表1" 
        Set rsTemp = dbTemp.OpenRecordset(SQL) 
      
        
        astr = "delete from 表1" 
        dbTemp.Execute astr 
        
        while not rsTemp.eof
           astr = "insert into [表1] ([number],[name]) values (" & rsTemp.fields("number") & ", '" & rsTemp.fields("name") & "') "
     
           dbTemp.Execute astr 
           rsTemp.movenext
        wend
      

  9.   

        Dim rsTemp As Recordset 
        Dim dbTemp As Database 
        Dim astr As String 
        
        
        
        Set dbTemp = DBEngine(0).OpenDatabase("e:\ga1\db1.mdb") 
        
        
        SQL = "select distinct number,name from 表1" 
        Set rsTemp = dbTemp.OpenRecordset(SQL) 
      
        
        astr = "delete from 表1" 
        dbTemp.Execute astr 
        
        while not rsTemp.eof 
          astr = "insert into [表1] ([number],[name]) values (" & rsTemp.fields("number") & ", '" & rsTemp.fields("name") & "') "       dbTemp.Execute astr 
          rsTemp.movenext 
        wend