¿Cómo puedo borrar valores de tablas de base de datos que contengan una condición?

Que tal, mucho gusto espero estés bien. Mi duda es la siguiente:}
Yo tengo una tabla en la cual al estar subiendo información de archivos de texto plano muchos de esos registros solo contienen el id. De producto y lo demás son ceros. Ejem
Id.prod inicial final descto ...
190 0.00 0.00 0.00
Lo que quiero hacer es que una vez arriba toda la información mediante una consulta me borre aquellos registros que contienen puros ceros. Lo que he estado haciendo hasta ahora es algo así como esto:
delete *
from tabla
where inicial+final+descto+idprod = idprod;
Necesito saber si tu sabes una manera más fácil de hacer lo que pretendo..
Mil gracias de antemano
1

1 respuesta

Respuesta
1
1º Crea un módulo en la ventana de access y pega el siguiente código:
Option Explicit
'saca los numeros a una cadena alfanúmerica "de SOFOCLES" 25/03/2002
'aplicar a una consulta
Function extraernumeros(cadena As String)
Dim n As Integer
Dim aux, i, aux1 As String
n = Len(cadena)
aux1 = ""
For i = 0 To n - 1
aux = Left(cadena, 1)
Select Case aux
Case "1", "2", "3", "4", "5", "6", "7", "8", "9"
aux1 = aux1 & aux
End Select
cadena = right(cadena, n - i - 1)
Next
extraernumeros = Val(aux1)
End Function
'Observa la parte Case "1", "2", "3", "4", "5", "6", "7", "8", "9"
'Lo unico que hacemos es pasar esos por valores a la variable , y en este caso
'al no incluir el cero, podemos darlo por eliminado.
2º Añade un campo a tú consulta de forma que quede algo así:
Extract: extraernumeros([MiCampo])
Donde Extract: es un alias, extraernumeros() es la función que hemos hecho, y [MiCampo] es el campo del cual vamos a extraer la cadena que nos interesa.
3º Solo te queda ejecutar la consulta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas