AYUDA PARA VALIDAR NUMEROS CLAVE REPETIDOS EN UNA BASE DE DATOS DE ACCESS

CESAR SOLANO MEXICO
25 de Enero del 2006
AMIGOS TENGO ESTE CODIGO PARA GUARDAR UN REGISTRO PERO COMO HAGO PARA HACER UNA FUNCION PARA QUE EL SISTEMA DETECTE QUE EL NUMERO QUE ESTA INGRESANDO EL USUARIO YA EXISTE Y NO PUEDA EL USUARIO VOLVER A INGRESARLO OSEA VALIDAR ESO

'VALIDAR QUE TODOS LOS CAMPOS ESTEN LLENOS
If Text1.Text <> "" And Text2.Text <> "" And Text3.Text <> "" And Text4.Text <> "" And Text5.Text <> "" And Text6.Text <> "" And Text7.Text <> "" And Text8.Text <> "" And Text13.Text <> "" And Text10.Text <> "" And Text11.Text <> "" And Text12.Text <> "" Then
'TRANSFORMAR MINUSCULAS A MAYUSCULAS A TODOS LOS DATOS
Command1_Click
'ALTA DEL NUMERO DE CONTRATO
Dim db As Database
Dim path As String
Dim spassword As String
path = "C:NUMCONnumero.mdb"
spassword = ";pwd=" & " "
Set db = DBEngine.Workspaces(0).OpenDatabase(path, False, False, spassword)
Dim sql1 As String
Dim sql2 As String
'INSERTA UN NUEVO REGISTRO
sql1 = "INSERT INTO ALMACEN(MES,AÑO,CONCATENAR,FIRMA,TIPO_CONTRATO,DIVISION,GERENCIA,FECHA_SOLICITUD,NOMBRE_SOLICITANTE,INICIALES,ARTICULO,NUMERO) VALUES ('" & Text1.Text & "','" & Text2.Text & "','" & Text12.Text & "','" & Text7.Text & "','" & Text3.Text & "','" & Text4.Text & "','" & Text5.Text & "',#" & Text10.Text & "#,'" & Text8.Text & "','" & Text6.Text & "','" & Text13.Text & "','" & Text11.Text & "')"
'If Text3.Text = "" Then
' MsgBox "No Puedes dejar vacio el campo"
' Exit Sub
' End If
Dim res As Integer
resp = (MsgBox("¿Desea dar de Alta este Contrato?", vbYesNo + vbQuestion))
If resp = 6 Then
db.Execute sql1
db.Close
MsgBox "Se ha registrado un nuevo Número de Contrato."
End If
' ELSE DEL IF DE VALIDACION
Else
'Dim strMsj As String
'strMsj = "Error faltan datos por llenar " & vbCrLf
MsgBox "Error de Validación, faltan datos por llenar"
End If ' TERMINO DEL IF DE VALIDACION
End Sub

DE ANTEMANO GRACIAS POR LA AYUDA

Rosa
25 de Enero del 2006
Antes del insert podrías ejecutar una sentencia select count(*)
from almacen
where numero = valoringresado

y verificas lo que te retorna, si es mayor a cero es porque ya existe el número.