Ver Mensaje Individual
  #2 (permalink)  
Antiguo 01/11/2008, 09:31
Avellaneda
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 4 meses
Puntos: 37
Respuesta: problemas con Find

Cita:
Iniciado por okan Ver Mensaje
Tengo el siguiente codigo:

....

Bien, yo en un formulario de visual traigo desde otras tablas algunos datos como el DNI, Nombre, Apellido, Codigo de Carrera y le digo (con el codigo que puse arriba) que grabe en otra tabla los datos DNI, Codigo de carrera, y el año pero que primero se fije (haga una busqueda) en esta nueva tabla para que no grabe dos registros iguales. El problema me lo tira en el tercer Find evidentemente hay algo mal con las fechas, pero no se que, para que grabe la fecha le digo que tome la del sistema y en le Find quiero que compare el año.
Espero haber sido claro.
Bueno, según ese código estás llamando tres veces al método Find y éste no es concatenable, quiero decir que únicamente se activaría el tercero.

Yo lo haría de otra forma: Creando un recordset con la condición de los tres campos, si existen los tres devolverá un registro y so no existen no devolverá ninguno, por ahí lo puedes controlar.

Código:
    Dim rs As ADODB.Recordset
    Set rs = New ADODB.Recordset
    With rs
        .ActiveConnection = [TuCadenaDeConexion] ' la misma de Adodc2 
        .CursorType = adOpenStatic
        .CursorLocation = adUseClient
        .Open "SELECT * FROM LaTabla WHERE DNI = '" & busqueda & "' AND Cod_Carrera = '" & cod.Caption & "' And [Año_inscipcion] = " & Year(Date)
    End With
    If rs.RecordCount > 0 Then
        ' ya existe un registro con los tres datos buscados
        MsgBox "Ya está inscrito"
        ' instruccion/es
    Else
    '.. aquí el INSERT INTO
    
    End If
Nota: El campo Año_inscripcion lo debes encerrar entre corchetes [] ya que la eñe para el lenguaje sql es un carácter extraño.