Jump to content
dogwall

Comprobar si existe valor en tabla access antes de cargar datos

Recommended Posts

Buenos días, 

Llevo unos días intentando resolver un problema y no doy con la solución. Tengo un libro excel conectado a una base de datos access en el que necesito cargar datos diariamente.

Los datos que cargo van asociados a una fecha dentro del propio fichero y necesito comprobar que la fecha incluida en el fichero no existe ya en la base de datos para no duplicar registros.

Obtengo la fecha del fichero (FechaArchivo = Cells(1, 3).Value) y mi idea es ejecutar una orden SQL para comprobar si esa fecha existe en la tabla:

strSQL = "SELECT * FROM vtas_cajas WHERE (((vtas_cajas.FECHA)= " & FechaArchivo & "))"

Pero no consigo nada útil... Y no sé qué más intentar para comprobar si existe o no esa fecha en la tabla utilizando ADO. Lo estaba intentando con Recordset.GetString pero luego he visto que únicamente sirve para comprobar si hay o no conexión. 

¿Alguna idea sobre cómo hacerlo?

Gracias.

Share this post


Link to post
Share on other sites

@dogwall, recuerta que siempre es importante adjuntar los archivos, así nos facilitas poder ayudarte.

Puedes comprobar si una dato ya existe en una tabla de la siguiente manera:

Set Rs = New ADODB.Recordset
        
Sql = "SELECT COUNT(FECHA) as Cuenta FROM vtas_cajas WHERE FECHA=" & FechaArchivo

Rs.Open Sql, miConexion, 3, 3, adCmdText

If Rs.GetString > 0 Then
MsgBox "Fecha ya ingresada"
Else
MsgBox "Fecha no ingresada"
End If

O así

Set Rs = New ADODB.Recordset
        
Sql = "SELECT FECHA FROM vtas_cajas WHERE FECHA=" & FechaArchivo

Rs.Open Sql, miConexion, 3, 3, adCmdText

If Rs.EOF = True Then
MsgBox "Fecha no ingresada"
Else
MsgBox "Fecha ya ingresada"
End If

o

Set Rs = New ADODB.Recordset
        
Sql = "SELECT FECHA FROM vtas_cajas WHERE FECHA=" & FechaArchivo

Rs.Open Sql, miConexion, 3, 3, adCmdText

If Rs.RecordCount > 0 Then
MsgBox "Fecha ya ingresada"
Else
MsgBox "Fecha no ingresada"
End If

Comentas, saludos.
        

Share this post


Link to post
Share on other sites

Si en la base de datos, la columna FECHA está definida como fecha, debes empezar y terminar la fecha a comparar con un carácter almohadilla (#). Ejemplo:

 

Sql = "SELECT COUNT(FECHA) as Cuenta FROM vtas_cajas WHERE FECHA=#" & FechaArchivo & "#"

 

.

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.

INFORMACIÓN BÁSICA SOBRE PROTECCIÓN DE DATOS

Responsable: Sergio Andrés Celemín

Finalidad: Moderar y responder comentarios de usuarios. Recuerda que la información que facilites es pública, y los datos que incluyas los leerá cualquier visitante de esta web, así como el avatar que poseas.

Legitimación: Consentimiento del interesado.

Destinatarios: Hetzner Online GmbH.

Derechos: Puedes ejercitar en cualquier momento tus derechos de acceso,
rectificación, supresión, oposición y demás derechos legalmente establecidos a
través del email sergio@ayudaexcel.com.

Información adicional: Encontrarás más información en la política de privacidad.




×
×
  • Create New...

Important Information

Privacy Policy


CTA Templates.png