El Código Enunciado

Páginas: 8 (1975 palabras) Publicado: 20 de enero de 2013
TRUCOS ACCESS: ABRIR UN FORMULARIO AUTOMATICAMENTE EN EL PRIMER REGISTRO VACIO DESPUES DEL ULTIMO
En el evento Al cargar incluir este codigo: 

DoCmd.GoToRecord , acNewRec 
TRUCOS ACCESS: ABRIR UN FORMULARIO EN EL MISMO REGISTRO QUE MOSTRABA CUANDO SE CERRO LA ULTIMA VEZ
No existe una opcion por defecto, pero se puede añadir un pequeño codigo para que se guarde el ultimo registro visualizadoy Access vuelva a el al ser abierto el mismo formulario. 

Los pasos a seguir son: 

1º) Crear una tabla auxiliar (que aqui vamos a llamar Acceso) para almacenar el ultimo registro visualizado en el formulario. Contendra dos campos, uno (que llamaremos CampoClave para guardar el nombre del campo clave principal de la tabla asociada al formulario y otro para guardar el valor de dicha clave: CAMPOS TIPO

CampoClave Texto (Clave principal)

Valor Texto

El campo CampoClave se ha descrito como de tipo texto pero puede ser tambien de tipo numerico o autonumerico. Ello dependera del tipo de campo que sea el campo clave principal de la tabla asociada al formulario. En este ejemplo suponemos que ese campo es de tipo texto y que su nombre es ClaveFormul. En cada formulario deberemostomar nota del nombre de ese campo y de su tipo. 

2º) Añadir el siguiente codigo al evento Al descargar del formulario deseado: 

Private Sub Form_Unload(Cancel As Integer) 

Dim Valor As String 

If IsNull(Me![ClaveFormul]) Then 

' Cambiar [ClaveFormul] por el nombre del campo clave principal 

Valor = 'acNewRec' 

Else 

Valor = Me![ClaveFormul] 

' Cambiar [ClaveFormul] porel nombre del campo clave principal 

End If 

Set rst = db.OpenRecordset(Sql, dbOpenDynaset) 

If rst.RecordCount = 0 Then 

rst.AddNew 

rst![CampoClave] = Me.Name 

rst![Valor] = Valor 

rst.Update 

Else 

rst.Edit 

rst![Valor] = Valor 

rst.Update 

End If 

rst.Close 

End Sub 

3º) Añadir el siguiente codigo al evento Al cargar del formulario, el cual efectuauna busqueda en la tabla Acceso del campo clave del registro abierto, toma el valor de la clave y se coloca en el: 

Private Sub Form_Load() 

Set db = CurrentDb 

Sql = 'SELECT * FROM Acceso WHERE CampoClave = '' & Me.Name & ''' 

Set rst = db.OpenRecordset(Sql, dbOpenSnapshot) 

If rst.RecordCount > 0 Then 

If Not IsNull(rst![Valor]) Then 

If rst!Valor <>'acNewRec' Then 

Set rstFrm = Me.RecordsetClone 

' Si el campo clave principal ('ClaveFormul' en este ejemplo) es de tipo texto, 

' la instruccion a incluir seria esta: 

rstFrm.FindFirst '[ClaveFormul] = '' & rst![Valor] & ''' 

' Cambiar [ClaveFormul] por el nombre del campo clave principal 

' Si el campo clave principal ('ClaveFormul' en este ejemplo) es de tipo 

' numerico,la instruccion seria: 

' rstFrm.FindFirst '[ClaveFormul] = ' & rst![Valor] 

' Cambiar [ClaveFormul] por el nombre del campo clave principal 

If Not rstFrm.NoMatch Then 

Me.Bookmark = rstFrm.Bookmark 

End If 

rstFrm.Close 

Else 

DoCmd.GoToRecord , acNewRec 

End If 

End If 

End If 

rst.Close 

End Sub 

No hay que olvidar que no solo hay que incluir elcodigo, sino asegurarnos que en la hoja de propiedades del formulario quedan marcados ambos eventos: Al cargar y Al descargar con [Procedimiento de evento]. 

4º) Estando abierto el formulario en modo de diseño, pulsar el boton Codigo y añadir en la seccion Declaraciones el siguiente codigo: 

Option Compare Database 

Option Explicit 

Dim db As Database 

Dim rst As Recordset 

DimrstFrm As Recordset 

Dim Sql As String 

Las dos primeras lineas ya estaran escritas al acceder a esa seccion. Lo mismo ocurre con las lineas primera y ultima del codigo de los eventos. Simplemente hay que procurar no repetirlas. 

En el numero siguiente se explica como ampliar este truco para que reconozca al usuario y a su PC. 
TRUCOS ACCESS: ABRIR UNA BASE DE DATOS DISTINTA DESDE UN...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • El artículo 3° del código de comercio chileno: ¿taxativo o enunciativo?
  • enunciados
  • Enunciados
  • Los enunciados
  • El enunciado
  • el enunciado
  • Los Enunciados
  • enunciados

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS