CARGA DE DATA DE DOS COMBOBOX

A continuacion les coloco el codigo y el formulario de como cargar dos combobox con la data contenida en una BD.

Imagen del formulario en vista de diseño
Imagen del formulario en vista de diseño

El codigo de este formulario es el siguiente:

PUBLIC Atencion AS Boolean

PUBLIC SUB Form_Open()

ME.Center()
LlenarCombo()
LaFecha()

END

PUBLIC SUB LaFecha()

DIM FechaActual AS Variant

FechaActual = Date(Day(Now) & «/» & Month(Now) & «/» & Year(Now))
Label9.Text = FechaActual

END

PUBLIC SUB LlenarCombo()

DIM query AS String
DIM resultado AS Result
DIM captura AS Integer
DIM i AS Integer

ModConexion.rs1 = ModConexion.db.Exec(«select codigo FROM laboratorio.datoslab»)
ModConexion.rs1.MoveFirst
captura = ModConexion.rs1.Count
i = 1
WHILE i <= captura
ComboBox1.Add(ModConexion.rs1!codigo)
ComboBox1.Refresh()
ModConexion.rs1.MoveNext
DEC (captura)
WEND
END

PUBLIC SUB Button4_Click()

ME.Close()

END

PUBLIC SUB ValidarVacios()

IF ComboBox1.Text = «» OR ComboBox2.Text = «» OR TextBox1.Text = «» OR TextBox2.Text = «» OR TextEdit1.Text = «» THEN
Message.Error(«Existen casillas vacias\n asegurese de llenarlas todas»)
Atencion = FALSE
TextBox1.Clear()
TextBox2.Clear()
TextEdit1.Clear()
ELSE
Atencion = TRUE
ENDIF

END

PUBLIC SUB ComboBox1_Change()

DIM Respuesta AS String
DIM query AS String
DIM resultado AS Result
DIM captura AS Integer
DIM i AS Integer

ComboBox2.Clear()
TextBox1.Clear()
TextBox2.Clear()

Respuesta = Trim(ComboBox1.Text)

query = «select * from laboratorio.datosequipo where codigo ='» & Respuesta & «‘»
ModConexion.consulta(query)

resultado = db.Exec(query)
ModConexion.rs1.MoveFirst
captura = ModConexion.rs1.Count
i = 1

WHILE i <= captura
ComboBox2.Add(ModConexion.rs1!codequipo)
ComboBox2.Refresh()
ModConexion.rs1.MoveNext
DEC (captura)
WEND

END

PUBLIC SUB ComboBox2_Change()

DIM Respuesta AS String
DIM query AS String
DIM resultado AS Result

Respuesta = Trim(ComboBox2.Text)

query = «select * from laboratorio.datosequipo where codequipo ='» & Respuesta & «‘»
ModConexion.consulta(query)

resultado = db.Exec(query)

IF resultado.Count > 0 THEN
TextBox1.Text = ModConexion.rs1!marca
TextBox2.Text = ModConexion.rs1!modelo

END IF

END

PUBLIC SUB Button1_Click()

DIM query AS String

ValidarVacios()
IF Atencion = TRUE THEN
query = «INSERT INTO laboratorio.mantenimiento set codlab='» & UCase(comboBox1.Text) & «‘, fecha='» & Trim(Label9.Text) & «‘, codequipo='» & UCase(ComboBox2.Text) & «‘, marca='» & UCase(TextBox1.Text) & «‘, modelo='» & UCase(textbox2.text) & «‘, falla='» & UCase(Trim(TextEdit1.text)) & «‘, entregado='» & UCase(TextBox3.Text) & «‘, dpto='» & UCase(ComboBox3.Text) & «‘»
ModConexion.consulta(query)
IF ModConexion.conexion() THEN
message.Info(«Los dato se insertaron satisfactoriamente»)
TextBox1.Clear()
TextBox2.Clear()
TextBox3.Clear()
TextEdit1.Clear()
ComboBox2.Clear()

ELSE
message.Error(«Los datos no se pudieron insertar»)
ENDIF
ENDIF

END

PUBLIC SUB Button2_Click()

END

14 comentarios en “CARGA DE DATA DE DOS COMBOBOX

  1. Hola, he leido tus articulos sobre programacion en Gambas y ya estoy creando un pequeña aplicacion. Hace poco mas de 6 años que estoy programando en PHP, y ya casi se me olvidaba la forma de programar de estos tipos de lenguajes. Bueno pero gracias a tu post rapidamente me actualice. Ahora quiero utilizar unas funcion creadas en mysql, que usaba con php. Es posible hacer el llamado de esta funcion, estoy utilizando Exec con la consulta pero dan un error?
    O hay otro metodo, uhhh como una llamada de funciones.?
    Gracias.

  2. Hola. Ante todo felicitarte por tu blog. Estoy empezando a ‘bucear’ en Gambas, ya que hasta ahora estaba usando Access con Visual Basic. Estoy utilizando un Combobox y me surge la duda de si se puede asignar a cada item una key específica (por ejemplo el ID de la tabla: 34,77,12,…), o lo asigna directamente Gambas (0,1,2,…). También me gustaría saber si es posible añadir más de una columna en el Combo.

    Saludos.

    1. Buenos dias. Se pueden hacer las dos cosas. o asignarlas mediante un id, o decirle a gambas mediante las propiedades del objeto, que las asigne el. mediante codigo tambien es posible agregar una columna.

  3. porque usas un combobox y no un datacombo?.
    me parece muy buena tu explicacion soy nuevo en esto…podrias contestar mi pregunta para saber por donde encarar mi desarrollo?
    saludos

    1. Buenas noches.
      A partir del lunes coloco una serie de codigos que lamentablemente los enlaces estan rotos. Gracias por reportar este. sera uno de los primeros que arregle.

Replica a jsbsan Cancelar la respuesta