Access - seleccionar registro

 
Vista:

seleccionar registro

Publicado por salva (44 intervenciones) el 24/01/2011 09:10:10
Como siempre gracias de antemano.

Tengo un formulario llamado CLIENTES con el siguiente codigo que cuando hago click sobre un boton SELECCIONAR el registro seleccionado me lo envia al formulario factura al control cliente;

Private Sub Comando20_Click()
If Nz(Me.id, 0) = 0 Then
MsgBox "Seleccione un codigo de la lista", vbInformation, "LISTA SIN SELECCION"
Else
Forms![factura]![cliente] = id
DoCmd.Close acForm, Me.Name
End If
Forms![factura]![cliente].Requery
End Sub

Como puedo hacer si tengo un formulario llamado ALBARAN que cuando haga click sobre este boton en el formulario CLIENTES bien me envie el registro al control cliente del formulario FACTURA o ALBARAN segun el cual este abierto.
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:seleccionar registro

Publicado por Emilio (232 intervenciones) el 26/01/2011 02:45:46
Hola Salva

Si no tienes abierto el formulario es muy sencillo con el asistente para botones solo sigue los pasos y ya esta.
Si lo queres hacer tu en el evento del botón pones algo así:

If CurrentProject.AllForms("ALBARAN").IsLoaded Then
DoCmd.SelectObject acForm, "ALBARAN"
Forms![ALBARAN]![NombrecontolCliente] = Me.controlClentedeformularioCliente
Else
MsgBox "El formulario ALBARAN no esta abierto debe de abrirlo primero"
Cancel = True
End If

PD; debes de sustituir por los nombre correctos, Saludos
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

RE:seleccionar registro

Publicado por salva (44 intervenciones) el 26/01/2011 07:24:47
Muchas gracias por responder.

Este codigo lo que hace es enviarme el regitro seleccionado del formulario CLIENTES al control cliente del formulario ALBARAN, pero con el mismo boton lo que quiero es si tengo el formulario FACTURA el que esta abierto me lo envie al control cliente de este. Como seria ese codigo. En resemun que me envie el cliente bien al formulario ALBARAN O FACTURAS segun el que este abierto.

Otra vez mucha gracias
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

RE:seleccionar registro

Publicado por Emilio (232 intervenciones) el 26/01/2011 15:44:27
Hola

De la misma forma pones abajo del primer codigo el segundo:

If CurrentProject.AllForms("ALBARAN").IsLoaded Then
DoCmd.SelectObject acForm, "ALBARAN"
Forms![ALBARAN]![NombrecontolCliente] = Me.controlClentedeformularioCliente
Else
MsgBox "El formulario ALBARAN no esta abierto debe de abrirlo primero"
Cancel = True
End if

If CurrentProject.AllForms("FACTURAS").IsLoaded Then
DoCmd.SelectObject acForm, "FACTURAS"
Forms![FACTURAS]![NombrecontolCliente] = Me.controlClentedeformularioCliente
Else
MsgBox "El formulario FACTURAS no esta abierto debe de abrirlo primero"
Cancel = True
End If

Y al que este abierto es al que le vas a asignar el código pero si estan los dos a ambos le pasas el dato, claro puedes hacer que te avise si tienes abierto ambos para que cierres el que no es. Saludos.
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

RE:seleccionar registro

Publicado por salva (44 intervenciones) el 26/01/2011 18:00:42
No sabeis como os agradezco la ayuda, lo he solucionado con tu codigo Emilio, aclarar que nunca se debera dar el caso que los dos formulario esten abiertos (ALBARANES Y FACTURAS), por poner un pero es que el codigo en cuestion este abierto el formulario FACTURAS o bien ALBARANES siempre me sale el Msgbox del formulario que no esta abierto, ¿se puede solucionar esto?. Repetir el agradecimiento y perdonad la ignorancia y tened paciencia con los que no sabemos.
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

RE:seleccionar registro

Publicado por Emilio (232 intervenciones) el 26/01/2011 18:45:42
Claro que se puede error mio, y para Eliminando todas las posibilidad si estan los dos abiertos o ninguno algo así:

If Not CurrentProject.AllForms("ALBARAN").IsLoaded And Not CurrentProject.AllForms("FACTURAS").IsLoaded Then
MsgBox "Debes de abrir el formulario de Albaran o Factura, debes abrir uno"
End If
If CurrentProject.AllForms("ALBARAN").IsLoaded And CurrentProject.AllForms("FACTURAS").IsLoaded Then
MsgBox "Tienes los formularios de Albaran o Factura abiertos, debes cerrar uno"
Else
If CurrentProject.AllForms("ALBARAN").IsLoaded Then
DoCmd.SelectObject acForm, " ALBARAN"
Forms![ALBARAN]![NombrecontolCliente] = Me.controlClentedeformularioCliente
End If
If CurrentProject.AllForms("FACTURAS").IsLoaded Then
DoCmd.SelectObject acForm, "Clientes"
Forms![FACTURAS]![NombrecontolCliente] = Me.controlClentedeformularioCliente
End If
End If

Saludos
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

RE:seleccionar registro

Publicado por salva (44 intervenciones) el 26/01/2011 19:25:30
Solucionado, muchisimas gracias y a todos lo que haceis posible estos foros.
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