Hacer una búsqueda de un formulario a otro. En access 2013

Mi primera pregunta.

Tengo un proyecto en access que lo llevo bien encaminado, sin embargo no se nada de vba, y requiero su ayuda después de errar bastante.

Mi proyecto es una base de datos en access sobre facturación. Tengo un formulario en el cual veo los registros de consumo de los departamentos y luego los clientes vienen para la caja a cancelar. Al llegar a la caja busco el numero de factura que lo veo en tiempo real en mi formulario voy a el formulario factura busco el numero con el buscador de access y facturo. Todo a pie. Me gustaría automatizarlo un poco.

Este es mi formulario en el cual veo los registros de los departamentos

Lo que quiero es que al darle click a la transacción que necesite me busque en otro formulario (factura) el numero de factura y me lo cargue. (El numero de factura es la segundo campo)

Este es el formulario que cargo a pie con el buscador. Mi idea es que me lo cargue ya con el contenido de la factura. No se si sea básico lo que pregunto pero me comió.

2 respuestas

Respuesta
1

Esta complicado por dices que no sabes mucho de VB.

Puedes hacerlo con un recordset o puedes hacerlo pasando los valores con la propiedad Open Args.

https://www.youtube.com/watch?v=vh00PQ9y6rI&index=1&list=PLsbpurIPHmoJtJ0eQzqjMVvkh4jRBoI7N&t=11s 

https://www.youtube.com/watch?v=cqo_yC0B3mM&list=PLsbpurIPHmoJtJ0eQzqjMVvkh4jRBoI7N&index=2 

En eso videos puedes ver como lo usan y te dan el código para descargar en la descripción.

Deja preparo un ejemplo con recordset y te lo mando. Checa por el momento esos videos haber si te ayudan un poco.

¡Gracias! los chequiare, de vba no se casi nada. revisare los videos y vuelvo para ver como me va . 

https://drive.google.com/open?id=0B68j-Y3JB-dWZjlXREJDSlpLcWs 

Ay esta un ejemplo de como se hace en recordset

Ok. Regreso el lunes por si tienes duda y no respondo

Saludos, revise la información altamente útil. Sin embargo creo que falta algo. Tengo un error ya que el campo [Numero de Factura] es un campo de autonumeracion y por lo tanto no me deja implementar un numero como lo del ejemplo.

el codigo que coloque fue 

Private Sub FACTURAR_Click()
Dim miBd As DAO.Database
Dim miRs As DAO.Recordset
Dim consulta As String

On Error GoTo ManipularError
If Not IsNull(Me.ventas) Then
Set miBd = CurrentDb
Consulta = " SELECT [gran consulta].[Fecha Fra], [gran consulta].[Numero de Factura], [gran consulta].[Código Cliente], [gran consulta].[Código Articulo], [gran consulta].[Unidades vendidas], [gran consulta].[Tipo de pago], [gran consulta].[Referencia], [gran consulta].[Aprobación], [gran consulta].[Total], [gran consulta].[Status] FROM [gran consulta] where [Numero de Factura] = " & Me.ventas & " "
Set miRs = miBd.OpenRecordset(consulta, dbOpenForwardOnly)
With miRs
DoCmd.OpenForm "Factura 3"
Forms![Factura 3]![Numero de Factura] = .Fields("Numero de Factura")
End With
miRs.Close: Set miRs = Nothing
miBd.Close: Set miBd = Nothing
Else
MsgBox "DEBE SELECCIONAR UN SERVICIO", vbInformation, "AVISO"
End If
Exit Sub

ManipularError:
If Not miRs Is Nothing Then miRs.Close: Set miRs = Nothing
MsgBox Err.Description, vbCritical, "Atención"
End Sub

Lo que necesito hacer hablado es.

Del formulario [gran consulta] seleccionar de el grip (ventas) un movimiento de caja y al hacer doble click sobre el o seleccionarlo y darle click al botón facturar me abra el formulario [Factura 3] buscándome por el numero de factura para cargarme toda la información de la prefactura elaborada por el operador.

Algo así.

Todo eso lo hago a pie. je je.

Ya lo probé a mi no me sale ningún error. Pregunta

En las propiedades de origen del control ¿Tienes asignado algo?

O ¿cambiaste los valores de los campos y le diste guardar?

Tu campo el de la tabla tienes correcto el nombre --- .Fields("Numero de Factura")-----

si, la diferencia de los ejercicios y la muestra que me enviaste es que en mi proyecto la celda que recibe el dato es de autocompletacion y en vez de llenarla con ese dato se debe buscar esa referencia numérica.

ya la pre factura esta cargada en el sistema con ese numero.  ese campo no acepta que introduzcas datos, cuando realizas una factura nueva el lo genera automáticamente, en este caso esta ya creado y yo debo buscarlo para cargar la factura y cobrar al cliente. 

Así es no se podrá asignar. Analiza que otras opciones tienes si encuentras una idea y necesitas ayuda me dices. Necesitaría ver tu base de datos para estudiarla y buscar solución.

Voy a hacer una copia... veré como hago es que tengo la bd dividida y trabajo con tablas vinculadas. Si las convierto a local se pierden las relaciones y se forma un rollo

De acuerdo

Amigo antonio como podría enviarle el archivo de base de datos en directo para que lo analice

Puedes crear un archivo rar y subirla a la nube y enviarme el link por correo o por aquí.

Mi correo es [email protected]

Pero lo revisaria mas tarde en mi casa, ya que mi trabajo ocupamos el Access 2003 estonces no sera compatible

-------

Retomando las imagenes anteriores, el formulario que tiene como titulo transaccion de caja, al parecer tiene un cuadro de lista y supongo que tiene oculto un campo, si es asi. ¿Qué campo es? ¿Es el Id(numero de factura) de la factura?

Ya le envíe el correo ... no hay problema cuando tenga tiempo.

No hay ningún campo oculto. En el archivo vera la raíz del formulario.

Ok de acuerdo al llegar a mi casa. Lo checo y te escribo

Me podrías reenviar el archivo pero comprimido(.rar o .zip), lo que pasa que el correo no me deja descargarlo.

listo

Ok. Luego lo reviso

Respuesta
1

Es más fácil de lo que usted cree. Si desea lo hago yo por usted. De manera Remota con Teamviewer y le voy explicando como se hace. Así aprende y puede implementarlo en otras aplicaciones.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas