Código VBA

Hola sofocles soy Raúl de Oberá Misiones Argentina
En este poco tiempo que llevo frente al Ordenador le di a Access, tengo muchas dudas, claro son todas juntas y es imposible que me contestes.
Apelo a tu buena voluntad.
Tengo una base de Datos de alumnos con apellidos, sexo, documentos etc,
cuando llego al número de documento se abre un formulario para la búsqueda de ese documento,
DoCmd.OpenForm "BuscarAlumnos", acNormal, ya en el ingreso el documento y un botón llama a un modulo con el siguiente código
var = Forms!BuscarAlumnos!txtDocumento
If var <> "" Then
Debug.Print var
encontrado = DLookup("[ApellidoyNombre]", Alumnos, "[Documento]='" & var & "'")
'DoCmd.FindRecord var, , True, , True
MsgBox "El alumno fue encontrado" & ApelldioyNombre
Else
MsgBox "No hay alumno que tenga ese documento", vbOKOnly, "Base de Datos de Alumnos"
End If
Si es posible y querés analizar el código te estaré agradecido.
Un saludo desde la tierra colorada.
PD: Perdón si fue esta pregunta dos veces.
Respuesta
1
Parece que lo que pretendes es comprobar la existencia de un documento antes de darle de alta, para ello es más interesante crear una función que te compruebe la existencia.
Por ejemplo, si yo deseo comprobar la existencia de un cliente en la tabla de clientes, cuando llega el momento, en la aplicación de efectuar la comprobación, yo le pregunto con código VBA lo siguiente:
If ExisteCliente(CodCli) then
Msgbox .....
End If
La función tiene que tener mas o menos la siguiente estructura:
'*********************************************************************
' Función: Existe_Cliente
'
' Concepto: Comprueba la existencia de un cliente
'
' (c) Angel Pérez Díaz. 1993 - 2002. Todos los Derechos Reservados.
'
'*********************************************************************
Public Function Existe_Cliente(CoCli)
On Error GoTo Error_Existe_Cliente
Existe_Cliente = False
Dim T_CLI As Recordset
Dim DB As Database
Set Db=CurrentDB()
Dim sql as string
sql = "SELECT [CLIENTES].*"
sql = sql & " FROM [CLIENTES]"
sql = sql & " WHERE [CLIENTES].CO_CLI=" & CoCli
Set T_CLI = DB.OpenRecordset(sql, dbopensnapshot)
If T_CLI.RecordCount > 0 Then
Existe_Cliente = True
End If
GoTo Exit_Existe_Cliente
Error_Existe_Cliente:
MsgBox Error$, 48, Titulo
Exit Function
Exit_Existe_Cliente:
T_CLI.Close
Exit Function
End Function
********************
De esta forma, no es necesarios abrir más formularios, y siempre que lo desee puedo comprobar la existencia o no de un registro, con solo invocar la función que devuelve verdadero o falso.
**********************
Mensaje Independiente:
Estoy buscando trabajo como Freelance, si puedes ayudarme
Enviame un mensaje a:
[email protected]

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas