Base de datos

17/08/2003 - 04:53 por William Loayza | Informe spam
Un cordial saludo para todo el Grupo. Mi consulta es la
siguiente. Como puedo crear una Base de Dtaos donde no
pueda ingresar a un cliente si ya existe en la Base.

Ejemplo

1.- 00223232 Canales Alburqueque Gloria
2.- 00211010 Samaniego Simons Jose
3.- 00252565 Marca Alvarado José
4.- 00223232 Canales Alburqueque Gloria (ojo:Cliente ya
fue ingresado)..

Saludos cordiales

William
 

Leer las respuestas

#1 Héctor Miguel
17/08/2003 - 10:31 | Informe spam
¿Que tal, William Loayza?

... crear una Base de Dtaos donde no pueda ingresar ... si ya existe [...]



Opciones:
=1.- Si es el usuario quien "manualmente" introduce los datos, evitaras duplicados si...
a) Seleccionas toda la columna (p.e. la columna A:A), o un rango de celdas especifico,
b) Elijes del menu: Datos -> Validacion y "vas" a: Configuracion
c) En Criterios de validacion / Permitir seleccionas: Personalizada
d) En Formula "escribes": =Contar.Si(A:A,A1)=1

Notas: Es solo para "entradas directas". NO "funciona" si...
×) Se "copia" desde otro lugar
×) Se introducen datos "por codigo"

2.- Si es por codigo la entrada de datos, prueba (modifica) la siguiente rutina:
OJO: Comparar textos (VBA) requiere de una comparacion EXACTA, ya que... JORGE, Jorge y jorge... "son diferentes"
OJO: "tambien" con los espacios "interiores" y los acentos :))
=Sub AgregarClientes()
Dim BuscarDonde As String, NuevoCliente As String, Celda As Range, Existe As Boolean
BuscarDonde = Range("d26", Range("d26").End(xlDown)).Address
NuevoCliente = Trim(InputBox("Nombre a ingresar", "Mi Macro"))
If NuevoCliente = "" Then Exit Sub
For Each Celda In Range(BuscarDonde)
If LCase(Celda) = LCase(NuevoCliente) Then
Existe = True
Exit For
End If
Next
If Existe Then
MsgBox NuevoCliente & " ya existe en: " & Celda.Address
Else
Range("d26").End(xlDown).Offset(1) = NuevoCliente
End If
End Sub
_______
Saludos,
Héctor.
MS-MVP

Preguntas similares