Access - buscar dato en un tabla pero en tres campos dif

 
Vista:

buscar dato en un tabla pero en tres campos dif

Publicado por sebastian (58 intervenciones) el 18/05/2006 19:17:00
Hola ando buscando la manera de que en un formulario de carga adonde tengo que cargar telefonos hice tres campos tel1 tel 2 tel3 y ahi cargo ahora quiero que cuando alguien me llame y carge el valor del tel1 si ese telefono existe en tel1 de otro registro me lo identique que me avise en otro caso que tambien busque en tel2 o tel3 si existe
como puedo hacer??
Tambien tengo drama con los guiones el campo tel lo hice txt entonces algunos tienen guiones entre medio y otros no como puedo discriminarlos??
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Validación de teléfonos en un formulario y manejo de guiones

Publicado por Alejandro (4142 intervenciones) el 19/07/2023 00:04:22
Para validar los teléfonos ingresados en un formulario de carga en Access y buscar si ya existen en otros registros, puedes utilizar el evento `AfterUpdate` de los campos de teléfono (tel1, tel2, tel3) y realizar una búsqueda en la tabla para verificar su existencia. Aquí te muestro un ejemplo de cómo puedes implementarlo:

1. Abre el formulario en modo diseño y selecciona el campo de teléfono (por ejemplo, tel1).
2. Ve a la pestaña "Eventos" en las propiedades del campo y haz doble clic en el evento `AfterUpdate` para abrir el editor de código VBA.
3. Dentro del evento `AfterUpdate`, agrega el siguiente código para realizar la búsqueda del teléfono en la tabla:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
Private Sub tel1_AfterUpdate()
    Dim rs As DAO.Recordset
    Dim strSQL As String
    Dim phoneNumber As String
 
    ' Obtiene el valor del teléfono ingresado
    phoneNumber = Me.tel1.Value
 
    ' Verifica si el teléfono contiene guiones
    If InStr(phoneNumber, "-") > 0 Then
        ' Remueve los guiones del número de teléfono
        phoneNumber = Replace(phoneNumber, "-", "")
    End If
 
    ' Construye la consulta SQL para buscar el teléfono en la tabla
    strSQL = "SELECT * FROM TuTabla WHERE tel1 = '" & phoneNumber & "' OR tel2 = '" & phoneNumber & "' OR tel3 = '" & phoneNumber & "'"
 
    ' Ejecuta la consulta
    Set rs = CurrentDb.OpenRecordset(strSQL)
 
    ' Verifica si se encontraron resultados
    If Not rs.EOF Then
        ' Se encontró el teléfono en otro registro
        MsgBox "El teléfono ingresado ya existe en otro registro.", vbInformation, "Teléfono duplicado"
        ' Realiza otras acciones según tus necesidades
    End If
 
    rs.Close
    Set rs = Nothing
End Sub

Este código busca el número de teléfono ingresado (`tel1`) en la tabla (`TuTabla`) y verifica si existe en otros registros en los campos `tel1`, `tel2` o `tel3`. Si se encuentra una coincidencia, muestra un mensaje de aviso. Puedes ajustar el nombre de la tabla y los nombres de campo según tu estructura.

El código también maneja los guiones en los números de teléfono utilizando la función `Replace` para eliminarlos antes de realizar la búsqueda.

Recuerda que este es solo un ejemplo y debes adaptarlo a tus necesidades específicas, como realizar otras acciones adicionales cuando se encuentra un teléfono duplicado.

Espero que esta solución te ayude a validar los teléfonos ingresados y buscar duplicados en Access. ¡Buena suerte con tu aplicación!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar