Access - automatizar chekbox

 
Vista:

automatizar chekbox

Publicado por Joaquín Pascual (48 intervenciones) el 01/04/2007 21:34:55
hola, como podría automatizar un chekbox, me explico, tengo una tabla paises con dos campos pais(clave) y tengo(chekbox), en un formulario tengo entre otros el campo pais que toma el valor de la tabla paises, la pregunta es la siguiente, quiero que al seleccionar un pais mire si el chekbox de la tabla paises esta marcado, si lo esta que no haga nada y si no lo esta que lo marque, opcionalmente puede mostrar un mensaje de lo que va a marcar.

saludos, Joaquín
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:automatizar chekbox

Publicado por Enrique (1299 intervenciones) el 02/04/2007 18:28:12
Hola Joaquin:
Dices que en un formulario seleccionas el campo "Pais" y quieres que al seleccionarlo te marque el checkBox del Campo "Tengo" en la Tabla "Paises", pero mi pregunta es: ¿ como seleccionas el Pais ?, ¿ escribiéndolo en un campo de texto del formulario o mediante un Cuadro Combinado ?

Quizás pueda ayudarte cuando sepa estos detalles.

Saludos
Enrique
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:automatizar chekbox

Publicado por Joaquín Pascual (48 intervenciones) el 02/04/2007 21:22:46
Hola Enrique, lo hago a través de un combo dependiente de la tabla Paises, este combo me muestra todos los paises y elijo el que quiero para almacenarlo en un registro de la tabla Monedas, actualmente tengo esto que me funciona pero es muy enrevesado y me marca el pais cada vez que lo elijo y devo tener un formulario oculto dentro del formulario principal.

Private Sub Pais_BeforeUpdate(Cancel As Integer)
Dim a As Variant

'en este código el valor devuelto es Pais de la tabla Paises
'tomando como criterio el Pais del formulario Monedas1
'este deberá coincidir con el Pais de la tabla Paises

a = DLookup("Pais", "Paises", "Pais='" & Forms![Monedas1]!Pais & "'")

'MsgBox "se a marcado este pais " & a
'en el siguiente código se realiza la acción de marcar la casilla

If a > "" Then
Forms![Monedas1]![Paises_Nuevos]!Tengo = -1
MsgBox "se a marcado este pais " & a
End If
End Sub

Quisiera poder simplificarlo si es posible, como decia en mi primer mensaje si el pais que selecciono, en el campo (Tengo) esta marcado que no haga nada si no lo esta pues que lo marque y que me lo anuncie.

gracias por tú tiempo,
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:automatizar chekbox

Publicado por Enrique (1299 intervenciones) el 03/04/2007 16:30:28
Hola Joaquin, la verdad es que no entiendo bien como lo haces. A ver si es esto:
La Tabla Monedas1 tiene los campos "Pais" y el CheckBox "Tengo" pero en principio está vacia y se va llenando con el Pais que selecciones en el Combo cuyo origen es la Tabla "Paises" y al mismo tiempo le marca la casilla, o la Tabla Monedas1 ya tiene todos los paises y solo necesitas que le marque la casilla.

¿ Es alguno de estos dos casos ? o es otra cosa.

Saludos
Enrique
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:automatizar chekbox

Publicado por Joaquín Pascual (48 intervenciones) el 03/04/2007 20:41:42
hola, en el form Monedas1 es donde esta el combo pais donde elijo el pais que proviene de la tabla paises ( Pais, Tengo) donde Tengo es chekbox,cuando elijo un pais en el form Monedas1 es porque tengo al menos una moneda de ese pais entonces quiero que me marque el chekbox(Tengo) ya que es el sistema que he elejido para saber si tengo monedas de un pais, lo cual se a través de un informe que proviene de una consulta donde el campo Tengo en criterios le pongo true.
espero no liarte pero no se explicarlo mejor.
Como ya te pongo, con el código anterior me funciona bien, pero debo tener un form oculto en el formulario principal con el pais y el chekbox, y quisiera simplificarlo si es posible, ya que como esta ahora siempre me marca el pais ya sea la primera vez que lo utilizo como si es la 200, por eso te decia que mirase si estaba marcado, de ser así que no haga nada y si no lo esta que lo marque y saque un mensaje "se va a marcar el pais españa" (si/no) no se si esto es correcto pero es para que si me equivoco de pais poder cancelar la operación y volver a empezar

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:automatizar chekbox

Publicado por Enrique (1299 intervenciones) el 04/04/2007 17:16:30
Hola Joaquin:
No sé si me habré enterado bien, pero si es como creo prueba a usar este código en el Procedimiento de Evento "Después de actualizar" del Combo Pais:

Private Sub ComboPais_AfterUpdate()
On Error Resume Next
Dim CompruebaMarca As String, Mens As Integer
CompruebaMarca = DLookup("Tengo", "Paises", "Pais='" & Me.ComboPais & "'")
If CompruebaMarca = False Then 'Si el CheckBox NO estaba ya marcado
Mens = MsgBox("Se va a marcar el CheckBox de " & Me.ComboPais & Chr(10) & _
"¿ Lo confirma ?", vbQuestion + vbYesNo + vbDefaultButton2, "Marcar Pais")
If Mens = vbYes Then
CurrentDb.Execute "UPDATE Paises SET Tengo = Yes Where Pais ='" & Me.ComboPais & "'"
MsgBox "Se ha marcado el CheckBox de " & Me.ComboPais & ".", vbInformation, "Pais marcado"
Else
Exit Sub 'Cancela el marcado del CheckBox
End If
Else 'Cuando el CheckBox SI estaba ya marcado
Exit Sub 'Sale del Evento sin hacer nada
End If
End Sub

Como verás se usa un "If Then Else" dentro de otro "If Then Else". Si no es esto exactamente, quizás con alguna modificación pueda servirte.

Saludos
Enrique
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:Resuelto Automatizar chekbox

Publicado por Joaquín Pascual (48 intervenciones) el 04/04/2007 17:49:48
Gracias Enrique, es genial, es justamente lo que buscaba, veo que lo entendistes a la perfección, lo dicho, GRACIAS.

Saludos, Joaquín
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:Resuelto Automatizar chekbox

Publicado por Enrique (1299 intervenciones) el 04/04/2007 18:55:27
Joaquin, no estaba muy seguro de haber acertado, la verdad creía que no, pero me alegro que te haya servido.

Saludos
Enrique
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