20/10/2023 - Marco G1975 ha scritto:
praticamente lo scopo finale è che ho un database di clienti i quali hanno appuntamenti fissi settimanali (chi il lunedi - mercoledi - venerdi, chi solo il giovedi, etc etc). Io devo creare questo database (già creato con sqlite) ma devo poterlo visualizzare in una sorta di calendario settimanale, tipo ad esempio devo poter selezionare la settimana dal 23 al 29 ottobre e in automatico devo vedere chi c'è di lunedi, chi di martedi etc etc…
devi capire che un dato può essere rappresentato anche graficamente. Un esempio che tuti conosciamo sono i grafici che esprimono valori che rendono maggiormente l'idea del valore rappresentato. il grafico a linee si usa per rappresentare qualcosa di dinamico, a barre per dei confronti di valori e a torta per esprimere le percentuali.
Quello che devi fare, partendo dai valori in tabella è di creare un oggetto e posizionarlo sul calendario in corrispondenza della data dell'appuntamento (supponiamo lunedì). Devi aggiungere i campi relativi alle coordinate di posizionamento dell'oggetto in base al giorno della settimana (l'area di ingombro, dello sfondo usato come calendario, del lunedì), che saranno il top e il left dell'oggetto (supponiamo una griglia da lunedì a domenica, ogni cella sarà larga 100 avrai left=0 per lunedì, left=101 per maredì. left=201 per mercoledì ecc… . magari spostando l'oggetto (drag drop) ti ricalcoli la data dell'appuntamento se l'oggetto viene rilasciato con left 201.
Avrai bisogno di funzioni, calcoli e padronanza del linguaggio.
I dati per costruire gli oggetti li ricavi dalla query select … where data da… a… il risultato ti serve per creare gli oggetti e si chiameranno [prefisso]+idappuntamento. Il prefisso lo scegli tu, il risultato per il record 6 sarà myobj6 se il prefisso è “myobj”.
se cambi settimana, mese, anno prima di ricostruirti gli oggetti, devi distruggerli. ti ripassi la select record per record e destroy [prefisso]+idappuntamento. passi alla settimana successiva, passi i parametri alla query da… a.. e ricrei gli oggetti. creazione e distruzione li metti in una funzione “creaoggetto” e “distruggioggetto”.
Bello realizzarlo in vb,net, se ti può consolare, questa agenda hanno provato in tanti programmatori a realizzarla senza successo, fermandosi dove ti sei fermato tu. Come diceva il mio padrino dell'informatica, anche se conosci l'italiano non è detto che sai scrivere un romanzo.
Comincia con carta e penna, appena hai le idee chiare di cosa ti serve per realizzarlo, il forum è pieno di competenti (in vb.net molto più bravi di me).