no_existe |  |
| 2005-02-23 21:15 - Respuestas: 6 - Tema nº: 29200
Hola a tod@s, sigo con la construcción eterna de mi base de datos en Access que uso a diario, a la cual le voy añadiendo mejoras a medida que las voy descubriendo y con la ayuda de amigos que me aconsejan.
Mi pregunta ahora es como hacer que en un formulario tipo listado en el que cada línea es un registro, al pulsar sobre la línea de cualquier registro, se me abra otro formulario, por ejemplo el de la pantalla principal del registro donde se ven todos los demás campos.
Lo he visto en la base de datos de ejemplo "Neptuno" del Access, pero no me aclaro y no se por donde empezar, por lo que agradecería cualquier ayuda en este sentido.
Saludos y gracias.
[ Este mensaje fué editado por: ApacheJoe el 23-02-2005 a las 21:17] | |
|
|
ebolo |  |
|
Re: Base en Access - 2005-02-24 09:01 - Respuesta 2
Hola ApacheJoe, vamos a ver si me explico. Puedes hacer varias cosas, según sea el formulario, por lo que entiendo lo tienes como si fuera hoja de excel, si es así:
En el código del formulario le generas el evento Form_click y le pones algo así:
Code:
Private Sub Form_Click()
On Error GoTo Err_Form_Click
Dim stDocName As String
Dim stLinkCriteria As String
stDocName = nulo;tuformularionulo;
DoCmd.OpenForm stDocName, acNormal, , stLinkCriteria
Exit_Form_Click:
Exit Sub
Err_Form_Click:
MsgBox Err.Des-c-r-i-p-tion
Resume Exit_Form_Click
End Sub
De esta forma cuando le hagas click en el lateral izquierdo de la línea te abre tu formulario, claro hay que pasarle el criterio (stLinkCriteria) para que te muestre los datos de ese registro.
Si esto es así vamos por partes y seguimos.
Saludos. | |
|
|
no_existe |  |
|
Re: Base en Access - 2005-02-26 18:58 - Respuesta 3
Gracias amigo Ebolo por contestarme, es justo lo que necesito, lo que al darle al lateral izquierdo con el signo (+) del registro en el formulario en forma de listado (como una hoja de Excel que me apuntas) se abra otro formulario, en este caso el principal del registro con todos los datos.
Esta información que me das la he de estudiar, ya estaremos más en contacto, porque lo del criterio "stLinkCriteria" lo tengo verde...
Yo intenté hacerlo simplemente con F4 cuando tenía marcada (sombreada) la línea del registro, como lo hacía en dBase IV, pero no me sale.
Hasta pronto, amigo.
Saludos. | |
|
|
no_existe |  |
|
Re: Base en Access - 2005-03-21 21:29 - Respuesta 4
Amigo Ebolo, sigo esperando que me digas algo sobre el tema, yo no sé salir del problema.
La solucción que me has dado no se aplicarla convenientemente, y lo del criterio "stLinkCriteria" me suena a chino.
Me gustaría que me indicaras como hacerlo desde una opción de menú.
Saludos. | |
|
|
ebolo |  |
|
Re: Base en Access - 2005-03-22 21:09 - Respuesta 5
Hola ApacheJoe, vamos a ver si me explico.
'StDocName', lo tienes que igualar al nombre del formulario que quieres abrir, con todos los datos de un campo elegido.
'stLinkCriteria', lo tienes que igualar con el nombre del campo del formulario que tienes que abrir y el valor del registro.
Me explico tienes
1) Un formulario, con vista hoja de datos, sobre el que clikeas en un lateral.
Un Campo de la columna se llama xej.: 'ArtículoPpal' que es del que quieres ver sus datos en partícular.
Otro campo se llama "Nombre".
2) Un formulario que quieres abrir que se llama "Artículos", que tiene los campos de texto:
- 'Código', con el origen de datos "Código"
- 'Descripción', con el origen de datos "Descripción"
Los valores que tienes que darle son:
StDocName="Artículos"
stLinKCriteria="Código=" & Me.ArtículoPpal
Y debe aparecer el formulario con todos los datos que tengas puesto en él, de ese artículo en cuestión.
-
Si quisieras filtrar por Descripción, el criterio que debes pasar es:
stLinKCriteria="Descripción=' " & Me.Nombre & " ' "
En esta caso hay que poner comilla Simple ( ' ) antes del Me.Nombre y al finalizar, por que es una cadena y no un número.
Las comillas Dobles hay que ponerlas para diferenciar lo que es valor de una variable Me.Nombre de él de un texto fijo, en este caso "Descripción".
Concatenando todo con el &.
Si pones este comando después de darle el valor podrás ver,en una ventana emergente, realmente que valor le está pasando en :
Msgbox Me.ArtículoPpal
-
Bueno Saludos y perdona por la explicación tan mala.
Si no te aclaras me lo dices y te mando un ejemplo sencillo.
| |
|
|
|