
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
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


0