Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2010
    Messaggi
    26

    [VB6]Creazione di Oggtti correlati a DB

    Salve a tutti.
    Eccomi con un quesito forse insolito.

    Ho un programmino che gestisce un magazzino e delle sale , ed ho un problema. Ho una tabella con appunto contenute tutte le sale

    ID NSALA ecc ecc

    ed ho un from in VB6 dove ho posizionato manualmente una 20ina di icone che si abilitano solo nel caso in cui la sala esista nel DB. Mi spiego meglio , nel form sono già posizionate 20 IMG box contenti le icone che rappresentano la sala, ma sono impostate a Visible= Flase nel caso in cui l'ID della sala tramite un controllo nella tabella , sia trovato , la propietà Visible dell'IMG BOX viene impostata a true, per capirci meglio metto anche una porzione di codice

    codice:
    If rs("numero_sala") = 1  Then 
    IMG_sala1.Visible = True
    endif
    Quello che io mi chiedo è questo, è meglio una soluzione tipo questa , che alla fine andrebbe a realizzarsi in questo modo
    codice:
    If rs("numero_sala") = 1  Then 
    IMG_sala1.Visible = True
    endif
    
    If rs("numero_sala") = 2  Then 
    IMG_sala2.Visible = True
    endif
    
    If rs("numero_sala") = 3  Then 
    IMG_sala3.Visible = True
    endif
    
    ecc..
    Oppure , c'è un modo più veloce , meno pesante più funzionale per realizzare questa cosa ?
    Vi chiedo aiuto nella risoluzione di questo problema a cui penso da un po!

    Grazie a tutti in anticipo

  2. #2
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    La soluzione più efficiente sarebbe quella di 'trasformare' i tuoi controlli Image in un'array di controlli Image, ovvero invece di avere:

    IMG_sala1
    IMG_sala2
    IMG_sala3
    ...

    avrai

    IMG_sala(1)
    IMG_sala(2)
    IMG_sala(3)
    ...

    In questo caso la verifica diventerebbe

    codice:
    Do While Not rs.EOF
        IMG_Sala(rs("numero_sala").Value).Visible = True
    Loop
    Se, come immagino, durante l'esecuzione del programma devi mostrare/nascondere alternativamente una o più sale, allora prima del Do While/Loop devi nasconderle tutte:
    codice:
    For i = 1 to 20
        IMG_Sala(i).Visible = False
    Next i
    Poi il Do While/Loop ri-mostrerà quelle esistenti.



  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2010
    Messaggi
    26
    Grazie per la risposta. Come immaginavo mi conviene usare un array di controlli.
    Ora mi stampo qualcosina e comincio a capire bene come fare

    Grazie ancora

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.