Lío con entrada de datos

30/06/2003 - 11:32 por Laura McNee | Informe spam
Tengo dos tablas relacionadas por el campo clave CIF. En una de ellas
constan datos personales y en la otra, pedidos. Quiero hacer lo siguiente al
introducir registros:

1) Tecleo el CIF, y si no existe, que añada a ese cliente a un nuevo
registro, al que en un subformulario haré entrar el pedido que nos haga.

2) Si dicho CIF existe, que me presente en pantalla los datos personales
tomados de la tabla Personal, y me aparezca el subformulario de pedidos en
blanco.

¿Cómo hacer para que un mismo formulario de datos personales me sirva tanto
para entrar datos como para que me busque los existentes, en caso de que los
haya?

Gracias, chicos.

Preguntas similare

Leer las respuestas

#6 Laura McNee
30/06/2003 - 18:11 | Informe spam
Pues aunque no lo parezca, no se me abre el formulario Clientes. El cursor
no llega a salir el formulario en que está el Combo, encuentre o no lo que
introduzco en él.
:-(

"marjan" escribió en el mensaje
news:uWgV4%
Hola Laura,

En el Evento "Al no estar en la lista", tienes que crear un Procedimiento


de
evento, en el escribes :

DoCmd.OpenForm "Clientes", , , , acFormAdd
'Abre el formulario Clientes modo añadir
Response = acDataErrContinue
'Esconde el mensaje de error
Me.Undo
'Borra lo que has escrito en el CCombi

Para que después, te aparezca el nuevo cliente en la lista puedes hacer lo
que le digo a Juan Alava en un mensaje de hoy "Como añadir..." o hacer un
Me.CuadroCombinado.Requery
en su evento "Al recibir el enfoque"

Saludos,
marjan



"Laura McNee" escribió en el mensaje
news:bdpk4b$jhb$
> Gracias a los dos.
> He hecho lo que me decía Sendo y lo que me apuntas tú, pero como el


cuadro
> combinado tiene ya un evento AfterUpdate, no me deja ponerle una macro


"Al
> no estar en la lista", para que me cargue el formulario vacío de entrada
de
> datos. ¿Qué puedo hacer?
>
>
> "marjan" escribió en el mensaje
> news:
> > Tienes un ejemplo en el Formulario Pedidos de la base de ejemplo
> > Neptuno.mdb, que va con MsAccess.
> >
> > El problema lo tienes "Al no estar en la lista" el Cliente...
> > Dentro de las propiedades del cuadro combinado, en el evento "Al no
estar
> en
> > la lista", puedes hacer que te abra el formulario Clientes, en modo
> "añadir"
> > datos y, cuando se cierre y, en el caso que el formulario pedidos Este
> > Cargado, actualizar el origen de datos del cuadro combinado...
> >
> > Saludos,
> > marjan
> >
> >
> > "Laura McNee" escribió en el mensaje
> > news:bdp6pd$v98ub$
> > > ¿Mande? ¿Podrías ser más explícito?
> > >
> > > "iDeafix" escribió en el mensaje
> > > news:bdp6fk$ukjca$
> > > > Puedes crear un segundo campo desplegable (campo combinado, creo


que
> se
> > > > llama) sobre cif (busquedaCIF, por ejmplo).
> > > >
> > > > Es muy fácil, el asistente hará la mayor parte del trabajo.
> > > >
> > > > "Laura McNee" escribió en el mensaje
> > > > news:bdp058$ulibq$
> > > > > Tengo dos tablas relacionadas por el campo clave CIF. En una de
> ellas
> > > > > constan datos personales y en la otra, pedidos. Quiero hacer lo
> > > siguiente
> > > > al
> > > > > introducir registros:
> > > > >
> > > > > 1) Tecleo el CIF, y si no existe, que añada a ese cliente a un
nuevo
> > > > > registro, al que en un subformulario haré entrar el pedido que


nos
> > haga.
> > > > >
> > > > > 2) Si dicho CIF existe, que me presente en pantalla los datos
> > personales
> > > > > tomados de la tabla Personal, y me aparezca el subformulario de
> > pedidos
> > > en
> > > > > blanco.
> > > > >
> > > > > ¿Cómo hacer para que un mismo formulario de datos personales me
> sirva
> > > > tanto
> > > > > para entrar datos como para que me busque los existentes, en


caso
de
> > que
> > > > los
> > > > > haya?
> > > > >
> > > > > Gracias, chicos.
> > > > >
> > > > >
> > > >
> > > >
> > >
> > >
> >
> >
>
>


Respuesta Responder a este mensaje
#7 marjan
30/06/2003 - 21:20 | Informe spam
Hola Laura,

Hasta mañana ya no podré responderte, Si quieres enviame la base COMPRIMIDA
a mi correo para ver mejor lo que pretendes...

Saludos,
marjan


"Laura McNee" escribió en el mensaje
news:bdpr11$da0$

"Laura McNee" escribió en el mensaje
news:bdpqv2$d5q$
> Sí, pero mira lo que he encontrado en un libro, sobre cómo usar un combo
> para añadir:
>
> Private Sub Cuadro_combinado8_NotInList(strNewData As String,


intResponse
As
> Integer)
>
> On Error GoTo ErrorHandler
>
> Dim intResult As Integer
> Dim strTitle As String
> Dim intMsgDialog As Integer
> Dim strMsg1 As String
> Dim strMsg2 As String
> Dim strMsg As String
> Dim cbo As Access.ComboBox
> * Dim dbs As DAO.Database

Pero me da error ahí, donde el asterisco.


Respuesta Responder a este mensaje
#8 Laura McNee
01/07/2003 - 09:43 | Informe spam
Hola marjan, buenos días. Decidí seguir con la forma en que Sendo y tú me
habíais aconsejado. Tengo el combo enlazado, "Limitar a la lista" en SI, y
el código que me apuntaste en el evento "Al no estar en la lista", y he
dejado el que crea automáticamente el asistente en "Después de actualizar".
Funciona bien mientras no meta un CIF que no consta en la tabla. Entonces no
de deja salir del combo.

El combo no tiene "Origen del control" ¿es correcto? Al ponerlo en el
formulario, quité el txtBox que me creó el asistente enlazado al campo CIF.

Y una última duda: en el código que me diste, el DoCmd.Openform abrirá
(dices) el formulario en modo añadir. ¿No dará error al estar ya abierto?

"marjan" escribió en el mensaje
news:
Hola Laura,

Hasta mañana ya no podré responderte, Si quieres enviame la base


COMPRIMIDA
a mi correo para ver mejor lo que pretendes...
Respuesta Responder a este mensaje
#9 marjan
01/07/2003 - 10:39 | Informe spam
Hola Laura,

El error que me comentas, seguramente es porque debes estar trabajando en
Acces97, ¿no? Si es así, elimina "DAO."

En todo caso, el procedimiento que mencionas solo te añadirá el campo CIF en
la tabla orígen del cuadro combinado, y tu necesitas que te añada mas datos
del cliente (supongo).

Hasta luego,
marjan

"Laura McNee" escribió en el mensaje
news:bdpr11$da0$

"Laura McNee" escribió en el mensaje
news:bdpqv2$d5q$
> Sí, pero mira lo que he encontrado en un libro, sobre cómo usar un combo
> para añadir:
>
> Private Sub Cuadro_combinado8_NotInList(strNewData As String,


intResponse
As
> Integer)
>
> On Error GoTo ErrorHandler
>
> Dim intResult As Integer
> Dim strTitle As String
> Dim intMsgDialog As Integer
> Dim strMsg1 As String
> Dim strMsg2 As String
> Dim strMsg As String
> Dim cbo As Access.ComboBox
> * Dim dbs As DAO.Database

Pero me da error ahí, donde el asterisco.


Respuesta Responder a este mensaje
#10 Laura McNee
01/07/2003 - 11:21 | Informe spam
He olvidado el procedimiento ese y como te decía en un mensaje anterior,
intento sacarlo adelante con el tuyo y el combo de Sendo.

Tengo Access 2000 sobre XP.

"marjan" escribió en el mensaje
news:
Hola Laura,

El error que me comentas, seguramente es porque debes estar trabajando en
Acces97, ¿no? Si es así, elimina "DAO."

En todo caso, el procedimiento que mencionas solo te añadirá el campo CIF


en
la tabla orígen del cuadro combinado, y tu necesitas que te añada mas


datos
del cliente (supongo).

Hasta luego,
marjan

"Laura McNee" escribió en el mensaje
news:bdpr11$da0$
>
> "Laura McNee" escribió en el mensaje
> news:bdpqv2$d5q$
> > Sí, pero mira lo que he encontrado en un libro, sobre cómo usar un


combo
> > para añadir:
> >
> > Private Sub Cuadro_combinado8_NotInList(strNewData As String,
intResponse
> As
> > Integer)
> >
> > On Error GoTo ErrorHandler
> >
> > Dim intResult As Integer
> > Dim strTitle As String
> > Dim intMsgDialog As Integer
> > Dim strMsg1 As String
> > Dim strMsg2 As String
> > Dim strMsg As String
> > Dim cbo As Access.ComboBox
> > * Dim dbs As DAO.Database
>
> Pero me da error ahí, donde el asterisco.
>
>


Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida