Poner datos en un Label

Hola
Tengo un formulario que no está (Origen del registrio) en ninguna tabla ni consulta, es un formulario Independiente sin datos, los controles que tienen no son cuadros de texto, sino que son labels(etiquetas) y están una detrás de otra diseñado como un cuadradito, imaginate un form y 100 cuadraditos label en columnas de 5 por 20 es decir, hay 100 cuadraditos label y cada uno tiene su nombre, desde Lbl1 hasta lbl100.
Lo que quiero es que desde una consulta según los criterios elegidos por mi, en este caso estantería a me pinte en cada cuadradito el numero de la estantería que corresponde a "A", de`spues de pintar los numero en cada cuadradito, quiero cambiar el color de los labels, si es azul ubicaciones con material, si es verde con ubicaciones vacías y si es naranja el ultimo material que se saco del almacen. Me gustaría hacer esto pero sin hacer consultas, ¿cómo puedo hacerlo por código?
Gracias

1 respuesta

Respuesta
1
No entiendo muy bien lo que quieres decir, ¿puedes poner un ejemplo de como son las tablas?
Hola experto.
Tengo una tabla donde están las estanterías y otra las ubicaciones están relacionadas
En la estantería A puede tener 20 ubicaciones y dentro de esas ubicaciones desde una tabla de materiales ubico el material que entra en el almacen, entonces me quedan ubicaciones libres, ocupadas y si luego saco un material de una ubicación, quiero tener la opción de saber en que ubi lo saque, poe eso lo que te comentaba anteriormente, en un formulario que no está relacionado a minguna tabla y diseñado con labels, quiero pintar en cada label las ubicaciones de una estantería que seleccione, luego una vez que cada label me ha mostrado el numero de ubicación, necesito que las pinte de color, uno para cada opción.
Gracias por contestar
Desde luego es de lo más raro que me he encontrado.
Entiendo que quieres tener una representación visual del contenido de las tablas.
Se me ocurre algo así:
Private Sub Pinta()
   Dim aEstantes(1 To 5, 1 To 20) As Label
   Dim EstanteUtlimo As Byte, UbicaciónUltimo As Byte
   Dim i As Byte, j As Byte
   ' Rellenar array
   ' ---- Rellenas el array con los datos de las tablas
   'Rellenar ultimo
   ' ---- Rellenas EstanteUtlimo y UbicaciónUltimo
   ' Pintar
   For i = 1 To 5
      For j = 1 To 20
         If aEstantes(i, j) <> 0 Then
            Me("Label" & i & j).Caption = aEstantes(i, j)
            Me("Label" & i & j).BackColor = RGB(0, 0, 255) ' Azul
         Else
            Me("Label" & i & j).Caption = ""
            Me("Label" & i & j).BackColor = RGB(0, 255, 0) ' Verde
         End If
      Next j
   Next i
   ' Pintar Último
   Me("Label" & EstanteUtlimo & UbicaciónUltimo).BackColor = RGB(255, 255, 0) ' Amarillo
   'Actualizar Formulario
   Me. Repaint
End Sub
Se supone que tienes 100 Labels con el nombre en el formato Label11... Label520
Hola Experto
Al final un colegita vino a casa ayer y me resolvió mi gran problema.
La verdad es que tiene más chicha de lo que me imaginaba porque nos quedamos hasta la una y bueno aunque se algo de vba este se lio a poner y a poner que dudo que hubiera sacado los registros de cada estantería al mismo tiempo que me sacaba los desalojados y las estanterías vacías, en fin se solvento.
Tu con tu código no ibas mal encaminado, sino me hubiera ayudado mi colega con el ejemplo que me envías me hubiera dado muchas pistas porque ahora si que lo tengo más claro que antes. Te lo agradezco
Saludos,

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas