none
Borrar una tabla de access

    Question

  • Hola, soy programador en VB6 y trabaje con DAO, ahora estoy migrando a VS2008 y la verdad es que me confunden los terminos dataset, datatable, datadapter los entiendo en parte pero no logro hacerlos funcionar entendendiendo su funcionamiento completo.

    He investigado mucho en foros y copié mucho código pero no encuentro especificamente como borrar una tabla de access desde código.

    He escrito esto:

    Dim cnn As OleDb.OleDbConnection = New OleDb.OleDbConnection
      cnn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & RUTARED & ";Persist Security Info=True;"
      cnn.Open()
    
    
      Dim dtset As New DataSet
      Dim da As OleDb.OleDbDataAdapter = New OleDb.OleDbDataAdapter("select * from '" & texto & "'", cnn)
      da.Fill(dtset)
    
      dtset.Tables.Remove(texto)
      da.Update(dtset)
      cnn.Close()
    

    la verdad es que no funciona y me gustaría si alguien me marca el error o me da pautas para seguir pensando en la solución.

    Desde ya muchas gracias.

    Marcelo.


    Marcelo V
    Thursday, February 24, 2011 8:04 PM

Answers

  • Es lo que estaba buscando, no me imagine que sería tan simple.

    Igualmente quiero agradecer a todos por contestar rápidamente.

    Espero poder serles útil en alguna ocasión.

     

    Muchas Gracias. Marcelo.


    Marcelo V
    • Marked as answer by Marcelo V Friday, February 25, 2011 4:51 AM
    • Unmarked as answer by Marcelo V Friday, February 25, 2011 4:51 AM
    • Marked as answer by Marcelo V Friday, February 25, 2011 4:51 AM
    Friday, February 25, 2011 4:50 AM

All replies

  • hola

    el tema es que no has definido la query que permite el DELETE, solo ald el SELECT


    en el link usa el CommandBuilder para crear de forma automatica la instruccion de DELETE, es ams al final remueve uno y actualzia justo como lo quieres hacer

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    Thursday, February 24, 2011 8:15 PM
  • Deberias usar algo como esto .....

            Dim cnn As OleDb.OleDbConnection = New OleDb.OleDbConnection
            cnn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & RUTARED & ";Persist Security Info=True;"
            cnn.Open()

            Dim cmd As New OleDb.OleDbCommand("drop table [nombre de tabla en access]", cnn)
            cmd.ExecuteNonQuery()
            cnn.Close()

    En OleDbCommand te sirve para ejecutar cualquier query en la base, y dependiendo si te tiene que retornar algo debes de usar el metodo especifico, para el caso utilizo ExecuteNonQuery ya que unicamente devuelve las filas afectadas si así fuera.

    Suerte.


    Elmer Carías
    Thursday, February 24, 2011 8:19 PM
  • Dim cnn As OleDb.OleDbConnection = New OleDb.OleDbConnection
     cnn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & RUTARED & ";Persist Security Info=True;"
     cnn.Open()
    

    dim sql as string = "delete from nombre_tabla"

    dim cmd as new oldb.oldbcommand(sql, cnn)

    cmd.executenonquery()

    msgbox "Tabla borrada exitosamente"

    cnn.close()

    Atentamente Walter Jimenez G
    Thursday, February 24, 2011 8:23 PM
  • Es lo que estaba buscando, no me imagine que sería tan simple.

    Igualmente quiero agradecer a todos por contestar rápidamente.

    Espero poder serles útil en alguna ocasión.

     

    Muchas Gracias. Marcelo.


    Marcelo V
    • Marked as answer by Marcelo V Friday, February 25, 2011 4:51 AM
    • Unmarked as answer by Marcelo V Friday, February 25, 2011 4:51 AM
    • Marked as answer by Marcelo V Friday, February 25, 2011 4:51 AM
    Friday, February 25, 2011 4:50 AM