Newsgroup: it.comp.appl.access
Titolo: OT : query per turni turni a scuola

Ciao,
scusate l'OT ,
mi date una mano con questo rompicapo :
se in una scuola ci sono :
18 aule
23 classi
come si fa ad organizzare in modo che in una o due settimane tutte le classi
frequantano lo stesso numero di lezioni ?
L' orario scolastico è organizzato dal lunedi al sabato.
E' possibile in una query o in Excel ?
grazie.

 ha scritto nel messaggio 
news:4222e...@x-privat.org...

E' necessario costruire un algoritmo ma credo con variabili a cui non hai 
fatto cenno.
Ore di lezione per classe, Intervalli, Mattina-Pomeriggio, durata singola 
lezione, calcolo dello spostamento alunni per ginnastica in palestre lontane 
dalle aule, periodi festivi, feste patronali, supplenze, disponibilità degli 
insegnanti ecc.
Sono molte le variabili da tenere in consederazione ma vanno elencate e 
quantizzate tutte.
Ciao, Carlo

 ha scritto nel
messaggio news:NnCUd.975398$35.36...@news4.tin.it...

    fa nulla pensavo fosse più facile :)
    grazie !
    ciao !

Non sapendo bene come descrivere il mi problema con poche parole 
"chiave", non saprei come cominciare una ricerca nè qui nè sul sito 
comune: accetto quindi ben volentieri anche dei semplici rimandi a 
discussioni passate o a parti del sito comune che trattino una 
problematica simile...
Cerchero di essere chiaro e sintetico (anche se non sarà facile): ho una 
tabella "ordini", una tabella "clienti", una tabella "articoli" e una 
tabella "dettaglio articoli" che mi permette di associare più articoli a 
un certo ordine. Fin qui nessun problema: una maschera per gli ordini 
(che ha come origine dati una query con inner join fra ordine e clienti) 
con una sottomaschera che elenca gli articoli relativi al singolo 
ordine... La spiegazione è un po' sommaria ma immagino sia una 
situazione talmente comune da non dover essere ulteriormente 
specificata.
Adesso passiamo al problema: i prezzi: il prezzo di un articolo non è 
fissato, ma dipende dall'ordine in cui tale articolo compare. Ad ogni 
ordine è associato un listino dal quale vanno presi i prezzi relativi ai 
singoli articoli. A questo scopo esistono altre due tabelle: "listini" e 
"dettaglio listini"; nella prima ci sono i campi "nome listino" e 
"codice listino", mentre nella seconda sono presenti i campi "codice 
articolo", "codice listino" e "prezzo" (i primi due campi costituiscono, 
insieme, una chiave primaria così che ci sia un solo prezzo per ogni 
coppia articolo-listino).
A questo punto ecco ciò che vorrei (e non mi riesce) fare: per ogni 
record della sottomaschera dovrebbe esserci un campo "prezzo" il cui 
contenuto viene determinato cercando nella tabella "dettagli listini" il 
codice articolo di quel particolare record della sottomaschera e il 
codice listino associato all'ordine (che quindi si trova nella 
maschera).
Avete qualche idea su come impostare la cosa? Ogni suggerimento o 
rimando sarà graditissimo...
Grazie
Giacomo 



 ha
scritto nel messaggio news:38glrcF...@individual.net...

Se la tabella Ordini ha una struttura simile a questa:
IdOrdine            Cintatore e chiave primaria
NumeroOrdine   Numerico
DataOrdine        Data/ora
CodiceListino     Numerico
ecc. ecc.
Se la tabella DettaglioOrdini ha una struttura simile a questa:
IdDettaglio            Contatore e chiave primaria
IdOrdine               Numerico
Codice Articolo    Numerico
Quantità                Numerico
ecc. ecc.
Se le tabelle Ordini e DettaglioOrdini sono tra di loro in relazione
uno-a-molti in base ai rispettivi campi IdOrdine.
Se la tabella tblArticolo_Listino ha la seguente struttura:
CodiceArticolo    Numerico e chiave primaria
CodiceListino      Numerico e chiave Primaria
Prezzo                 Valuta
Creati una query che abbia il seguente codice SQL:
SELECT OD.*, (SELECT Prezzo FROM tblArticolo_Listino As PR WHERE
PR.CodiceArticolo = OD.CodiceArticolo  AND PR.CodiceListino =
OD.CodiceListino;) AS Prezzo
FROM [SELECT DettaglioOrdini.*, Ordini.CodiceListino
FROM Ordini INNER JOIN DettaglioOrdini ON Ordini.IdOrdine =
DettaglioOrdini.IdOrdine;]. AS OD;
A questo punta usa questa query come origine record della sottomaschera al
posto della tabella DettaglioOrdini; questa query contiene gia un campo
Prezzo che quindi non dovrai calcolare nella sottomaschera che si limiterà a
visualizzare il prezzo contenuto nella query.
-- 
Roberto
-----------------------------------------------------
il Sito Comune di it.comp.appl.access
http://www.sitocomune.com
----------------------------------------------------

 ha
scritto nel messaggio news:38gltoF...@individual.net...

Se la tabella Ordini ha una struttura simile a questa:


 DettaglioOrdini.IdOrdine;]. AS OD;
Su questo vorrei un chiarimento, perchè non riesco a capire a fondo 
quello che fa il codice che mi hai suggerito.
Credo che come prima cosa il codice crei un dataset (a cui assegna 
l'alias OD) "aggiungendo" (passami il termine) ad ogni record del 
"dettaglio ordini" anche il codice listino dell'ordine a cui quel record 
si riferisce. In pratica è una copia della tabella "dettaglio ordini" 
con un campo in più, il codice listino. Prime domande:
- Ho interpretato bene?
- Perchè la SELECT è racchiusa in parentesi quadre invece che tonde?
- A che serve il punto dopo la chiusura della parentesi quadra?
Ora poi cominciano i misteri veri (solo perchè evidentemente non so come 
funziona SQL!). Appurato che ormai OD è stato "creato", dalla classica 
sintassi di una select io mi sarei aspettato qualcosa del tipo
SELECT OD.*, X AS Prezzo FROM ...
dove "X" sarebbe stato il nome di un campo. Ma dalla tua query X è il 
risultato di una select, qundi è un dataset... non capisco!
Seconda serie di domande:
- la select che ricava il prezzo viene evidentemente ripetuta per ogni 
record di OD, ogni volta con i giusti valori di CodiceArticolo e 
CodiceListino; non capisco però come questo sia espresso nella 
sintassi... insomma, la domanda non è chiarissima, ma quello che sto 
chiedendo, se possibile, è una spiegazione su come il motore del DB 
interpreta le query così da chiarire perchè esegua la select una volta 
per ogni record di OD... è forse una question e di ordine delle 
operazioni? Sarebbe stata la stessa cosa se io avessi invertito "SELECT 
Prezzo..." con "OD.*"?
- cosa succederebbe se non ci fosse la chiave primaria composta nella 
tabella Articolo_listino, cioè se il risultato di quella select che 
restituisce il prezzo fosse un dataset con più di un prezzo? Nel dataset 
finale ci sarebbero i record di OD duplicati per ogni prezzo trovato?
Ti ringrazio fin da ora per la pazienza che (spero) dimostrerai fugando 
i miei mille dubbi!
Ciao
Giacomo 

 Giacomo


 per un corso per corrispondenza privato sul codice SQL.
Certo, infatti mi sono un po' acculturato non frattmpo, e credo che 
questo abbia contribuito molto alla comprensione delle cose.
Ancora mille grazie
Giacomo