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
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
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.
Por: Foxmulder79 el Marzo 18, 2009
a las 3:29 pm
A lo mejor te vale la orden SHELL, echale un vistaso al foro:
http://gambones.esp.am/index.php?topic=60.0
Por: jsbsan el Marzo 30, 2009
a las 8:49 am
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.
Por: lumbanico el Septiembre 15, 2009
a las 3:04 am
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.
Por: jjmoncar el Septiembre 15, 2009
a las 7:37 am
Podrías poner algún ejemplo. Muchas gracias.
Por: lumbanico el Septiembre 15, 2009
a las 8:28 am