Tengo una tabla que se llama Medicamentos.
Los campos son
Nombre de medicamento
Costo
Cantidad
Bueno tengo un formulario de compra. que es donde esta el nombre de medicamento que se va a comprar, nombre del cliente y la cantidad de medicamento que se quiere comprar.
Pero todo bien la cuestion es que. ejemplo tengo 5 de x medicamento y compro 2, bueno deberia haber una decrementacion osea que en la base de datos de esa x medicamento solo queden 3 me explique bien bueno oz dejo mi codigo
' gambas class file
PUBLIC cn AS NEW Connection
PUBLIC rs AS Result
PUBLIC actStatus AS String
PUBLIC SUB Form_Open()
WITH cn
.Type = "mysql"
.Host = "localhost"
.Login = "root"
.Password = "6419148"
.name = "hola"
TRY .Open
IF ERROR THEN
Message.Error("Error abriendo la base de datos")
ME.Close
ELSE
rs = cn.Exec("select * from Medicamentos")
rs.MoveFirst
IF rs.Available = TRUE THEN
updateFieldValue()
END IF
END IF
END WITH
END
PUBLIC SUB updateFieldValue()
textbox1.Text = rs!Nombre_medicamento
END
PUBLIC SUB Button2_Click()
DIM i AS Integer
DIM found AS Boolean
rs.MoveFirst
found = FALSE
i = 1
WHILE 1 <= rs.Count
IF rs!Nombre_medicamento LIKE "*" & textbox1.Text & "*" THEN
found = TRUE
EXIT
END IF
rs.MoveNext
i = i + 1
WEND
IF found = TRUE THEN
updateFieldValue()
ELSE
Message.Warning("Error en la data!!")
END IF
END
PUBLIC SUB Button1_Click()
rs.MoveFirst
IF rs.Available = TRUE THEN
updateFieldValue()
END IF
END
PUBLIC SUB Button3_Click()
rs.MovePrevious
IF rs.Available = TRUE THEN
updateFieldValue()
END IF
END
PUBLIC SUB Button4_Click()
rs.MoveNext
IF rs.Available = TRUE THEN
updateFieldValue()
END IF
END
PUBLIC SUB Button5_Click()
rs.MoveLast
IF rs.Available = TRUE THEN
updateFieldValue()
END IF
END
PUBLIC SUB Button6_Click()
DIM row AS Integer = FMain.TableView1.Rows.Count
DIM grabar AS Result
grabar = cn.Create("Compras")
grabar!id = ""
grabar!CI = hola.Text
grabar!Nombre_medicamento = textbox1.Text
grabar!cantidad = textbox2.Text
grabar.Update
Message.Info("Datos Guardados")
grabar = cn.Update("Medicamentos")
grabar!cantidad = grabar!cantidad - textbox2.Text
grabar.Update
IF textbox1.Text <> "" AND Compra.hola.Text <> "" THEN
FMain.TableView1.Rows.Count += 1
FMain.TableView1[row, 0].Text = hola.Text
FMain.TableView1[row, 1].Text = textbox1.Text
ELSE
Message.Warning("Debe llenar los datos")
END IF
END
PUBLIC cn AS NEW Connection
PUBLIC rs AS Result
PUBLIC actStatus AS String
PUBLIC SUB Form_Open()
WITH cn
.Type = "mysql"
.Host = "localhost"
.Login = "root"
.Password = "6419148"
.name = "hola"
TRY .Open
IF ERROR THEN
Message.Error("Error abriendo la base de datos")
ME.Close
ELSE
rs = cn.Exec("select * from Medicamentos")
rs.MoveFirst
IF rs.Available = TRUE THEN
updateFieldValue()
END IF
END IF
END WITH
END
PUBLIC SUB updateFieldValue()
textbox1.Text = rs!Nombre_medicamento
END
PUBLIC SUB Button2_Click()
DIM i AS Integer
DIM found AS Boolean
rs.MoveFirst
found = FALSE
i = 1
WHILE 1 <= rs.Count
IF rs!Nombre_medicamento LIKE "*" & textbox1.Text & "*" THEN
found = TRUE
EXIT
END IF
rs.MoveNext
i = i + 1
WEND
IF found = TRUE THEN
updateFieldValue()
ELSE
Message.Warning("Error en la data!!")
END IF
END
PUBLIC SUB Button1_Click()
rs.MoveFirst
IF rs.Available = TRUE THEN
updateFieldValue()
END IF
END
PUBLIC SUB Button3_Click()
rs.MovePrevious
IF rs.Available = TRUE THEN
updateFieldValue()
END IF
END
PUBLIC SUB Button4_Click()
rs.MoveNext
IF rs.Available = TRUE THEN
updateFieldValue()
END IF
END
PUBLIC SUB Button5_Click()
rs.MoveLast
IF rs.Available = TRUE THEN
updateFieldValue()
END IF
END
PUBLIC SUB Button6_Click()
DIM row AS Integer = FMain.TableView1.Rows.Count
DIM grabar AS Result
grabar = cn.Create("Compras")
grabar!id = ""
grabar!CI = hola.Text
grabar!Nombre_medicamento = textbox1.Text
grabar!cantidad = textbox2.Text
grabar.Update
Message.Info("Datos Guardados")
grabar = cn.Update("Medicamentos")
grabar!cantidad = grabar!cantidad - textbox2.Text
grabar.Update
IF textbox1.Text <> "" AND Compra.hola.Text <> "" THEN
FMain.TableView1.Rows.Count += 1
FMain.TableView1[row, 0].Text = hola.Text
FMain.TableView1[row, 1].Text = textbox1.Text
ELSE
Message.Warning("Debe llenar los datos")
END IF
END
Gracias
grabar!cantidad = grabar!cantidad - textbox2.Text