Visual Basic - Deshabilitar botones

Life is soft - evento anual de software empresarial
 
Vista:

Deshabilitar botones

Publicado por Sebastian Crescenzi (10 intervenciones) el 31/01/2006 03:02:36
Estoy programando una agenda. Lo que necesito saber es como hago para que cuando la base de datos(Está hecha en Access)esté vacía me deshabilite botones(command, toolbarbutton), y que aparezca un msgob que me lo informe.
Otro tema es que quiero que haya campos que sean obligatorios(por ejemplo, nombre; apellido...)
Acá mando el código de lo que hice hasta ahora:
Private Sub acerca_Click()
Form3.Show
End Sub
Private Sub Command1_Click()
Text1.Enabled = False
Text2.Enabled = False
Text3.Enabled = False
Text4.Enabled = False
Text5.Enabled = False
Text6.Enabled = False
Text7.Enabled = False
Text8.Enabled = False
Text9.Enabled = False
Text10.Enabled = False
Text11.Enabled = False
Text12.Enabled = False
Text13.Enabled = False
Text17.Enabled = False
Text16.Enabled = False
Data1.Recordset.MoveFirst
If Data1.Recordset.BOF = True Then
Data1.Recordset.MoveFirst
End If
End Sub

Private Sub Command2_Click()
Text1.Enabled = False
Text2.Enabled = False
Text3.Enabled = False
Text4.Enabled = False
Text5.Enabled = False
Text6.Enabled = False
Text7.Enabled = False
Text8.Enabled = False
Text9.Enabled = False
Text10.Enabled = False
Text11.Enabled = False
Text12.Enabled = False
Text13.Enabled = False
Text17.Enabled = False
Text16.Enabled = False
Data1.Recordset.MoveNext
If Data1.Recordset.EOF = True Then
Data1.Recordset.MoveLast
End If
End Sub

Private Sub Command3_Click()
Text1.Enabled = False
Text2.Enabled = False
Text3.Enabled = False
Text4.Enabled = False
Text5.Enabled = False
Text6.Enabled = False
Text7.Enabled = False
Text8.Enabled = False
Text9.Enabled = False
Text10.Enabled = False
Text11.Enabled = False
Text12.Enabled = False
Text13.Enabled = False
Text17.Enabled = False
Text16.Enabled = False
Data1.Recordset.MovePrevious
If Data1.Recordset.BOF = True Then
Data1.Recordset.MoveFirst
End If
End Sub

Private Sub Command4_Click()
Text1.Enabled = False
Text2.Enabled = False
Text3.Enabled = False
Text4.Enabled = False
Text5.Enabled = False
Text6.Enabled = False
Text7.Enabled = False
Text8.Enabled = False
Text9.Enabled = False
Text10.Enabled = False
Text11.Enabled = False
Text12.Enabled = False
Text13.Enabled = False
Text17.Enabled = False
Text16.Enabled = False
Data1.Recordset.MoveLast
End Sub
Private Sub ToolbarButton1_Click()
Command1.Enabled = True
Command2.Enabled = True
Command3.Enabled = True
Command4.Enabled = True
Text1.Enabled = True
Text2.Enabled = True
Text3.Enabled = True
Text4.Enabled = True
Text5.Enabled = True
Text6.Enabled = True
Text7.Enabled = True
Text8.Enabled = True
Text9.Enabled = True
Text10.Enabled = True
Text11.Enabled = True
Text12.Enabled = True
Text13.Enabled = True
Text17.Enabled = True
Text16.Enabled = True
If Text1.Enabled = True Then
Data1.Recordset.AddNew
Else
Text1.Enabled = False
Text2.Enabled = False
Text3.Enabled = False
Text4.Enabled = False
Text5.Enabled = False
Text6.Enabled = False
Text7.Enabled = False
Text8.Enabled = False
Text9.Enabled = False
Text10.Enabled = False
Text11.Enabled = False
Text12.Enabled = False
Text13.Enabled = False
Text17.Enabled = False
Text16.Enabled = False
End If
End Sub

Private Sub ToolbarButton2_Click()
op = MsgBox("Guardar los cambios", vbYesNo, "Guardar")
If op = vbYes Then
Data1.Recordset.MoveFirst
Text1.Enabled = False
Text2.Enabled = False
Text3.Enabled = False
Text4.Enabled = False
Text5.Enabled = False
Text6.Enabled = False
Text7.Enabled = False
Text8.Enabled = False
Text9.Enabled = False
Text10.Enabled = False
Text11.Enabled = False
Text12.Enabled = False
Text13.Enabled = False
Text17.Enabled = False
Text16.Enabled = False
MsgBox Data1.Recordset.RecordCount
End If
End Sub

Private Sub ToolbarButton3_Click()
Text1.Enabled = True
Text2.Enabled = True
Text3.Enabled = True
Text4.Enabled = True
Text5.Enabled = True
Text6.Enabled = True
Text7.Enabled = True
Text8.Enabled = True
Text9.Enabled = True
Text10.Enabled = True
Text11.Enabled = True
Text12.Enabled = True
Text13.Enabled = True
Text17.Enabled = True
Text16.Enabled = True
End Sub

Private Sub ToolbarButton4_Click()
op = MsgBox("¿Está seguro?", vbYesNo, "Eliminar")
If op = vbYes Then
Data1.Recordset.Delete
MsgBox Data1.Recordset.RecordCount
Data1.Refresh
Text1.Enabled = False
Text2.Enabled = False
Text3.Enabled = False
Text4.Enabled = False
Text5.Enabled = False
Text6.Enabled = False
Text7.Enabled = False
Text8.Enabled = False
Text9.Enabled = False
Text10.Enabled = False
Text11.Enabled = False
Text12.Enabled = False
Text13.Enabled = False
Text17.Enabled = False
Text16.Enabled = False
End If
End Sub

Private Sub ToolbarButton5_Click()
Form3.Show
End Sub

Private Sub ToolbarButton6_Click()
End
End Sub

Espero que alguien pueda darme una idea de como hacerlo, desde ya muchas gracias
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:Deshabilitar botones

Publicado por Rafael Seco (17 intervenciones) el 31/01/2006 12:50:33
Coloca este codigo en el load del formulario:

If Data1.Recordset.EOF And Data1.Recordset.BOF Then
mensaje=(msgbox("La Tabla esta vacia"), vbcritical+vbokonly,("No existen Registro"))
command1.enabled=false
'Y asi sucesivamente los botones que desea deshabilitar, deberian ser guardar, eliminar, modificar,cancelar,buscar e imprimir.
end if

Para los campos obligatorios debes codificar en el boton guardar:

Pongamos que los campos que quieres sean obligatorios son los siguientes:

Nombre= text1.text
Apellidos=text2.text
telefono=text3.text

en el boton guardar codificas:

if text1.text="" then
mensaje=(msgbox("Debe Colocar un Nombre"), vbcritical+vbokonly,("Error al Cargar datos"))
text1.setfocus
else
if text2.text="" then
mensaje=(msgbox("Debe Colocar un Apellido"), vbcritical+vbokonly,("Error al Cargar datos"))
text2.setfocus
else
if text3.text="" then
mensaje=(msgbox("Debe Colocar un Telefono"), vbcritical+vbokonly,("Error al Cargar datos"))
text3.setfocus
else
Data1.Recordset.update 'Aqui guardas porque ya comprobo que los datos obligatorios estan llenos
end if
end if
end if
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:Deshabilitar botones

Publicado por se (10 intervenciones) el 01/02/2006 04:34:21
Joya, no sabes de la que me salvaste. Desde ya muchas gracias
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:Deshabilitar botones

Publicado por Danny ars (14 intervenciones) el 31/01/2006 16:27:25
hola amigo
para saber si la tabla esta vasia en la BD
se utiliza la siguente propiedad
if Myresordset.recordcount = 0 then ' eso quiere decir que no haay registros
msgbox "La tabla no contiene registros"
' y luego comiensas a bloquear tos controles
text1.enabled = false
end if

lo otro de que hayacampos obligatorios se manea desde el proveedor de la base de datos
en este caso es Access
cuando tu creas una tabla en el diseño enla parte inferion hay propiedades de cada campo
y una de ellas te dice "permitir congitud cer (0) = si" cambia lo por el no

cuando estas en la aplicacion deseguro cuando guardes un registro :
y supongasmos que esta vacio el nombre
te va salir un error que teva desir algo por ahi " no se esperaba congitud cero Nombres "
enconces para coregir ese error de bes de utlizar
private sub CmdGuardar_Click()
on error goto <una variable variant>
<las instrucciones>
.
.
.
.
exit sub
una variable variant : ' recuerda que la variable no deve tener espacios
Msgbox Err,description ' Err es un objeto quete devuelve el error producido y con esto que te doy ya podras detener el error
end sub
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:Deshabilitar botones

Publicado por Sebastian Crescenzi (10 intervenciones) el 01/02/2006 04:39:45
Joya, lograste despejarme un par de dudas que tenia. Desde ya muchas gracias por tu ayuda
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