Para el Sr Baltasar
Hola Baltasar, pensaras que soy un ignorante, quizas tengas razon. Si tienes un poquito de tiempo para revisar mi problema, te lo agradecere toda la vida. Es el siguiente:
Tengo un MSHFLEXGRID,un ADOCONTROL (No es compatible con Data)y una TABLA con sus respectivos registros.
Un campo de la tabla se llama EstadoAlquiler dicho campo puede tener tres estados, ocupado, reservado o desocupado. Bien, el problema es que no se como comparar el Campo con lo que hay dentro de la celda, para que la celda se ponga del color correspondiente
if Ado1.recordset("EstadoAlquiler") = Ocupado (NO se que codigo poner aqui) then
(que se ponga rojo)
else if Ado1.recordset(EstadoAlquler) = Reservado then
(que se ponga amarillo)
else if Ado1.recordset(EstadoAlquler) = Desocupado then
(que se ponga verde)
End if
Esto deberia estar dentro de un bucle? Por favor Baltasar, si puedes mandame una ayudita. Estoy aprendiendo A programar y se complica un poco.
Desde ya 1.000.000 de gracias. Leonardo.
Tengo un MSHFLEXGRID,un ADOCONTROL (No es compatible con Data)y una TABLA con sus respectivos registros.
Un campo de la tabla se llama EstadoAlquiler dicho campo puede tener tres estados, ocupado, reservado o desocupado. Bien, el problema es que no se como comparar el Campo con lo que hay dentro de la celda, para que la celda se ponga del color correspondiente
if Ado1.recordset("EstadoAlquiler") = Ocupado (NO se que codigo poner aqui) then
(que se ponga rojo)
else if Ado1.recordset(EstadoAlquler) = Reservado then
(que se ponga amarillo)
else if Ado1.recordset(EstadoAlquler) = Desocupado then
(que se ponga verde)
End if
Esto deberia estar dentro de un bucle? Por favor Baltasar, si puedes mandame una ayudita. Estoy aprendiendo A programar y se complica un poco.
Desde ya 1.000.000 de gracias. Leonardo.
No se trata, creo, de comparar la base de datos con el grid. Lo que tienes que hacer es poner un color dependiendo del contenido de la base de datos. Te pongo un ejemplo:
suponiendo que MFila es una variable que me indica la fila del msflexgrid que estoy rellenando, y que la columna que ha de variar el color es la 3:
MGrid.row=mfila
MGrid.col=3
if Ado1.recordset("EstadoAlquiler") = "O" then MGrid.cellbackcolor=rgb(255,0,0)
if Ado1.recordset("EstadoAlquiler") = "R" then MGrid.cellbackcolor=rgb(255,255,0)
if Ado1.recordset("EstadoAlquiler") = "L" then MGrid.cellbackcolor=rgb(0,255,0)
he usado las iniciales O, R y L de Ocupado, Reservado y Libre
por supuesto que lo has de poner en un bucle, un bucle que te recorra el recordset que contiene los datos, para ir rellenando la tabla.
Si continuas con las dudas me avisas y te mando un ejemplo sencillo.
Saludos
suponiendo que MFila es una variable que me indica la fila del msflexgrid que estoy rellenando, y que la columna que ha de variar el color es la 3:
MGrid.row=mfila
MGrid.col=3
if Ado1.recordset("EstadoAlquiler") = "O" then MGrid.cellbackcolor=rgb(255,0,0)
if Ado1.recordset("EstadoAlquiler") = "R" then MGrid.cellbackcolor=rgb(255,255,0)
if Ado1.recordset("EstadoAlquiler") = "L" then MGrid.cellbackcolor=rgb(0,255,0)
he usado las iniciales O, R y L de Ocupado, Reservado y Libre
por supuesto que lo has de poner en un bucle, un bucle que te recorra el recordset que contiene los datos, para ir rellenando la tabla.
Si continuas con las dudas me avisas y te mando un ejemplo sencillo.
Saludos
Hola Baltasar. Seria mucho pedir que me unvies un ejemplo sencillito?
GRACIAS, GRACIAS, GRACIAS.
SALUDOS.
GRACIAS, GRACIAS, GRACIAS.
SALUDOS.
dim Mfila as long
asignas el numero de columnas del grid:
MGrid.cols=3
MGrid.rows=1
MGrid.TEXTMATRIX(0,0)="NUM"
MGrid.TEXTMATRIX(0,1)="Descripcion"
MGrid.TEXTMATRIX(0,2)="Estado"
(Aquí pones el código para conectar a tu base de datos, y abres el recordset)
Mfila=0
DO WHILE NOT ado1.RECORDSET.EOF
MFila=MFila+1
MGrid.TEXTMATRIX(MFila,0)=ado1.RECORDSET!numero
MGrid.TEXTMATRIX(MFila,1)=ado1.RECORDSET!descripcion
MGrid.TEXTMATRIX(MFila,2)=ado1.RECORDSET!estadoalquiler
MGrid.row=MFila
MGrid.col=3
if Ado1.recordset("EstadoAlquiler") = "O" then MGrid.cellbackcolor=rgb(255,0,0)
if Ado1.recordset("EstadoAlquiler") = "R" then MGrid.cellbackcolor=rgb(255,255,0)
if Ado1.recordset("EstadoAlquiler") = "L" then MGrid.cellbackcolor=rgb(0,255,0)
ado1.RECORDSET.MOVENEXT
loop
Espero no haber olvidado nada.
Suerte.
asignas el numero de columnas del grid:
MGrid.cols=3
MGrid.rows=1
MGrid.TEXTMATRIX(0,0)="NUM"
MGrid.TEXTMATRIX(0,1)="Descripcion"
MGrid.TEXTMATRIX(0,2)="Estado"
(Aquí pones el código para conectar a tu base de datos, y abres el recordset)
Mfila=0
DO WHILE NOT ado1.RECORDSET.EOF
MFila=MFila+1
MGrid.TEXTMATRIX(MFila,0)=ado1.RECORDSET!numero
MGrid.TEXTMATRIX(MFila,1)=ado1.RECORDSET!descripcion
MGrid.TEXTMATRIX(MFila,2)=ado1.RECORDSET!estadoalquiler
MGrid.row=MFila
MGrid.col=3
if Ado1.recordset("EstadoAlquiler") = "O" then MGrid.cellbackcolor=rgb(255,0,0)
if Ado1.recordset("EstadoAlquiler") = "R" then MGrid.cellbackcolor=rgb(255,255,0)
if Ado1.recordset("EstadoAlquiler") = "L" then MGrid.cellbackcolor=rgb(0,255,0)
ado1.RECORDSET.MOVENEXT
loop
Espero no haber olvidado nada.
Suerte.
