.dsy:it. Pages (2): [1] 2 »
Show 150 posts per page

.dsy:it. (http://www.dsy.it/forum/)
- Basi di dati ~ comunicazione digitale (http://www.dsy.it/forum/forumdisplay.php?forumid=108)
-- [Access][Newbie] Tabella percorsi (http://www.dsy.it/forum/showthread.php?threadid=10843)


Posted by Dodo on 13-05-2004 16:52:

Question [Access][Newbie] Tabella percorsi

da poco mi sono messo a utilizzare access, e mi viene una domanda che cmq riguarda i database in generale penso, cmq tenendo conto che devo farlo in access....

è possibile inserire in un campo più valori? mi spiego...

sto faceno il carsharing e per la tabella percorsi come faccio a dire che il
percorso1 è fatto da Tratta1-Tratta2-Tratta3...
soluzione della mia mente (malata ? :D ): in un campo inserisco più valori, inserendo quindi una colonna dal nome Tratte: e come valore una sequenza degli ID dei nodi... si può fare? se si... devo usare una sintassi particolare per separare i valori?

grazie...

__________________
E' meglio essere ottimisti ed avere torto piuttosto che pessimisti ed avere ragione.

Albert Einstein


Posted by futurbaggio on 13-05-2004 21:43:

Re: [Access][Newbie] Tabella percorsi

Originally posted by Dodo
in un campo inserisco più valori, inserendo quindi una colonna dal nome Tratte: e come valore una sequenza degli ID dei nodi... si può fare? se si... devo usare una sintassi particolare per separare i valori?


Non voglio scoraggiarti ma memorizzando così i dati fare una query diventa un gran casino... la logica relazionale vuole che tu crei una tabella percorsi con un campo id, questo campo id verrà poi riportato in un'altra tabella chiamata tratte, in cui avrai:

tratta1, idpercorso
tratta2, idpercorso
tratta3, idpercorso_2
trattaN, idpercorso_N

E' una relazione uno a molti...

Roberto

__________________
E lo sceriffo americano non lo sa / ma quando parla ride tutta la città / vile fellone vieni a singolar tenzone / unza unza umpappà troppe truppe mariscià.
Non ci voleva l'eruzione della lava / e due piccioni si contendono la fava / sposa bagnata, bambina svergognata / la questione è delicata / come bolle la patata.
Basta! E' finita la festa
[L'ovile delle vanità, Folkabbestia]


Posted by sarah on 14-05-2004 09:50:

Domanda: Ma come posso fare poi a vedere se ci sono altri conducenti che fanno esattamente il mio stesso percorso (nel caso in cui ti serve modificare o cancellare il percorso).

Io ho l'id del percorso che voglio modificare!

Dovrei vedere se nella tabella OrdineTratte (IdPercorso,IdTratta,NumeroTratta)
ci sono altri IdPercorso che hanno le stesse tratte e allo stesso numero tratta!

come funziona???
ciao grazie
sarah


Posted by Dodo on 14-05-2004 13:15:

Re: Re: [Access][Newbie] Tabella percorsi

Originally posted by futurbaggio
Non voglio scoraggiarti ma memorizzando così i dati fare una query diventa un gran casino... la logica relazionale vuole che tu crei una tabella percorsi con un campo id, questo campo id verrà poi riportato in un'altra tabella chiamata tratte, in cui avrai:

tratta1, idpercorso
tratta2, idpercorso
tratta3, idpercorso_2
trattaN, idpercorso_N

E' una relazione uno a molti...

Roberto


giusto.. grazie.. il bello è che nello schema E-r ho fatto così :oops:

va beh.. grazie ancora :D

__________________
E' meglio essere ottimisti ed avere torto piuttosto che pessimisti ed avere ragione.

Albert Einstein


Posted by Dodo on 14-05-2004 16:12:

scusa Roberto ma in questo modo come faccio ad associare più percorsi ad una tratta?

eidt: risolto creando una tabella relazionale a parte...

__________________
E' meglio essere ottimisti ed avere torto piuttosto che pessimisti ed avere ragione.

Albert Einstein


Posted by foolish on 14-05-2004 16:27:

io avrei pensato invece che il percorso lo avrebbe indicato direttamente l'utente...

mi spiego: nella fase di inserimento dati l'utente, tramite un'opportuna interfaccia, inserisce i luoghi che incontra lungo il percorso e dove ha intenzione di fermarsi, nel caso, per raccogliere e quindi dare il passaggio alle altre persone.

quindi avremmo un atabella utenti che offrono il passaggio e di utenti che al contrario lo richiedono.

inoltre avremo un altra tabella composto da:



se noi avremmo le due corrispondenze tra luogo di partenza e luogo d'arrivo controlleremo l'affinità con l'orario, prevedendo magari una possibilità di ritardo accettabile.

io l'avevo npensato così....

__________________
The only way to discover the limits of the possible is to go beyond them into the impossible.
Arthur C. Clarke.


Posted by futurbaggio on 16-05-2004 09:42:

Originally posted by sarah

Dovrei vedere se nella tabella OrdineTratte (IdPercorso,IdTratta,NumeroTratta)
ci sono altri IdPercorso che hanno le stesse tratte e allo stesso numero tratta!

come funziona???


Oltre a quello che tu hai già detto devi confrontare anche che l'orario di partenza sia lo stesso e che l'eventuale percorso alternativo abbia un numero di posti sufficienti per trasportare anche le persone prenotate per il percorso che vuoi modificare.
Buona fortuna! :twisted:

Roberto

PS. Dodo, tu vai alla grande!

__________________
E lo sceriffo americano non lo sa / ma quando parla ride tutta la città / vile fellone vieni a singolar tenzone / unza unza umpappà troppe truppe mariscià.
Non ci voleva l'eruzione della lava / e due piccioni si contendono la fava / sposa bagnata, bambina svergognata / la questione è delicata / come bolle la patata.
Basta! E' finita la festa
[L'ovile delle vanità, Folkabbestia]


Posted by sarah on 16-05-2004 13:22:

Sì ok Roberto, fin lì ci sono!
Quello che non riesco a fare è:
come faccio a confrontare più tuple di una tabella (in questo caso le tuple che hanno tutte lo stesso idPercorso in OrdineTratte)
con tutte le altre tuple?


alcuni suggerirebbero di usare gli array...che però non so usare :P
...come si fa?...
ciao ciao
sarah


Posted by futurbaggio on 19-05-2004 10:21:

Originally posted by sarah
come faccio a confrontare più tuple di una tabella (in questo caso le tuple che hanno tutte lo stesso idPercorso in OrdineTratte)
con tutte le altre tuple?


Il tutto con una ed una sola istruzione SQL, nn so come è la tua base di dati a questo punto, cmq si tratta di fare una SELECT su due istanze dei percorsi (usando gli alias), che:
- seleziona il percorso da modificare
- seleziona i percorsi con lo stesso orario di quello da modificare
- seleziona le tratte del percorso da modificare e le confronta con quelle degli altri percorsi
- seleziona i posti disponibili per gli altri percorsi e confronta se bastano per trasportare i prenotati del percorso da modificare.

Non è una query banale e quindi nn ci puoi mettere 2 minuti, io ne ho impiegati 15!

Roberto

PS per chi ama gli array, io nn ne ho usato nemmeno uno in 1500 righe di codice!

__________________
E lo sceriffo americano non lo sa / ma quando parla ride tutta la città / vile fellone vieni a singolar tenzone / unza unza umpappà troppe truppe mariscià.
Non ci voleva l'eruzione della lava / e due piccioni si contendono la fava / sposa bagnata, bambina svergognata / la questione è delicata / come bolle la patata.
Basta! E' finita la festa
[L'ovile delle vanità, Folkabbestia]


Posted by sarah on 20-05-2004 17:02:

Ok grazie mille Futurbaggio!Me la sto cavicchiando solo che mi sono bloccata a questo punto:

nel momento in cui devo aggiornare la tabella prenotazioni e modificare idPercorso vecchio con quello nuovo....

rs.close
rs.open "Update Prenotazioni set IdPercorso=(select IdPercorso from Percorsi where idPercorso="&Pippo&") and PostiRimasti="&PostiDisp&" where IdPercorso="&IdPercurs&"",conn


mi dice che "Per l'operazione è necessaria una query aggiornabile!" che significa?

ciao ciao grazie
sarah


Posted by futurbaggio on 20-05-2004 22:01:

Originally posted by sarah
mi dice che "Per l'operazione è necessaria una query aggiornabile!" che significa?


Mancano i permessi di scrittura sulla cartella che contiene il BD?!?!?!

Roberto

__________________
E lo sceriffo americano non lo sa / ma quando parla ride tutta la città / vile fellone vieni a singolar tenzone / unza unza umpappà troppe truppe mariscià.
Non ci voleva l'eruzione della lava / e due piccioni si contendono la fava / sposa bagnata, bambina svergognata / la questione è delicata / come bolle la patata.
Basta! E' finita la festa
[L'ovile delle vanità, Folkabbestia]


Posted by sarah on 21-05-2004 08:44:

Non è il primo update che faccio nella cartella, ma solo in questo mi da questo errore!


Posted by futurbaggio on 21-05-2004 21:13:

Originally posted by sarah
Non è il primo update che faccio nella cartella, ma solo in questo mi da questo errore!


...codice, please...

__________________
E lo sceriffo americano non lo sa / ma quando parla ride tutta la città / vile fellone vieni a singolar tenzone / unza unza umpappà troppe truppe mariscià.
Non ci voleva l'eruzione della lava / e due piccioni si contendono la fava / sposa bagnata, bambina svergognata / la questione è delicata / come bolle la patata.
Basta! E' finita la festa
[L'ovile delle vanità, Folkabbestia]


Posted by sarah on 24-05-2004 08:32:

Ciao!!!
Ma vuoi il codice di quello che viene o di quello che non viene?
Beh dai te li metto tutti e due!

Questo funziona
mysql="Update Percorsi set Ora=#"& NuovaOra &"# where IdPercorso="& IdPercurs &""
conn.execute mysql



Questo non funziona:
rs.close
rs.open "Update Prenotazioni set IdPercorso=(select IdPercorso from Percorsi where idPercorso="&Pippo&") and PostiRimasti="&PostiDisp&" where IdPercorso="&IdPercurs&"",conn

e mi dice, come ti ho detto sopra, che c'è bisogno di una query aggiornabile!!!

ciao ciao sarah


Posted by sarah on 24-05-2004 10:09:

anzi guarda, ti dirò di più:
se faccio due query separate:

mysql="Update Prenotazioni set IdPercorso="&Pippo&" where IdPercorso="&IdPercurs&" "
conn.execute mysql

mysql="Update Prenotazioni set PostiRimasti="&PostiDisp&" where IdPercorso="&Pippo&" "
conn.execute mysql

funziona tutto! Se invece provo a fare aggiornare due campi nella stessa query, inizia a sclerare!
Mi sembra stupido farlo separatamente, no? Non so, succede solo a me?

ciao ciao
grazie sarah


All times are GMT. The time now is 12:18. Pages (2): [1] 2 »
Show all 17 posts from this thread on one page

Powered by: vBulletin Version 2.3.1
Copyright © Jelsoft Enterprises Limited 2000 - 2002.