Posteado por: jjmoncar | Febrero 5, 2009

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


Respuestas

  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. A lo mejor te vale la orden SHELL, echale un vistaso al foro:

    http://gambones.esp.am/index.php?topic=60.0

  3. 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.

    • 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.

      • Podrías poner algún ejemplo. Muchas gracias.


Dejar una respuesta

Su respuesta:

Categorías