Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

[SOLUCIONADO] verificar duplicidad

Estas en el tema de verificar duplicidad en el foro de Visual Basic clásico en Foros del Web. Tengo una duda con respecto al siguiente codigo, por ejemplo un text1 colocan un nombre o codigo, sea el caso de ejemplo: En la DB ...
  #1 (permalink)  
Antiguo 31/05/2013, 19:53
 
Fecha de Ingreso: abril-2005
Ubicación: Piura - Perú
Mensajes: 189
Antigüedad: 19 años
Puntos: 0
Pregunta verificar duplicidad

Tengo una duda con respecto al siguiente codigo, por ejemplo un text1 colocan un nombre o codigo, sea el caso de ejemplo:

En la DB esta registrado lo siguiente "200a" y "jorge"

caso 1: registra el nombre "pepe", y le avisa que no esta registrado y puede continuar.

caso 2: registra el nombre" pepe", (colocando un espacio en blanco) y le dice que no esta registrado y registra solo "pepe"

caso3: registran el codigo "200a" y le dice que se encuentra registrado

caso 4: registran el codigo " 200a" con espacio y tambien debe de decir q esta registrado

caso 5: registran el codigo "0200a" con un 0 y tmb debe de decir q esta registrado.

Pero la DB me dice cuando coloco 0200 o con un espacio que no esta registrado como si fuera un valor nuevo, cuando en realidad no es asi, porque el 200 ya esta registrado. Espero me puedan ayudar. gracias
  #2 (permalink)  
Antiguo 01/06/2013, 01:35
Avatar de erbuson  
Fecha de Ingreso: noviembre-2009
Mensajes: 701
Antigüedad: 14 años, 4 meses
Puntos: 53
Respuesta: verificar duplicidad

Hola, mi fuerte no son las BD pero este error debes controlarlo en tu código, porque obviamente " 200a", "200a", y "0200a" son todo códigos diferentes.

Una vez sales del campo de Texto, puedes utilizar la funcion Trim$ para eliminar los espacios en blanco de inicio o de cola que el usuario haya introducido.

Si no quieres permitir ningun espacio en blanco en el campo, tambien puedes utilizar la funcion Replace para cambiar los espacios a nulos

El 0 al principio ya es mas complicado, sobre todo si se permiten caracteres alfanuméricos puesto que no puedes utilizar la funcion Val para eliminar el cero. No es que Val sea para esto pero si tienes que Variable = "00100" y ejecutas Variable = Cstr(Val(Variable)) la variable contendrá solo "100"

En fin, la verificacion del código tecleado por el usuario es lo que debes solucionar tu con el fin de que se puedan indicar en la base códigos sin sentido.

Saludos
__________________
Agradecer a quien te enseñó, es enseñar lo que de él aprendiste.
Recuerda: Decir gracias, poco cuesta y mucho vale ...
  #3 (permalink)  
Antiguo 04/06/2013, 15:11
 
Fecha de Ingreso: enero-2008
Ubicación: Lima - Perú
Mensajes: 1.127
Antigüedad: 16 años, 3 meses
Puntos: 10
Respuesta: verificar duplicidad

Hola kenmasters, mira para al campo codigo tendrias que declararlo como PrimaryKey y tipo de dato texto en la misma base de datos para que nunca acepte duplicados y en caso ingreses un codigo duplicado pues te mandara un error el cual se controla con el "on error goto" esa seria la forma correcta.

Tambien tendrias que utilizar la funcion TRIM para quitar los espacios de la derecha e izquierda.

Para lo ultimo 1ero hay que saber el formato correcto de tu string de codigo por ejmplo si es tipo de dato texto con longitud 5 podrias utilizar la funcion LEN

Por ejmplo si el ultimo caractares siempre sera una letra y tomando el ejemplo de erbuson podria ser asi

Código vb:
Ver original
  1. Text1 = "0200a"
  2.  
  3. Dim L As String
  4. L = Right(Text1, 1) 'recupera el ultimo caracter
  5.  
  6.  
  7. MsgBox CStr(Val(Left(Text1, 4))) & L
__________________
123.http://bunker.host22.com
  #4 (permalink)  
Antiguo 04/06/2013, 18:33
 
Fecha de Ingreso: abril-2005
Ubicación: Piura - Perú
Mensajes: 189
Antigüedad: 19 años
Puntos: 0
Respuesta: verificar duplicidad

asuu.. muchísimas gracias!!

Etiquetas: duplicidad, verificar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:51.