Access - */*/*/ Desactivar un botón y seguir trabajando*/*/

 
Vista:

*/*/*/ Desactivar un botón y seguir trabajando*/*/

Publicado por Haydee (12 intervenciones) el 10/11/2005 01:31:04
hola me podrian ayudar ...... tengo un formulario con los botones de eliminar y buscar, necesito que un botòn (eliminar ) este desactivado y el botòn buscar activado y despues que se active el botòn eliminar..... Gracias
otra duda es si puedo mandar un mensaje de error diferente a los que manda el sistema cuando de va ha eliminar el registro...... mil gracias

hola espero que me puedan ayudar, soy nueva el access y me gustaria poder trabajar mejor, si me pueden dar algunas páginas de ayuda se lo agradesco mucho más...... bye
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:*/*/*/ Desactivar un botón y seguir trabajando*

Publicado por Enrique (1299 intervenciones) el 10/11/2005 15:20:29
Haydee, inténtalo de esta forma:

Al cargar el Formulario, desactiva el botón Eliminar:
Private Sub Form_Load()
Eliminar.Enabled = False
End Sub

Al pulsar el botón Buscar, ejecuta la acción de este botón y activa el botón Eliminar:
Private Sub Buscar_Click()
......
......
Eliminar.Enabled = True
End Sub

Al pulsar el botón Eliminar, envía el Foco al botón Buscar y se vuelve a desactivar el Botón Eliminar (un botón no se puede desactivar si tiene el Foco):
Private Sub Eliminar_Click()
Buscar.SetFocus
Eliminar.Enabled = False
End Sub

Para que no aparezca el mensaje de Access, lo puedes anular con:
DoCmd.SetWarnings False
al principio del Evento que elimina el Registro y volverlo a activar al finalizar con:
DoCmd.SetWarnings True

Si has creado el botón "Eliminar" mediante el Asistente para botones de comando, entra en el Evento del botón y ahí verás el código que ha generado dicho Asistente.

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:*/*/*/ Desactivar un botón y seguir trabajando*

Publicado por haydee (12 intervenciones) el 16/11/2005 17:54:16
Gracias enrique veo que manejas bien el access asi que te voy a dar otra pregunta: como se puede guardar un dato calculado en una tabla, es que no se muestra nada..
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:*/*/*/ Desactivar un botón y seguir trabajando*

Publicado por Enrique (1299 intervenciones) el 17/11/2005 10:44:33
Hola:
Para guardar un dato calculado en una tabla hay que hacerlo mediante Recordset usando las librerias de DAO o ADO. Dime que versión Access usas y te envio la forma de hacerlo usando la mas adecuada, aunque DAO vale para todas las versiones.

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:*/*/*/ Desactivar un botón y seguir trabajando*

Publicado por haydee (1 intervención) el 18/11/2005 00:50:18
hola la version es 2003 gracias por todo
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:*/*/*/ Desactivar un botón y seguir trabajando*

Publicado por Enrique (1299 intervenciones) el 18/11/2005 19:02:03
Como dispones de Access 2003, puedes utilizar la librería de ADO que ya entra marcada por defecto desde Access 2000 en adelante. Comprueba de todas formas que esté marcada en la Ventana de Referencias, su nombre es: Microsoft ActiveX Data Objects 2.X Library, donde X puede ir de 1 a 7 (en Access 2003 puede que incluso más), aunque con la 1 es suficiente.

' Esta parte la pones en la Sección de Declaraciones (arriba del todo)
Option Compare Database
Private cnn As ADODB.Connection
Private WithEvents rst As ADODB.Recordset
Option Explicit
---------------------------------------------------------------------------
Utilizo el Evento al Cerrar Formulario para que la grabación sea automática, pero puedes ponerlo en otro Evento si quieres (botón de comando, al cambiar de registro, etc.) :

Private Sub Form_Close()
Set rst = New ADODB.Recordset
Set cnn = Application.CurrentProject.Connection
rst.Open "SELECT * From NombreTabla Where CampoClaveTabla ='" & CampoClaveForm & "'", cnn, adOpenDynamic, adLockOptimistic
If Not rst.EOF Then
rst!CampoCalculadoTabla = CampoCalculadoForm
rst.Update
End If
rst.Close: Set rst = Nothing: cnn.Close: Set cnn = Nothing
End Sub
----------------------------------------------------------------------------

CampoClaveTabla = El campo de la tabla que identifica ese registro como registro único (Indexado Sin duplicados), por ejemplo un Id, CodCliente, CodProducto, etc.
NombreTabla = El Nombre de la Tabla donde esté el campo que guardará el campo calculado.
CampoClaveForm = Ese mismo campo de la Tabla insertado en el Formulario.
CampoCalculadoTabla = El nombre del campo en la Tabla que recibirá el valor del campo calculado.
CampoCalculadoForm= El nombre del campo en el formulario donde se muestra el cálculo.

En el caso de que el Campo Clave de la Tabla sea numérico, cambia la línea del rst.Open por esta otra, porque la que indico arriba es para campo clave tipo Texto:
rst.Open "SELECT * From NombreTabla Where CampoClaveTabla =" & CampoClaveForm, cnn, adOpenDynamic, adLockOptimistic

Por si no lo sabías, los que programamos habitualmente no somos en absoluto partidarios de guardar en tablas los campos calculados, se considera profesionalmente "incorrecto", pero bueno, como aquí estamos entre amigos nadie se vá a enterar. Espero que sepas adaptarlo y cualquier duda aquí estamos.

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:*/*/*/ Desactivar un botón y seguir trabajando*

Publicado por Enrique (1299 intervenciones) el 18/11/2005 19:22:17
Estoy pensando que no uses el Evento al cerrar formulario, porque si cambias de registro no va a guardar el cálculo. Lo mejor es ponerlo en el Evento Click de un botón "Grabar" aunque solo sirva para eso.

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:*/*/*/ Desactivar un botón y seguir trabajando*

Publicado por haydée (12 intervenciones) el 24/11/2005 01:46:11
gracias por todo enrique y por aqui te sigo molestando
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:*/*/*/ Desactivar un botón y seguir trabajando*

Publicado por Marcos (12 intervenciones) el 24/11/2005 21:53:24
me uno a su hilo enrique un duda tengo el siguiente codigo de coneccion usando el ado mi unica duda es si lo debo de poner en cada boton que voy a estar usando o si hay alguna otra forma pues lo he intentando poniendo este codigo en el load del formulario pero me marca un error, gracias de antemano por tu ayuda

Private Sub Comando722_Click()
Dim conectar As ADODB.Connection
Dim base As ADODB.Recordset
Dim base2 As ADODB.Recordset
Dim base3 As ADODB.Recordset
Dim tabla1 As String
Dim tabla2 As String
Dim tabla3 As String
Dim cortetextbox As String
tabla1 = "calidad"
tabla2 = "calidadholes"
tabla3 = "calidad3era"
Set conectar = Application.CurrentProject.Connection
Set base = New ADODB.Recordset
Set base2 = New ADODB.Recordset
Set base3 = New ADODB.Recordset
base.Open tabla1, conectar, adOpenKeyset, adLockBatchOptimistic, adCmdTable
base2.Open tabla2, conectar, adOpenKeyset, adLockBatchOptimistic, adCmdTable
base3.Open tabla3, conectar, adOpenKeyset, adLockBatchOptimistic, adCmdTable

Dim Mi_Texto As String
Mi_Texto = "INSERT INTO calidad (corte,cantidad,estilo,planta,cliente,tela,modulo,elaboro,fecha,total,parcial,2da3era) VALUES ('" & Me.Texto0 & "' ," & Me.Texto2 & " ,'" & Me.Texto4 & "','" & Me.Texto7 & "' ,'" & Me.Texto9 & "' ,'" & Me.Texto11 & "'," & Me.Texto13 & " ,'" & Me.Texto15 & "',#" & Me.Texto17 & "#," & Me.Texto19 & " ," & Me.Texto21 & " ," & Me.Texto23 & ")"
DoCmd.RunSQL Mi_Texto
Comando722.Enabled = False
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:*/*/*/ Desactivar un botón y seguir trabajando*

Publicado por Enrique (1299 intervenciones) el 29/11/2005 16:24:26
Hola Marco:
Disculpa que no te haya contestado antes pero no había visto tu mensaje. Como llevo poco tiempo en este Foro, todavía no termino de entenderlo, creí que los nuevos mensajes siempre se colocaban al principio y ya veo que no es así:
En cuanto a tu pregunta, decirte que no es necesario que vuelvas a poner todo el código en cada botón, si el código va a ser siempre el mismo, mételo en una Función, la colocas abajo del todo dentro de la ventana de código del formulario y la llamas desde el Evento Click de cada botón, ejemplo:

Private Sub Comando1_Click()
Conexion
End Sub

Private Sub Comando2_Click()
Conexion
End Sub

Function Conexion()
Dim conectar As ADODB.Connection
Dim base As ADODB.Recordset
Dim base2 As ADODB.Recordset
......
......
......
End Function

No se si me entiendes o no, si es que no, vuelve a preguntar.

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