Borrar registros en tabla de access por vba

Estoy tratando de eliminar datos de una tabla de access, lo más fácil es crear una consulta de eliminación pero en realidad lo he querido hacer por medio de vba.

Lo que pretendo es borrar los registros en la tabla "Control", en donde la línea sea igual a "Cultivos", al ejecutarla me arroja un error "Pocos parámetros. Se esperaba 1", por más que le intento y modifico no la he logrado funcionar, alguien por favor echeme una mano. Este es el código empleado.

Set dbs = CurrentDb
Dim str As String
str = " DELETE * FROM Control"
str = str & " WHERE [Control.Linea] = Cultivos"
Dbs. Execute (str)

2 respuestas

Respuesta
2

Hazlo así:

Set dbs = CurrentDb
Dim str As String
str = " DELETE * FROM Control"
str = str & " WHERE Linea = 'Cultivos'"
Dbs. Execute (str)

Respuesta
2

Como te ha apuntado SVEINBJORN lo único que te falta es tratar adecuadamente el tipo de datos, cuando son de tipo texto han de ir encerrado en comillas simples o dobles.

Currentdb.Execute "DELETE * FROM Control WHERE [Control.Linea] = 'Cultivos'"
o bien
Currentdb.Execute "DELETE * FROM Control WHERE [Control.Linea] = " & Chr(34) & "Cultivos" & Chr(34)
Donde: Chr(34) indica la comilla doble. Esto es útil para cuando construyes cadenas coomplejas

Si el campo es de tipo numérico no se necesita nada.

Si el campo es de tipo fecha ha de ir encerrado en Almohadillas (#) y en formato americano o bien tratar las fechas como lo que son en realidad:números

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas