Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16

Discussione: List o altro VB6

  1. #1

    List o altro VB6

    Salve a tutti.
    Sto creando un programma di fatturazione.
    Ho una tabella commessa nella quale inserisco le varie rate che poi dovrò fatturare.
    Esempio della commessa T_0001 ci sono tre rate:
    1. 10,00
    2. 20,00
    3. 30,00
    Quando vado ad emettere la fattura vedo prima vedere l'elenco delle rate relative di ogni commessa ... e fini qua tutto OK.

    Il problema arriva qua ...
    L'elenco delle rate lo visualizzo in un list.
    Ogni voce della lista corrisponde ad una fattura che devo emettere.
    Vorrei poter cliccare su una singola voce ed emettera la fattura relativa a quella rata.

    Qualche suggerimento????
    È corretto usare la list o un altro oggetto?????

  2. #2
    Esistono diverse vie.
    Io te ne dico una, non necessariamente la migliore, poi tu decidi cosa fare anche in base all'interfaccia, usabilità, ecc..

    Fai creare (e posizionare opportunamente) tanti bottoni quante sono le rate e poi intercetti il click sul bottone e in base all'index stampi la fattura corrispondente

    Anche la lista comunque è una buona via percorribile

    Matteo

  3. #3
    Si è quello che stavo pensando di fare
    Grazie per la risposta

  4. #4
    Utente di HTML.it L'avatar di Brainjar
    Registrato dal
    Nov 2004
    Messaggi
    1,162
    Come soluzione non mi sembra proprio ottimale. Se hai diverse rate
    come posizioni i bottoni nel form ? Ci staranno tutti ?
    Una soluzione più funzionale potrebbe essere quella di impostare la
    proprietà style della List a '1 - CheckBox'.
    Posizionare un solo bottone cmdStampa e nell'evento Click di questo
    lanciare la stampa per gli elementi selezionati :

    codice:
    Private Sub Command2_Click()
    Dim a As Integer
    For a = 0 To List1.ListCount - 1
        If List1.Selected(a) = True Then
            ' Richiama la routine di stampa della fattura
            '
            MsgBox "Stampa fattura " & List1.List(a)
            ' Se devi deselezionare l'elemento dopo la stampa
            List1.Selected(a) = False 
        End If
    Next a
    End Sub
    Ciao,
    Ciao, Brainjar

  5. #5
    Originariamente inviato da Brainjar
    Come soluzione non mi sembra proprio ottimale.
    Mah.. ogni soluzione ha i suoi pro e i suoi contro.
    Senz'altro l'uso di bottoni necessita di più codice per posizionarli per benino ma in generale rende l'interfaccia più intuitiva e personalizzabile... (colorare diversamente le rate per le quali è già stata stampata la fattura per esempio)

    Sapere/Valutare il target del prodotto è necessario per valutare l'interfaccia.

    Si parla di rate quindi immagino che i destinatari siano ammiministratori contabili che magari hanno una buona dimestichezza con le combobox ma magari no..
    Se il budget di prodotto lo giustifica/merita bisognerebbe valutare meglio il target

    Matteo

  6. #6
    Utente di HTML.it L'avatar di Brainjar
    Registrato dal
    Nov 2004
    Messaggi
    1,162
    Non mi permetto di giudicare la tua soluzione. Ne tantomeno pretendere
    di possedere la 'verità assoluta'.
    Ci sono applicazioni che vengono vendute così come sono. In gergo si
    definiscono 'PRODOTTI' ( è un prodotto, as esempio, MS Project).
    Poi ci sono quelle che vengono definite 'PROGETTI', ossia applicazioni che diventano 'specifiche' per un determinato Cliente.
    Nella pratica si comincia quasi sempre con un 'progetto' e dopo
    diverse presonalizzazioni per più Clienti, quando è stabile e
    sicuro lo si trasforma in 'PRODOTTO'.
    In tutti i casi, in fase di disegno dell'applicazione, si devono prendere decisioni coerenti riguardanti le interfacce utenti.
    Ed in tutti i casi la semplicità della soluzione e soprattutto la
    pulizia del 'codice' sono irrinunciabili.
    Vista da quest'ottica, la soluzione da me proposta non è unica, ci
    mancherebbe, e neanche la migliore, figuriamoci, ma è semplice e
    pulita.
    D'altro canto, la soluzione a 'bottoni dinamici' presenta delle
    difficoltà implementative riguardanti :

    1) Numero dei bottoni. Li disegni dinamicamente o li crei da subito
    non visibili, rendendoli visibili all'occorrenza. Nel primo caso
    se a runtime si ha bisogno di un bottone in più si ha un errore.
    Nel secondo caso hai previsto che nel form li avrai in file da 5.
    Nel caso di 6 bottoni avrai una fila da 5 e una da uno. Quando
    visivamente andrebbero utilizzate due file da 3.
    2) Una volta esaurito lo spazio fisico fel form, sempre a runtime,
    avresti un errore perche il tuo algoritmo di posizionamento
    eccede i limiti del form.
    3) A questo punto, se non lo avevi previsto, devi ridisegnare la
    tua interfaccia, senza poter richiedere nulla al Cliente.
    4) Con questa soluzione, costringi l'utente a lanciare la stampa
    tante volte quante sono le fatture da stampare. E deve restare
    davanti al monitor per tutto il tempo di stampa perchè il
    bottone stampa una sola fattura alla volta.
    5) Se poi consideri che l'utente vorrebbe scegliere la stampante e
    le caratteristiche di stampa una sola volta per tutte le fatture,
    con questo sistema lo costringi a 'vedere' la common dialog della
    stampante diverse volte..

    Mi fermo e ti chiedo di considerare i pro della tua soluzione.

    Non te la prendere.

    Ciao,
    Ciao, Brainjar

  7. #7
    Grazie a tutti per le risposte
    Sono arrivata ad una soluzione...seleziono la rata che mi serve dalla lista, i valori di quella rata li metto in dei text box e clicco sul bottone per eleborare la fattura relativa a quella rata.
    Quindi il bottone della fattura è solo uno.

  8. #8
    adesso però ho un altro problema
    la lista viene riempita in seguito ad una select
    che mi tira fuori alcuni campi ma solo quando il campo GHOST della tabella rata è true e solo le rate comprese nell'intervallo di tempo che indico con le variabili RICERCA e RICERCA1

    la select che faccio è questa
    Rs.Open "SELECT rata.ghost, rata.datarata, rata.idrata, commessa.codicecommessa, rata.importo, cliente.ragionesociale FROM (commessa INNER JOIN rata ON commessa.idcommessa = rata.idcommessa) INNER JOIN cliente ON commessa.idcliente = cliente.idcliente WHERE rata.ghost <> true AND rata.datarata Between #" & ricerca & "# AND #" & ricerca1 & "#", cn, 1

    Premetto che le variabili assumono i valori giusti.
    Dove sbaglio????

  9. #9
    Utente di HTML.it L'avatar di Brainjar
    Registrato dal
    Nov 2004
    Messaggi
    1,162
    Qual'è il problema ?
    La sintassi della query? O il set di record estratti?
    A prima vista sembrerebbe un problema di sintassi. Dacci più info.
    Ciao,
    Ciao, Brainjar

  10. #10
    quella esata e funziona è questa.

    Rs.Open "SELECT rata.ghost, rata.datarata, rata.idrata, commessa.codicecommessa, rata.importo, cliente.ragionesociale FROM (commessa INNER JOIN rata ON commessa.idcommessa = rata.idcommessa) INNER JOIN cliente ON commessa.idcliente = cliente.idcliente WHERE rata.ghost <> true AND rata.datarata Between #" & ricerca & "# AND #" & ricerca1 & "# ", cn, 1


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 © 2026 vBulletin Solutions, Inc. All rights reserved.