Access - rellenar campo

 
Vista:

rellenar campo

Publicado por inma (7 intervenciones) el 08/06/2007 14:12:26
Hola a tod@s!!!!

Mi problema es el siguiente:

Tengo una BD, en ella tengo una tabla que es Profesor. Uno de sus campos es Id_Profesor que esta formado primero por una letra y a continuacion un numero, por ejemplo : P9863. La cuestion es que en mi aplicacion cuando inserto un nuevo usuario, y determino que es profesor, lo que quiero que ocurra en la BD es lo siguiente: el id_Profesor quiero que se incremente solo, pero no tengo ni idea de como hacerlo. Creo que hay una funcion en access que permite crear funciones para luego aplicarla sobre campos, pero no estoy segura se si es cierto y tampoco se como hacerlo.

ejemplo:

el ultimo usuario tiene el identificador P369, y lo que quiero es que al meter otro usuario profesor es que su identificador sea P370.

Si me pudierais explicar una forma sencilla de hacerlo, por favor.

Muchas gracias ante todo :D
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

RE:rellenar campo

Publicado por Enrique (1299 intervenciones) el 08/06/2007 16:31:06
Hola Inma:
No sé si para tí esta forma será sencilla, pero inténtalo así:

En un Formulario le das como Origen del Registro la Tabla y le insertas el campo "Id_Profesor" con origen del control el campo de la Tabla del mismo nombre, luego insertas tambien un cuadro de texto "Independiente" (sin origen del control) y lo llamas "Letra" y estos dos simples Procedimientos de Evento:

'AL ACTIVAR REGISTRO
Private Sub Form_Current()
Me.Letra = ""
Me.Letra.SetFocus
End Sub

'DESPUES DE ACTUALIZAR EL CAMPO "LETRA"
Private Sub Letra_AfterUpdate()
If Me.RecordsetClone.RecordCount = 0 Then
Me.Id_Profesor = Me.Letra & Format("1", "0000")
Else
Dim MaxReg As Variant, Numero As Integer
MaxReg = DMax("Id_Profesor", "Tabla1")
Numero = Val(Mid(MaxReg, 2, 4))
Me.Id_Profesor = Letra & Format(Numero + 1, "0000")
End If
End Sub

En este ejemplo el campo se grabará en la Tabla con 1 letra y 4 numeros que irán aumentando correlativamente, ejemplo: P0001, P0002........ P0021, P0022. Si solo necesitas 3 numeros cambia los 4 ceros de las dos funciones Format por 3 ceros y el número 4 en Val(Mid(MaxReg, 2, 4)) por un 3.

Saludos
Enrique
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