Newsgroup: it.comp.lang.visual-basic
Titolo: Richiesta di aiuto per query in Visual Basic

Ciao a tutti,
        sto cercando di calcolare una query in Visual Basic 6 su un data
base
        realizzato con Access 97.
        Il problema è che non riesco a prendere soltanto i record che
sono
        compresi in un certo intervallo di tempo (dal ..... al ......).
        L'intervallo di tempo viene inserito su un controllo MaskEdBox
di una
        form mentre il campo su quale viene effettuato il controllo è
preso
        dal database ed è in formato Now (dd/mm/yyyy hh:mm:ss).
        Un altro problema è che non riesco a calcolare la seguente
query:
        Data                    Importo                 Somma
Progressiva
        01/01/2000              5000                    5000
        02/01/2000              3000                    8000
        03/01/2000              10000                   18000
        05/01/2000              3000                    21000
        ......                  ....                    .....
        ......                  ....                    .....
        Grazie per l'aiuto

         05/01/2000              3000                    21000
calcolare in che senso ? cosa ci vuoi fare con questa tabella ?
ciao, pal


credo che voglia ottenere somma progressiva, cioe' se la prima ennupla dello
schema relazionale si chiama n1, somma progressiva al passo i dovrebbe essere 
SP(i) = n1+......+ni

 SP(i) = n1+......+ni
allora forse basta qualcosa del tipo:
select sum(len) from ark.ark where ark.date >= #2000/01/01# and ark.date <=
#2000/01/31#
questa dovrebbe dare il totale del periodo preso in esame. se invece servono
i totali progressivi (n1, n1+n2, n1+n2+...ni), allora in sql non ci saprei
proprio saltare fuori e dovrei usare un ciclo.
o meglio, anche con sql metterei la formula qui sopra dentro a un ciclo del
tipo
for date = n1 to ni
    select..
next
stivando il risultato di ognuna in un campo. probabilmente ci sono soluzioni
piu' eleganti ?

piu' eleganti ?
Se la memoria non mi fa cilecca (e c'e' da vergognarsi visto che devo dare Basi
dati ad Aprile) i linguaggi relazionali non prevedono cicli, non sono completi,
la qual cosa dovrebbe essere impossibile con sole espressioni di algebra
relazionale, ma ripeto potrei facilmente sbagliarmi (questa e' una delle domande
con cui i docenti ti seccano all'esame suppongo)


Per inserire un carattere " in una stringa, basta raddoppiarlo.

 Per inserire un carattere " in una stringa, basta raddoppiarlo.
si', ma non e' che il codice diventi magnifico, specie se poi vuoi prevedere
come testi cercati "L'Aquila" o "D'Annunzio" ( con la D maiuscola, non era
affatto nobile :))

 affatto nobile :))
Anche qui, conta soprattutto l'abitudine; e poi, non vorrai dirmi che quegli
orrrribili Chr$(34) sono più leggibili di qualche virgoletta duplicata? Per
dirla alla giapponese, i Chr$(34) fanno kakare...

 mm/dd/yy.
vista la tua autorita', ho avuto il dubbio di avere sognato...
-- allora: vb5sp3, access97, tabella di ca. 16k schede:
select * from ark where ark.date between #01/01/1999# and #05/01/1999# order
by ark.date
--> restituite 1212 schede, 4gen99 a 30apr99 --> ok, perche' la precedente
nella tabella e' 31dic98.
select * from ark where ark.date between #01/05/1999# and #01/07/1999# order
by ark.date
--> 27, 6gen99 a 7gen99 --> ok (non ce ne sono del 5gen).
altro formato:
select * from ark where ark.date between #01/01/1999# and #31/01/1999# order
by ark.date
--> restituite 318 righe, 4gen99 a 31gen99 --> oops... ( che non vuol dire
object-oriented programming system :)
lo so anch'io che non c'e' un 31. mese, e che quindi non c'era ambiguita',
fatto sta che e' passato al sistema italiano senza batter ciglio, mentre se
accettasse *solo* il 
f.to
 usa avrebbe dovuto dare un errore.
controprova:
select * from ark where ark.date between #30/01/1999# and #31/01/1999# order
by ark.date
--> 9, 30 a 31gen99 --> la query gli e' piaciuta moltissimo, ho dato invio e
il rs era gia' li' :)
non so bene chi va a interpretare la data italiana fra vb, jet e dao. io fra
l'altro ho vb5 usa e office97 italiano. cmq, volendo essere sicuri di quello
che restituisce, mi sa che:
-- o si utilizza qualcosa tipo format(mmddyyy)
-- o si lavora su month(), day(), year()
qui fra l'altro io so cosa c'e' nella tabella. ma ci possono essere casi in
cui non lo si sa esattamente, e allora si prospettano restituzioni *molto*
rischiose.
ciao, a.

 dirla alla giapponese, i Chr$(34) fanno kakare...
Hanno qualche utilita', quindi...
La pensavo anch'io quasi al tuo stesso modo ma ho notato che quando ci si
scambia codice con stili di scrittura diversi in cui sono mischiati, per
forza di cose, apici e virgolette doppie, soprattutto se si ha a che fare
con persone che sono agli inizi, non dico la leggibilita' ma la chiarezza ne
guadagna, cosi' ho incominciato a farne uso e se consumo piu' carta igienica
pazienza.
--
Ciao.
Maurizio

 precisazione filologica, direi. evidentemente era un valore *per lui*....
Capisco. Solo non colgo l'urgenza o l'indefettibilita' di tale precisazione.
--
Ciao.
Maurizio

 Capisco. Solo non colgo l'urgenza o l'indefettibilita' di tale
precisazione.
nel caso specifico ha ragionissima.
quando si parla di query in genere, se ti capitasse di fare un catalogo case
sensitive, potresti avere qualche problema a rintracciarlo. tutto qui,
cfr anche casi tipo Goethe e Hölderlin -- oggi qualcuno parlava di chiavi
non numeriche univoche...
scusa comunque il breve ot.

 wrote in message 88tj6a$48h$5...@nslave2.tin.it...


 ha scritto

Amo gli ot, quando non si esagera, e gradisco particolarmente i tuoi,
spiritosi, brevi e misurati quindi non all'ot mi riferivo quanto alla
generale necessita' -pultroppo, per dirla con l'amatissimo "lele@nospam",
anche tua- di aggiungere sempre qualcosa -di sminuente, d'irrisorio, quasi a
prender posizione, non richiesti, e mostrar distanza- ogni volta che, per
occasione, capita di nominare il D'Annunzio. Che, piaccia o no, lo si abbia
letto tutto, in piccola parte o punto, resta pur sempre un gene -genio non
s'usa dirlo piu' per alcuno se non nelle pubblicazioni a dispense o in
televisione- del nostro, italiano, DNA letterario.
--
Ciao.
Maurizio

 televisione- del nostro, italiano, DNA letterario.
ehi, calma :)
( avevo avuto il sospetto che il punto non fosse la particella di
provenienza quanto l'autore in se'...)
guarda che a me il gabriele sta simpatico, abbastanza, almeno, in certo suo
vitalismo, e nella contaminazione dei piani -- politica, letteratura, azione
ecc.
cio' non toglie che non era nobile. e che il vittoriale mi ha fatto venire
un senso di soffocamento come pochi.
quanto al genio letterario, mi sembra proprio ne avesse. e molto. continuo a
trovare *alcyone*, sebbene un po' kitsch, una delle poche cose degne del
novecento letterario italiano -- che in se' e' abbastanza poca cosa, in
quanto, appunto, dannatamente letterario: di solito manca la vita vissuta, e
il GD'A ci ha almeno provato. con esiti, peraltro, ammetterai, altalenanti,
anche se io continuo a cmq chiamare rijeka fiume, e opatija abbazia...
aveva anche una certa leggerezza di tono, cui purtroppo -- mi pare -- non ha
fatto ricorso quanto poteva. e quindi spesso (essendo appunto un grande) va
a *condensare* tutti i pregi e tutti i difetti e del periodo e della lett
del periodo, tamugnetta in genere anziche' no.
resta che se hai a che fare con cataloghi case sensitive, d'A o D'A e' un
po' un casino (anche perche' se fosse stato nobile a catalogo andrebbe come:
Annunzio, Gabriele d', mentre farai bene a cercarlo come D'Annunzio,
Gabriele :).
( mi tocca pure usare le maiuscole, e cois' mi si consuma lo shift... )
almeno, credo. se vuoi controllare:
http://www.iccu.sbn.it/
segui opac (online public access catalog) e cerca un po'...
se ho toppato scrivimelo *in mail* please :)
( e ho pure modificato il subject... )
ciao, a.
--
andrea dot palazzi at tin dot it
free vb/sw: 
http://www.comune.modena.it/cittadini/apal/html/