Access

Hola, soy principiante en access y te planteo mi pregunta.
En un formulario tengo un campo de Sí/No 0 llamado Factura y otro llamado Nota, pero resulta que un cliente con No. De Contrato 500, quiere un mes Nota y un mes Factura... Como puedo hacer para que a la hora de imprimir por ejemplo la Nota automáticamente se seleccione Factura y quite Nota y viceversa, es decir que al siguiente mes después de imprimir quite Factura y ponga Nota, existe alguna manera...
***A la hora imprimir primero hago una consulta de selección donde me mande como resultado todos los clientes que tengan seleccionada Nota y otra consulta para Factura
De antemano gracias
Y Espero puedas ayudarme.

1 Respuesta

Respuesta
1
Define mejor lo que deseas hacer, no definas el funcionamiento del programa.
Lo que quiero es que mi campos Nota y Factura cambien mes a mes. Un mes Nota habilitado y Factura No y al otro mes Factura habilitado y nota no.
Espero y ahora si este bien planteada mi pregunta
Gracias
Lo hice algo rápido pero creo que está bien ya me dirás
Private Sub ACT()
Nota.Value = -1
factura.Value = 0
End Sub
Private Sub Des()
Nota.Value = 0
factura.Value = -1
End Sub
Function Resultado(Quemes)
' modulo
Dim Mes As Date
Mes = Format(Date, "mm")
Select Case Mes
Case Enero
Des
Case febrero
ACT
Case marzo
Des
Case Abril
ACT
Case mayo
Des
Case Junio
ACT
Case Julio
Des
Case Agosto
ACT
Case Septiembre
Des
Case Octubre
ACT
Case Noviembre
Des
Case Diciembre
ACT
End Select
End Function
Hola, muchísimas gracias por tu respuesta y tu tiempo, y disculpa las molestias pero no se mucho de esto...
¿Cómo hago para que el código este ejecutándose solo?
¿Ese código lo pongo en un modulo? ¿Cómo ejecuto ese modulo?
Espero no ocasionarte mucha molestia
Gracias.
Hasta luego
Creas un Módulo y pegas esto
Private Sub ACT()
Nota.Value = -1
factura.Value = 0
End Sub
Private Sub Des()
Nota.Value = 0
factura.Value = -1
End Sub
Function Resultado(Quemes)
' modulo
Dim Mes As Date
Mes = Format(Date, "mm")
Select Case Mes
Case Enero
Des
Case febrero
ACT
Case marzo
Des
Case Abril
ACT
Case mayo
Des
Case Junio
ACT
Case Julio
Des
Case Agosto
ACT
Case Septiembre
Des
Case Octubre
ACT
Case Noviembre
Des
Case Diciembre
ACT
End Select
End Function
Para llamar a este código tienes que buscar el mes que corresponde eso lo puedes hacer automático poniendo el mes activo.
Para llamar a la función se hace de esta manera
En las propiedades de un control:
=Resultado(format(Ahora();"mm") ' te buscará el mes activo y segun en el codigo tomará una acción en este caso es Noviembre asi que segun el codigo desactiva nota activa fatura.
si lo haces en un procedimiento la llamada se hace casi igual
Call Resultado(format(date;"mm") ' te buscará el mes activo y segun en el codigo tomará una acción en este caso es Noviembre asi que segun el codigo desactiva nota activa fatura.
Hola de nuevo, ya me da pena preguntarte, disculpame. Pero tengo otro problema
Resulta que debo ejecutar ese código solo para el no. de contrato 500; yo hacia una consulta de selección para esto, pero no se como decirle en la consulta que llame este código según el no. de contrato.
Disculpa las molestias
Gracias
Por consulta seria un engorro ya que no tienes criterio para decirle cuando un cliente quiere No o Si, eso lo deberías de hacer por formulario y ahí según los criterios haces o no, porque imagiino que lo quieres automático, pero para que sea auto antes tenias que haber picado para pedido 500 o pedido 100 y después según el cliterio del Cliente tu decides, creo que tu solución es más manual que automático. Lo que viene bien el código para poner un botón y con solo apretar dependiendo como tengas programación para ese mes cambias los registros. Hay cosas que no se pueden hacer automáticas porque se precisa de criterios fijos, pero si un cliente te dice hoy 500 mañana 100, ¿y los otros reg? No se si me pillas,
de todas formas he corregido el código que es simple y útil, se me fue la olla el otro día y no lo utilicé.
Private Sub ACT()
Forms!Formulario1.Nota.Value = -1
Forms!Formulario1.Factura.Value = 0
End Sub
Private Sub Des()
Forms!Formulario1.Nota.Value = 0
Forms!Formulario1.Factura.Value = 1
End Sub
'Public Function MarcaSQL(Dato) As Long
'Static Marcar As Integer
'If IsNull(Dato) Then
'Marcar = 0
' Exit Function
'End If
'Llama slect case y verifica el mes activo
' marca en la consulta -1 en la variable
End Function
Function Resultado(Quemes As String)
' modulo
Select Case Quemes
Case 1
Des
Case 2
ACT
Case 3
Des
Case 4
ACT
Case 5
Des
Case 6
ACT
Case 7
Des
Case 8
ACT
Case 9
Des
Case 10
ACT
Case 11
Des
Case 12
ACT
End Select
End Function
en el formulario creas un boton
Private Sub Comando8_Click()
Mess = Format(Date, "mm")
Call Resultado(Mess)
End Sub
Hola, si comprendo lo que me dices y tienes razón.
Muchas gracias por todas tus respuestas y por tu paciencia... ya ves que no se mucho de esto.
Un saludo
Hasta luego

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas