SOLO FALTA CAMBIAR EL TEXTO EL RESTO ESTA TODO HASTA EL LINK DE DESCARGA ESTA HECHO PUNTO DE VENTA EN EXCEL – REGISTROS SIN SUPLICADOS
En este nueva entrega del Sistema de Punto de Venta en Excel, se incorpora una macro que permite determinar si un cliente está duplicado, en dicho caso no deja ingresar registros repetidos o duplicados. Al querer ingresar un cliente nuevo la macro determinará si el Cliente ya está registrado en la base de datos, en dicho caso la macro no permite ingresar datos o registros duplicados.
Maneja Excel como los mejores deberías hacer click acá, si quieres aprender sobre Excel en inglés, entonces debes hacer click here. Si lo que necesitas es aprender o profundizar sobre la programación de macros con VBA este es unos de los MEJORES CURSOS ON LINE que he visto en internet, te lo recomiendo no te arrepentirás.
MACRO VERIFICA SI UN REGISTRO ESTÁ REPETIDO EN DICHO CASO NO LO GUARDA LA BASE DE DATOS DE ACCESS
En el ejemplo que se puede descargar desde el final del post, se muestra como al tratar de ingresar un cliente nuevo en el Sistema de Punto de Venta en Excel, el sistema lo rechaza y sale un mensaje avisando que el cliente está duplicado o el registra ya existe en la base de datos, esto evita que el usuario siga cargando registros de un cliente que ya está en la base de datos y de esta manera no duplicar datos.
En este caso la macro se ejecuta cuando se actualiza el campo o textbox donde se debe ingresar el Numero de Seguro Social , Rut, Cuit o como se denomine el registro que es único e identifica a cada persona en los diferentes países.
Explicación de la Macro Excel – VBA para INGRESAR DATOS SIN DUPLICAR
La macro al estar conectada con Access que es donde se guarda la Base de Datos, la macro de Excel se debe conectar con dicha base de dato, haciendo referencia al misma, de la siguiente forma, así:
Dim cn As ADODB.Connection, rs As ADODB.Recordset
Set cn = New ADODB.Connection
Set rs = New ADODB.Recordset
Luego se abre conexión con la base de datos
cn.Open «Provider=Microsoft.ACE.OLEDB.12.0; » & «data source=» & ThisWorkbook.Path & «\1000 DBTSPuntoVenta.accdb;»
Posteriormente se arma el Sting de consulta o SQL, así:
sql = «SELECT Identificacion_Cliente,Nombre_Cliente FROM DB_Clientes WHERE Ucase(Identificacion_Cliente) =» & Trim(UCase(UserForm1.TextBox31)) & » »
Se ejecuta la consulta, cargando los datos obtenidos a la variable rs, manteniendo los datos en memoria.
Set rs = cn.Execute(sql)
La consulta SQL tenía por objetivo recuperar el nombre o número que devuelve el campo, si la variable «rs» no está vacía significa que el Cliente que se intenta registrar ya está registrado, por ende sale un mensaje borra los datos de los textbox, libera variables y cierra la conexión, el código usado es:
If rs.EOF = False Then
nom = rs.Fields(1).Value
MsgBox («El Cliente ya se encuentra registrado en la base de datos con el nombre » & nom), vbInformation, «https://macrosenexcel.com»
UserForm1.TextBox31 = «»
UserForm1.TextBox31.SetFocus
Set rs = Nothing
cn.Close
Set cn = Nothing
Exit Sub
End If
End If
Código PARA EVITAR INGRESO DE CLIENTES DUPLICADOS
Código que va en un formulario
Private Sub TextBox31_AfterUpdate()
Application.ScreenUpdating = False
Application.DisplayAlerts = False
If TextBox31 <> Empty And AltaCte = 1 Then
Dim cn As ADODB.Connection, rs As ADODB.Recordset
On Error Resume Next
Set cn = New ADODB.Connection
Set rs = New ADODB.Recordset
cn.Open «Provider=Microsoft.ACE.OLEDB.12.0; » & «data source=» & ThisWorkbook.Path & «\1000 DBTSPuntoVenta.accdb;»
sql = «SELECT Identificacion_Cliente,Nombre_Cliente FROM DB_Clientes WHERE Ucase(Identificacion_Cliente) =» & Trim(UCase(UserForm1.TextBox31)) & » »
Set rs = cn.Execute(sql)
If rs.EOF = False Then
nom = rs.Fields(1).Value
MsgBox («El Cliente ya se encuetra registrado en la base de datos con el nombre » & nom), vbInformation, «https://macrosenexcel.com»
UserForm1.TextBox31 = «»
UserForm1.TextBox31.SetFocus
Set rs = Nothing
cn.Close
Set cn = Nothing
Exit Sub
End If
End If
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
Puedes DESCARGAR el Ejemplo de Punto de Venta con la Modificación para Evitar el Ingreso de Clientes Repetidos
Descarga el fichero usado como ejemplo en este post y en el vídeo explicativo, el mismo es totalmente gratuito y su uso es libre, solicito aportar para sostener esta web, si está dentro de tus posibilidades, desde ya muchas gracias.
Si te fue de utilidad puedes INVITARME UN CAFÉ y de esta manera ayudar a seguir manteniendo la página, CLICK para descargar en ejemplo en forma gratuita.
If this post was helpful INVITE ME A COFFEE and so help keep up the page, CLICK to download free example.
Donate:
👉⏩ Cuenta Paypal: https://paypal.me/programarexcel
👉⏩ Cuenta Bitcoin: 1KBGGb8fyDzyR3X1Rie6m7VguzaAfngNbd
👉⏩ Cuenta Ether: 0x41Bbd24556914C83a31217eBb3BC49789b66e407
👉⏩ Cuenta Skrill: marcrodos@yahoo.es
👉⏩ Cuenta Neteller: marcrodos@yahoo.es
👉⏩ Apoya mi trabajo https://www.patreon.com/programarexcel
👉⏩ Sígueme en DTube: https://d.tube/#!/c/programarexcel01
👉⏩ Sígueme en Odysee: https://odysee.com/@programarexcel:3