Visual Basic para Aplicaciones - Comparar valor de 1 celda de excel con 1 columna de 1 tabla en Access

Life is soft - evento anual de software empresarial
 
Vista:
sin imagen de perfil

Comparar valor de 1 celda de excel con 1 columna de 1 tabla en Access

Publicado por Steff (1 intervención) el 31/05/2022 17:52:52
Buenos días comunidad

Tengo el siguiente código que agrega los datos desde excel a una tabla de access, que me funciona bastante bien, sin embargo quiero agregar al código, que si en excel se ingresa un cliente que ya existe en la base de datos me de un mensaje donde me pregunte si quiero actualizar los datos del cliente y los actualice en la base de Access.
He intentado algunas formas, pero no me sale.

Les dejo el código

Dim lf As Object
Dim datos As Object
Dim consultaSql As String
Dim conexion As String
Dim contador As Long 'variable para ir al último registro de la base de datos

'Declarar variables que almacenan datos para incluir en la base de datos
Dim ruc As String
Dim fecha As String
Dim nombre As String
Dim direccion As String
Dim celular As String
Dim telf As String
Dim correo As String

'Dar valor a las variables de las celdas que serán guardadas en la base de access
ruc = Range("f4")
fecha = Range("g5")
nombre = Range("b4")
direccion = Range("f5")
celular = Range("b5")
telf = Range("b6")
correo = Range("f6")

Set lf = CreateObject("ADODB.connection")
conexion = "Provider=Microsoft.ACE.OLEDB.12.0;" & _
"Data Source=Q:\minombre\Bur\2022\Clientes.accdb"
consultaSql = "insert into Clientes1 values(" & Chr(34) & ruc & Chr(34) & "," & Chr(34) & fecha & Chr(34) & "," & Chr(34) & nombre & Chr(34) & "," & Chr(34) & direccion & Chr(34) & "," & Chr(34) & celular & Chr(34) & "," & Chr(34) & telf & Chr(34) & "," & Chr(34) & correo & Chr(34) & ")"
lf.Open conexion
Set datos = lf.Execute(consultaSql)

lf.Close


MsgBox "Los datos han sido ingresados", vbExclamation, "Base de datos"

El código está sólo para ingresar los datos a la tabla de Access, pero no sé cuál sería la sintaxis para llamar a la columna "ruc" de la tabla "Cientes1" y que compare cada valor de dicha columna con la celda (f4) y de encontrar una igual, sobreescriba el registro actualizando los datos.

Les agradezco su gentil ayuda de antemano
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de RET
Val: 79
Ha disminuido su posición en 2 puestos en Visual Basic para Aplicaciones (en relación al último mes)
Gráfica de Visual Basic para Aplicaciones

Comparar valor de 1 celda de excel con 1 columna de 1 tabla en Access

Publicado por RET (33 intervenciones) el 09/06/2022 09:26:53
Antes de grabar nada en Access, haz una consulta Select con los datos del cliente. Si la consulta te devuelve datos, ya sabes que existe dicho cliente y puedes preguntar si se quiere actualizar el mismo o no
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar