Tengo un formulario para registrar unos insumos médicos para un inventario de un almacén
que tiene un buttonbox para el código del insumo y un texbox para la descripción del mismo
tengo otro formulario con los controles datasource databrowser y datacontrol para visualizar los
registros que tiene la base de datos, éste se activa al presionar un botón que tiene el buttonbox
quiero saber si es posible que al escribir el código del insumo si éste está registrado
me rellene el buttonbox y el texbox con el registro para no registrarlo 2 veces.
¿es posible o es mejor un mensaje que me advierta que ya existe el insumo?
¿está bien que use esos controles o es mejor un gridview que me muestre los datos de la base?
pregunto esto último porque me parece que son muy fáciles de utilizar me basé en un ejemplo-video
de jbsan y me conecté y todo bien
a shordi seguí tu consejo y trabajé en la base de datos y la relacioné cosa que me costó y al
examinar mi programa vi que tenía muchas fallas tengo que plantearlo de nuevo
éste es el código
Código del formulario donde está el databrowser
'gambas class file
Public resul As Result
Public conexion As Connection
Public Sub Form_Open()
Me.Caption = "Visualizar los insumos Ambulatorio Tipo III La Paz"
conexion = ModuloConexion.conectarBase()
DataSource1.Connection = conexion
DataSource1.Table = "insumo"
resul = conexion.Exec("Select * From insumo")
End
Código del formulario de registro de insumo
' gambas class file
Public hconn As Connection
Public Sub Form_Open()
Me.Caption = "Registro nuevo insumo Ambulatorio Tipo III La Paz"
ButtonBox_codigo.SetFocus
hconn = ModuloConexion.conectarBase()
End
Public Sub ButtonRegistrar_Click()
If IsNull(ButtonBox_codigo.Text) Then
Message.Info("Debe ingresar el código")
ButtonBox_codigo.SetFocus
Return
Else
If IsNull(TextBox_descripcion_insumo.Text) Then
Message.Info("Debe proporcionar la descripcion")
TextBox_descripcion_insumo.SetFocus
Return
Endif
Endif
hconn.Exec("insert into insumo (id_insumo, codigo_insumo, descripcion) values (&1, &2, &3)", Null, ButtonBox_codigo.Text, TextBox_descripcion_insumo.Text)
Message("Registro guardado")
limpiar
ButtonBox_codigo.SetFocus
End
Public Sub ButtonLimpiar_Click()
ButtonBox_codigo.Text = ""
TextBox_descripcion_insumo.Text = ""
ButtonBox_codigo.SetFocus
End
Public Sub ButtonSalir_Click()
ModuloConexion.cerrarConexion
Quit
End
Public Sub limpiar()
ButtonBox_codigo.Text = ""
TextBox_descripcion_insumo.Text = ""
End
Public Sub ButtonBox_codigo_Click()
Form_prueba.Show
End
Public Sub ButtonBox_codigo_KeyPress()
Select Case Key.Code
Case 48 To 57
Case Key.BackSpace
Case Key.Delete
Case Key.Tab
Case Else
Message.Warning("Ingresar solo números")
ButtonBox_codigo.SetFocus
Stop Event
End Select
End
Código del módulo de conexión a la base de datos
' gambas module file
Private hconn As Connection
Public Function conectarBase() As Connection
hconn = New Connection
hconn.Host = "localhost"
hconn.Name = "sistcontpro"
hconn.Type = "mysql"
hconn.User = "root"
hconn.Password = "20042008"
Try hconn.Open()
If Error Then
Message.Error("Error al conectar con la base")
Print Error.Text
Print Error.Where
Print Error.Code
Else
Return hconn
Endif
Return Null
End
Public Sub cerrarConexion()
If hconn = Null Then
Return
hconn.Close()
hconn = Null
End
La base de datos tiene una tabla llamada insumos (son insumos médicos)
con 3 columnas
id_insumo, codigo_insumo y descripcion
Gracias
Willian Suárez Venezuela
Captura de pantalla de 2016-06-10 07_20_10 - copia.png | |
Descripción: | |
Tamaño: | 34.97 KB |
Visto: | 55 veces |
Captura de pantalla de 2016-06-10 07_20_10 - copia.png | |
Descripción: | |
Tamaño: | 34.97 KB |
Visto: | 55 veces |
Captura de pantalla de 2016-06-10 07_20_10 - copia.png | |
Descripción: | |
Tamaño: | 34.97 KB |
Visto: | 55 veces |