author: Paolo opg

text:
"OneEDP" <one NON emmedi PROVARCI @ NEMMENO
tin.it
  INTESI?> wrote in
news:szQEc.29375$
c_1.9...@twister1.libero.it
:

imho, l'dea di passare su excel potrebbe non essere malaccio.
io ho fatto un paio di cose simile e avendo usato access per un bel pò,
non ho avuto grossi problemi.
l'automazione di excel è sempre in vb e i comandi necessari per gestire
bordi e formattazione sono semplici e immediati (ricorda: F1 è tuo
amico...).
oltre al fatto che sul sitocomune mi pare ci sia un esempio di
automazione access -> excel.
fai un salto sul sitocomune e fai un paio di prove...
--
+-------
| Paolo opg
|
| janickg ( at ) hotmail ( dot ) com
| (fake address in reply-to field!)
+-------


title: Fincature su report su campi adiacenti ad altezza (autonoma) variabile.

author: Eugenio

text:
"OneEDP" <one NON emmedi PROVARCI @ NEMMENO
tin.it
 INTESI?> ha scritto nel
messaggio news:szQEc.29375$c_1.9...@twister1.libero.it...

Si può fare. Ti riporto un piccolo esempio di un mio report.
Inoltre nell'help troverai maggiori informazioni.
Private Sub Report_Page()
   DisegnaPagina
End Sub
Sub DisegnaPagina()
    Dim sngAlto As Single
    Dim sngSinistra As Single
    Dim sngLarghezza As Single
    Dim sngAltezza As Single
    Dim intColore As Integer
    Me.ScaleMode = 6
    Me.DrawWidth = 10
    sngAlto = Me.ScaleTop + 15
    sngSinistra = Me.ScaleLeft
    sngLarghezza = 275
    sngAltezza = 195
    intColore = RGB(0, 0, 0)
    Me.Line (sngSinistra, sngAlto)-(sngLarghezza, sngAltezza), intColore, B
End Sub
Ciao
Eugenio


author: NON emmedi PROVARCI @nemmenotin.itintesi? OneEDP

text:
"Paolo opg" <
w...@ne.com
> ha scritto nel messaggio
news:Xns951977D80EBC7paoloopg@janick...
> "OneEDP" <one NON emmedi PROVARCI @ NEMMENO
tin.it
  INTESI?> wrote in
> news:szQEc.29375$
c_1.9...@twister1.libero.it
:
>
> > Salve NG!
> > Ho la necessità di imitare un form completo di fincature orizzontali e
> > verticali.
> > Fino ad ora il problema non sussisteva perché il modulo era già
> > prestampato. Il modulo ora deve essere ricreato con qualche
> > espediente. Sulle fincature verticale che si pò fare?
> > Provando ad appiccicare i vari campi con bordi il risultato è
> > deludente... pensavo ad un passaggio con salto mortale in excel (o su
> > word) ma penso che c'è solo da infognarsi.
> > Qualcuno ha una dritta? Non vedo soluzioni semplici all'orizzonte.
> > Grazie.
> > Daniele
> >
>
> imho, l'dea di passare su excel potrebbe non essere malaccio.
>
> io ho fatto un paio di cose simile e avendo usato access per un bel pò,
> non ho avuto grossi problemi.
>
> l'automazione di excel è sempre in vb e i comandi necessari per gestire
> bordi e formattazione sono semplici e immediati (ricorda: F1 è tuo
> amico...).
Il tasto si è consumanto non crucciartene ;-)
Non vorrei coivolgere excel per per pigrizia e per non appesantire troppo il
codice.
Cercavo qualcosa di diverso
Grazie



text:
"Eugenio" <epiworld#_@_#
tiscali.it
> ha scritto nel messaggio
news:cc0mr9$rc1$1...@lacerta.tiscalinet.it...

Alla fine devo disegnarcele io le linee verticali (o rettangoli che siano)
sapendo anticipatamente dove posizionarle ovviamente.
Diciamo che vorrei qualcosa di meno "statico".
Non ho fatto prove ancora. Ma secondo te è possibile sull'evento Page
intercettare Height Width di alcuni controlli chiave in modo che le linee da
disegnare li possano utilizzare come "coordinate"?
Ti ringrazio
Ciao


text:
"OneEDP" <one NON emmedi PROVARCI @ NEMMENO
tin.it
 INTESI?> ha scritto nel
messaggio news:pYREc.29526$c_1.9...@twister1.libero.it...

Beh, mi pare che finora hai utilizzato un modulo prefincato, quindi qualcosa
di statico.
Oppure non ho capito bene cosa ti serve. Magari se specifichi con una certa
precisione quello che ti serve
possiamo darti qualche consiglio in più.
> Non ho fatto prove ancora. Ma secondo te è possibile sull'evento Page
> intercettare Height Width di alcuni controlli chiave in modo che le linee
da
> disegnare li possano utilizzare come "coordinate"?
Del mio report ti ho mostrato solo un esempio per generare la fincatura che
mi sembra fosse la tua necessità..
All'interno del mio report avevo necessità di posizionare determinati campi
in una determinata posizione della colonna, con un font specifico,
quindi impostando le proprietà dei campi report (height, width, ecc.), ho
potuto fare TUTTO quello che volevo.
Ciao
Eugenio


text:
"Eugenio" <epiworld#_@_#
tiscali.it
> ha scritto nel messaggio
news:cc113i$4a7$1...@lacerta.tiscalinet.it...

La mia necessità è quella nel subject. In particolare ho la necessità di
tracciare fincature verticali nel corpo del report.
Come detto il corpo contiene dei campi ad altezza variabile quindi
l'imitazione di una tabella prefincata non funzionerebbe a dovere.
Non mi resta che disegnare linee su evento page.
L'unica cosa che renderebbe flessibile il report è "parametrizzare" le
coordinate delle linee, nonché la loro lunghezza, in base alla posizione di
alcuni controlli chiave da spostare a piacimento in modo da non rifare le
linee in base agli spostamenti dei campi del corpo del report o meglio
ancora in modo da ottenere precisione senza effetuare misure o conversioni
punti<->cm.
Ciò che mi chiedevo è se sia possibile intercettare in fase di stampa queste
coordinate width,  height, left e top...
Se conosco a priori quanto sarà alta la nuova riga di dettaglio in base alle
informazioni, allora potrò ad esempio allungare, stirare le linee fino
all'altezza massima (vedi prop. espandibile, riducibile delle varie sezioni
del report)
Non so se sono stato chiaro.
Ciao
Daniele


text:
> La mia necessità è quella nel subject. In particolare ho la necessità di
> tracciare fincature verticali nel corpo del report.
Cambia le dimensioni del rettangolo con inizio e fine dove vuoi tu (possono
essere uguali). Oppure puoi sempre partire dal margine sinistro e
specificare la larghezza del rettangolo all'altezza della posizione scelta
per la linea verticale. Prova, vedrai che compariranno le linee verticali.
> Come detto il corpo contiene dei campi ad altezza variabile quindi
> l'imitazione di una tabella prefincata non funzionerebbe a dovere.
Specifica la linea ad ogni emissione di riga, se è il caso.
> Non mi resta che disegnare linee su evento page.
> L'unica cosa che renderebbe flessibile il report è "parametrizzare" le
> coordinate delle linee, nonché la loro lunghezza, in base alla posizione
di
> alcuni controlli chiave da spostare a piacimento in modo da non rifare le
> linee in base agli spostamenti dei campi del corpo del report o meglio
> ancora in modo da ottenere precisione senza effetuare misure o conversioni
> punti<->cm.
> Ciò che mi chiedevo è se sia possibile intercettare in fase di stampa
queste
> coordinate width,  height, left e top...
> Se conosco a priori quanto sarà alta la nuova riga di dettaglio in base
alle
> informazioni, allora potrò ad esempio allungare, stirare le linee fino
> all'altezza massima (vedi prop. espandibile, riducibile delle varie
sezioni
> del report)
> Non so se sono stato chiaro.
> Ciao
> Daniele
>
Lo puoi fare!
Questa è la definizione delle proprietà di un campo del corpo durante
l'evento Formattazione
        With Me!Descrizione
            .Value = Me!DescrPeriodo
            .Left = 800
            .Width = 2850
            .FontSize = 6
            .FontWeight = 400
            .BackColor = 16777215
        End With
Purtroppo in Access97 le dimensione le devi specificare in punti. Non so
dirti nelle versioni successive di Access.
Comunque, per farti un esempio, un modello tipo dichiarazione dei reditti
( ahi noi le tasse! ) con le descrizioni che hanno dei rientri è abbastanza
semplice rappresentarlo in Access. Ricordati inoltre che puoi sfruttare
anche i sottoreports.
Nell'help di Access puoi trovare esempi che fanno al caso tuo.
Ciao
Eugenio


text:
"Eugenio" <epiworld#_@_#
tiscali.it
> ha scritto nel messaggio
news:cc14nr$9ok$1...@lacerta.tiscalinet.it...
>
> > La mia necessità è quella nel subject. In particolare ho la necessità di
> > tracciare fincature verticali nel corpo del report.
>
> Cambia le dimensioni del rettangolo con inizio e fine dove vuoi tu
(possono
> essere uguali). Oppure puoi sempre partire dal margine sinistro e
> specificare la larghezza del rettangolo all'altezza della posizione scelta
> per la linea verticale. Prova, vedrai che compariranno le linee verticali.
>
> > Come detto il corpo contiene dei campi ad altezza variabile quindi
> > l'imitazione di una tabella prefincata non funzionerebbe a dovere.
>
> Specifica la linea ad ogni emissione di riga, se è il caso.
E' qui il problema.

Speravo in soluzione più semplici. Comunque con gli strumenti a disposizione
risolverò i problemi di moduli "statici" a "antistatici"
Grazie mille
Ciao
Daniele


text:
"OneEDP" <one NON emmedi PROVARCI @ NEMMENO
tin.it
 INTESI?> ha scritto nel
messaggio news:HUUEc.29755$GQ3.7...@twister2.libero.it...
> "Eugenio" <epiworld#_@_#
tiscali.it
> ha scritto nel messaggio
> news:cc14nr$9ok$1...@lacerta.tiscalinet.it...
> >
> > > La mia necessità è quella nel subject. In particolare ho la necessità
di
> > > tracciare fincature verticali nel corpo del report.
> >
> > Cambia le dimensioni del rettangolo con inizio e fine dove vuoi tu
> (possono
> > essere uguali). Oppure puoi sempre partire dal margine sinistro e
> > specificare la larghezza del rettangolo all'altezza della posizione
scelta
> > per la linea verticale. Prova, vedrai che compariranno le linee
verticali.
> >
> > > Come detto il corpo contiene dei campi ad altezza variabile quindi
> > > l'imitazione di una tabella prefincata non funzionerebbe a dovere.
> >
> > Specifica la linea ad ogni emissione di riga, se è il caso.
>
> E' qui il problema.
Il tuo problema è l'altezza dei campi. In base a che cosa cambia l'altezza ?
La riga orizzontale è per tutta la larghezza del corpo oppure solo della
colonna?
In ogni caso puoi prevedere come fincatura solo la cornice e le eventuali
righe verticali, mentre per quelle orizzontali puoi prevedere una riga che
cambia la lunghezza e la posizione di partenza dinamicamente in base alle
tue esigenze e poi puoi renderla visibile oppure no.

Credo che dopo poche prove ti accorgerai che il problema è più semplice di
quanto credi.
Non scordare l'help.
Buon Lavoro.
Ciao
Eugenio


author: Sergio MAZZA

text:
"OneEDP" <one NON emmedi PROVARCI @ NEMMENO
tin.it
 INTESI?> ha scritto nel
messaggio news:szQEc.29375$c_1.9...@twister1.libero.it...

Da quanto ho seguito mi sembra di aver capito che il tuo problema è "solo"
sul layout grafico; utilizza Excel e con ADO scrivi i dati in tabella. Non
mi sembra una soluzione tanto complicata, o c'è dell'altro?
Ciao.
--
Sergio MAZZA


text:
> Da quanto ho seguito mi sembra di aver capito che il tuo problema è "solo"
> sul layout grafico; utilizza Excel e con ADO scrivi i dati in tabella. Non
> mi sembra una soluzione tanto complicata, o c'è dell'altro?
>
> Ciao.
>
> --
> Sergio MAZZA
>
Il layout deve somigliare ad un modulo, ma nello stesso tempo deve essere
flessibile e modificabile in fretta e furia in base a capricci di certa
gente al riparo da smanettoni.
Un modulo che non è un modulo. Cose strane dal mondo.
Certo utilizzare Excel come motorino di avviamento e come deposito ha i suoi
vantaggi... magari simulare un sottoreport... chissà.
Ciao
Daniele


text:
> Il layout deve somigliare ad un modulo, ma nello stesso tempo deve essere
> flessibile e modificabile in fretta e furia in base a capricci di certa
> gente al riparo da smanettoni.
Normale, tutto il mondo è così.
Pensa che è in circolazione l'album degli Smanettoni Panini. Con altri
colleghi ci scambiamo le figurine. Celo non celo...
Del resto fa tutto il compIuter, no?
Basta un clic!!!!
> Un modulo che non è un modulo. Cose strane dal mondo.
Nessuna stranezza. Mi ripeto, fa tutto il compIuter !
Non ti preoccupare, tutto normale.
> Certo utilizzare Excel come motorino di avviamento e come deposito ha i
suoi
> vantaggi... magari simulare un sottoreport... chissà.
> Ciao
> Daniele
>
>
Coraggio, non lamentiamoci, nonostante le nostre incazzature e la nostra
ignoranza informatica, questi smanettoni hanno sempre bisogno di noi.
Loro sicuramente non possono passare giornate intere a riscrivere le stesse
righe di codice. Loro sono tecnologimanente avanzati, e che avanzi!
E poi, basta un clic !
;-)
Avanti, china il crapone e fai il reportone.
Ciao
Eugenio


author: MA

text:
"Eugenio" <epiworld#_@_#
tiscali.it
> ha scritto nel
messaggio
news:cc3ii7$mt$1...@lacerta.tiscalinet.it...

Sono seriamente preoccupato della qualità della
roba che gira dalle tue parti.
E se per un periodo abbassassi la media??? Solo
mentre non finisce quella robaccia.
MAssimiliano
>
> Ciao
> Eugenio
>
>
>


text:
>
> Sono seriamente preoccupato della qualità della
> roba che gira dalle tue parti.
> E se per un periodo abbassassi la media??? Solo
> mentre non finisce quella robaccia.
> MAssimiliano
>
Ops!
Roba?
Cosa ho fatto di male oggi?
Quale media dovrei abbassare?
Grazie
Ciao
Eugenio


text:
"Eugenio" <epiworld#_@_#
tiscali.it
> ha scritto nel messaggio
news:cc3ii7$mt$1...@lacerta.tiscalinet.it...

Fai il reportone altimenti ti faccio un... one
Ciao
Daniele


text:
"OneEDP" <one NON emmedi PROVARCI @ NEMMENO
tin.it
 INTESI?> ha scritto nel
messaggio news:laeFc.32278$c_1.9...@twister1.libero.it...



text:
"> > >
> > Fai il reportone altimenti ti faccio un... one
Francamente stavo solidarizzando, perchè mi ritrovo nella spesso nella tua
stessa situazione.
Ciao
Eugenio


text:
"Eugenio" <epiworld#_@_#
tiscali.it
> ha scritto nel messaggio
news:cc3r65$c1f$1...@lacerta.tiscalinet.it...
>
> "> > >
> > > Fai il reportone altimenti ti faccio un... one
>
> Francamente stavo solidarizzando, perchč mi ritrovo nella spesso nella tua
> stessa situazione.
>
> Ciao
> Eugenio
>
>
Chi la vuole cotta, chi al sangue ma in modo che quando taglio la fetta non
devo vedere niente color sangue... e cosě via.
Del resto basta un clic.
Ciao


text:
> Chi la vuole cotta, chi al sangue ma in modo che quando taglio la fetta
non
> devo vedere niente color sangue... e così via.
> Del resto basta un clic.
> Ciao
>
Capito, niente solidarietà.
Peccato per lo spreco.
Ciao


text:
"Eugenio" <epiworld#_@_#
tiscali.it
> ha scritto nel messaggio
news:cc3run$dj2$1...@lacerta.tiscalinet.it...

C'hai capito? Invece mi trovo d'accordo con te.
E' una lotta quasi tutti i giorni.
Ciao


text:
> >
> C'hai capito? Invece mi trovo d'accordo con te.
> E' una lotta quasi tutti i giorni.
> Ciao
>
Meno male...
Sai com'è, ultimamente in questo NG, se non fai parte del circolino, viene
cazziato dal moderatore (?) di turno.
Buon lavoro e auguri.
Ciao
Eugenio


text:
"Eugenio" <epiworld#_@_#
tiscali.it
> ha scritto nel
messaggio
news:cc3sgr$ffk$1...@lacerta.tiscalinet.it...

Mi sa che non hai ben capito lo spirito.
Io stavo solo scherzando col dire che certi
termini potessero essere stati dettati chissà da
quali sostanze...
nulla + di questo.
MAssimiliano


text:
"Eugenio" <epiworld#_@_#
tiscali.it
> ha scritto nel messaggio
news:cc3sgr$ffk$1...@lacerta.tiscalinet.it...

Fenomeni di intolleranza a volte sono giustificati dallo stress e poi come
vedi il testo scritto spesso non trasmette ciò che veramente si vuole dire.


text:
>
>
> Mi sa che non hai ben capito lo spirito.
> Io stavo solo scherzando col dire che certi
> termini potessero essere stati dettati chissà da
> quali sostanze...
> nulla + di questo.
> MAssimiliano
>
va là, va là, fubbetto!
Sogni di fare l'avvocato da grande ?
;-)
Ciao
Eugenio


text:
"Eugenio" <epiworld#_@_#
tiscali.it
> ha scritto nel
messaggio
news:cc3tfb$hro$1...@lacerta.tiscalinet.it...

te lo ripropongo:
> Avanti, china il crapone e fai il reportone.
Questo secondo te è detto da uno che è sobrio.
>Sono seriamente preoccupato della qualità della
>roba che gira dalle tue parti.
Nel senso che ti sniffi???
>E se per un periodo abbassassi la media??? Solo
>mentre non finisce quella robaccia.
Se mentre il tuo distributore di fiducia si
riapprovvigiona di roba buona
tu ne prendessi meno? così per limitare i danni?
Se vuoi ti presento il mio....
Basta poteva essere di cattivo gusto, ma era solo
questo.
E' venerdì,
fa caldo,
ieri s'è fatto tardi...
capiscimi...
MAssimiliano


text:
> >
> te lo ripropongo:
>
> > Avanti, china il crapone e fai il reportone.
>
> Questo secondo te è detto da uno che è sobrio.
>
> >Sono seriamente preoccupato della qualità della
> >roba che gira dalle tue parti.
>
> Nel senso che ti sniffi???
>
> >E se per un periodo abbassassi la media??? Solo
> >mentre non finisce quella robaccia.
>
> Se mentre il tuo distributore di fiducia si
> riapprovvigiona di roba buona
> tu ne prendessi meno? così per limitare i danni?
> Se vuoi ti presento il mio....
>
>
> Basta poteva essere di cattivo gusto, ma era solo
> questo.
> E' venerdì,
> fa caldo,
> ieri s'è fatto tardi...
> capiscimi...
> MAssimiliano
>
Ecco in questo caso se ti riposassi un po' di più gioverebbe sicuramente
alla tua salute, oltre che alla mia, eviteresti di offendere la gente, come
stai facendo, girando nei posts dove non hai nulla da dire.
Sei già intervenuto qualche giorno fa a sproposito, oggi ti ripeti. Ma chi
sei ?
Come ho spiegato all'interessanto (non tu), la mia era una forma di
solidararietà. Se una battuta è di cattivo gusto, preferisco che me lo dica
l'interessato, solo con lui posso scusarmi. Sono sicuro, però, che OneEDP è
una persona decisamente determinata per dirmelo direttamente, senza il
bisogno del sostegno di un aspirante avvocato moralista. Tra le altre cose
mi pare che OneEDP abbia interpretato le mie battute da drogato nel modo che
mi aspettavo.
In vita mia non ho mai fatto uso di droga di alcun tipo, nè preso sbronze e
non mi aspetto di sentirmelo dire in questo NG, senza motivazioni
particolari e soprattutto da chi non conosco.
Rileggiti tra qualche giorno, forse capirai di non essere un eletto.
Infine, se questo è il tuo NG, pazienza, navigherò altrove.
Grazie MAssimilano, te ne sono grato.
Ciao
Eugenio


text:
"Eugenio" <epiworld#_@_#
tiscali.it
> ha scritto nel
messaggio
news:cc4248$mtg$1...@lacerta.tiscalinet.it...
>
> > >
> > te lo ripropongo:
> >
> > > Avanti, china il crapone e fai il reportone.
> >
> > Questo secondo te è detto da uno che è sobrio.
> >
> > >Sono seriamente preoccupato della qualità
della
> > >roba che gira dalle tue parti.
> >
> > Nel senso che ti sniffi???
> >
> > >E se per un periodo abbassassi la media???
Solo
> > >mentre non finisce quella robaccia.
> >
> > Se mentre il tuo distributore di fiducia si
> > riapprovvigiona di roba buona
> > tu ne prendessi meno? così per limitare i
danni?
Rileggi con attenzione:
> > Se vuoi ti presento il mio....
Poi valuta tu.
Permalosetto...
MAssimiliano


text:
"Eugenio" <epiworld#_@_#
tiscali.it
> ha scritto nel messaggio
news:cc4248$mtg$1...@lacerta.tiscalinet.it...

Perché te la prendi così tanto.
I NG sono NG. Tutto ciò che si scrive è formato cartolina. Ci si può
aspettare tutto e prenderla con filosofia.
Cmq i toni sembrano pocho amichevoli anche quando non lo sono e i malintesi
sono all'ordine del giorno e possono avere effetti collaterali come quello
che sta succedendo in questo thread.
Si scherza o via.
E se qualcuno fa troppo sul serio che t'importa.
Ciao e buon riposo, io intanto qualche pippa mentale sui report dovrò
continuare a farla


text:
> >
> Perché te la prendi così tanto.
> I NG sono NG. Tutto ciò che si scrive è formato cartolina. Ci si può
> aspettare tutto e prenderla con filosofia.
> Cmq i toni sembrano pocho amichevoli anche quando non lo sono e i
malintesi
> sono all'ordine del giorno e possono avere effetti collaterali come quello
> che sta succedendo in questo thread.
> Si scherza o via.
> E se qualcuno fa troppo sul serio che t'importa.
> Ciao e buon riposo, io intanto qualche pippa mentale sui report dovrò
> continuare a farla
>
>
Francamente me la prendo fino ad un certo punto.
Mi prendo però il diritto, anche piacere se vuoi, di poter replicare a quei
signori che, come in questo caso, talvolta si muovono con spocchia e
arroganza qui dentro.
In passato è toccato ad altri, oggi a me. Forse questa mattina hanno
estratto il mio nome. Che sfiga!
Ciao e buon lavoro
Eugenio


text:
>
>
> Rileggi con attenzione:
>
> > > Se vuoi ti presento il mio....
>
>
> Poi valuta tu.
>
> Permalosetto...
> MAssimiliano
>
Ehe, ehe, ehe...
...da che pulpito.
Però deciditi a scegliere cosa farai da grande: l'avvocato moralista o il
vescovo (o preferisci cardinale? no, papa no)  che perennemente tuona dal
pulpito.
Sarò pure permalosetto, ma guarda che non ho iniziato io a interpretare male
le battute. Fatti un esame di coscienza.
Ma forse ieri sera ti hanno servito un pessimo vino e non è ancora in
circolo.
Adesso però finiamola qui.
Vuoi concedere alla "spina" capricciosa la parola fine?
Buona domenica
Ciao
Eugenio


text:
"Eugenio" <epiworld#_@_#
tiscali.it
> ha scritto nel messaggio
news:qJjFc.1336$Z57...@nntpserver.swip.net...

Tanto per la cronaca: stai sbagliando su tutti i fronti...
Ciao.
--
Sergio MAZZA


text:
>
> Tanto per la cronaca: stai sbagliando su tutti i fronti...
>
> Ciao.
>
> --
> Sergio MAZZA
>
>
Consiglio: leggi tutto il thread cronologicamente, senza dimenticare nessun
post e poi specifica quali sbagli. Vai all'origine dell'accaduto.
Non so se ho sbagliato, francamente non capisco ancora dove, forse per non
aver accettato di farmi dare del drogato da chi non conosco.
Tu Massimiliano lo conosci personalmente e quindi conosci la sua sottile
ironia, io no, ma sicuramente non sono obbligato ad accettarla. Ogni persona
ha il proprio grado di sensibilità. Cerca di essere obiettivo e dimentica
per un attimo di essere amico di Massimiliano. Non dirmi che tu non avresti
replicato?
Io vivo a Bergamo, lavoro a Milano e qui forse l'umorismo è diverso, ammetto
di non conoscere il vostro, semmai è diverso.
So però  faccio una battuta ad una persona e questa non gradisce o non
capisce, ho l'umiltà di chiedere almeno scusa. Mi risulta che "altri" invece
questo senso non l'hanno. Pazienza!
Non me ne volere Sergio, ma sei intervenuto, una replica mi spetta.
Ciao
Eugenio


text:
"Eugenio" <epiworld#_@_#
tiscali.it
> ha scritto nel messaggio
news:zrwFc.1436$Z57...@nntpserver.swip.net...

Stai sbagliando perché non hai capito lo spirito di questo NG; se ci fai
caso ogni tanto si sdrammatizza cazzeggiando un po', visto che non ci si
conosce e raramente ci si potrebbe vedere in faccia.
Ci si da del Tu già da subito; ci si da una mano in qualsiasi caso e ci si
prende in giro qualsiasi sesso - colore - età o latitudine ci divida.
Se non ti piace come scrive Massimiliano dillo subito senza giri di parole
ma non cercare il pelo nell'uovo per tirar sù cagnara.
Io ho letto tutto e non è che prendo le difese di Massimiliano; l'ho fatto
per altri che non si sono più visti (o forse hanno cambiato soprannome) e lo
farei per te se ritengo ci sia un comportamento non "consono" allo spirito
di questo NG.
E' tutto quì; se sei un tipo che non accetta questo atteggiamento, bene;
basta saperlo e non ci sono problemi.
Basta sempre essere chiari...
Ciao.
--
Sergio MAZZA


text:
> Stai sbagliando perché non hai capito lo spirito di questo NG; se ci fai
> caso ogni tanto si sdrammatizza cazzeggiando un po', visto che non ci si
> conosce e raramente ci si potrebbe vedere in faccia.
> Ci si da del Tu già da subito; ci si da una mano in qualsiasi caso e ci si
> prende in giro qualsiasi sesso - colore - età o latitudine ci divida.
> Se non ti piace come scrive Massimiliano dillo subito senza giri di parole
Sergio dimostri di non saper leggere. E' quello che ho fatto.
> ma non cercare il pelo nell'uovo per tirar sù cagnara.
> Io ho letto tutto e non è che prendo le difese di Massimiliano; l'ho fatto
> per altri che non si sono più visti (o forse hanno cambiato soprannome) e
lo
Come vedi, non è la prima volta. Io comunque continuo con il mio nome, e il
mio indirizzo.
> farei per te se ritengo ci sia un comportamento non "consono" allo spirito
> di questo NG.
> E' tutto quì; se sei un tipo che non accetta questo atteggiamento, bene;
> basta saperlo e non ci sono problemi.
>
> Basta sempre essere chiari...
>
> Ciao.
>
> --
> Sergio MAZZA
>
>
Ora però basta, perchè la cosa da noia anche a me.
Grazie Sergio, non sono d'accordo con te, ma va bene così.
Ciao
Eugenio


text:
"Eugenio" <epiworld#_@_#
tiscali.it
> ha scritto nel messaggio
news:ccb1nk$43j$1...@lacerta.tiscalinet.it...
---- omissis ----
>
> Sergio dimostri di non saper leggere. E' quello che ho fatto.
No comment.
> Ora perň basta, perchč la cosa da noia anche a me.
Idem con patate.
> Grazie Sergio, non sono d'accordo con te, ma va bene cosě.
Contento tu...
> Ciao
Ciao.
> Eugenio
--
Sergio MAZZA


title: Minore < - Maggiore  >   di valore testo

author: Mauro

text:
Ho questo problema, sembra stupido però non riesco a venirne a capo.
In un report devo formattare un valore a secondo di valori prelevati
dalla tabella da cui estraggo i valori da stampare che sono in formato
testo.
Ho fatto la classica espressione
=iif([rispostabreve] < [InfUomo] and [rispostabreve] > [supuomo]);" *
" & [rispostabreve] ; [rispostabreve])
che mette un asterisco vicino a tali valori non compresi, ma non
funiziona, chi sa dirmi il perchè ?
Spero di essere stato chiaro...
Vi ringrazio dell'aiuto
Mauro
-


author: namor

text:
Mauro ha scritto:
> Ho questo problema, sembra stupido perņ non riesco a venirne a capo.
> In un report devo formattare un valore a secondo di valori prelevati
> dalla tabella da cui estraggo i valori da stampare che sono in formato
> testo.
> Ho fatto la classica espressione
> =iif([rispostabreve] < [InfUomo] and [rispostabreve] > [supuomo]);" *
> " & [rispostabreve] ; [rispostabreve])
> che mette un asterisco vicino a tali valori non compresi, ma non
> funiziona, chi sa dirmi il perchč ?
> Spero di essere stato chiaro...
> Vi ringrazio dell'aiuto
> Mauro
> -
Non so cosa contengono i vari campi, ma forse devi usare un OR al posto
dell'AND?
Namor
--
namor at inwind punto it
questo articolo e` stato inviato via web dal servizio gratuito
http://www.newsland.it/news
 segnala gli abusi ad
ab...@newsland.it


text:
do...@spam.me
 (namor) wrote in message news:<d2gla4$1dk$
1...@news.newsland.it
>...
> Mauro ha scritto:
>
> > Ho questo problema, sembra stupido perņ non riesco a venirne a capo.
> > In un report devo formattare un valore a secondo di valori prelevati
> > dalla tabella da cui estraggo i valori da stampare che sono in formato
> > testo.
> > Ho fatto la classica espressione
> > =iif([rispostabreve] < [InfUomo] and [rispostabreve] > [supuomo]);" *
> > " & [rispostabreve] ; [rispostabreve])
> > che mette un asterisco vicino a tali valori non compresi, ma non
> > funiziona, chi sa dirmi il perchč ?
> > Spero di essere stato chiaro...
> > Vi ringrazio dell'aiuto
> > Mauro
> > -
>
> Non so cosa contengono i vari campi, ma forse devi usare un OR al posto
> dell'AND?
> Namor
Provato anche questo ma non funge


author: Bruno Campanini

text:
"Mauro" <
m.lo...@tin.it
> wrote in message
news:a3c95b4a.05033...@posting.google.com...
> Ho questo problema, sembra stupido perņ non riesco a venirne a capo.
> In un report devo formattare un valore a secondo di valori prelevati
> dalla tabella da cui estraggo i valori da stampare che sono in formato
> testo.
> Ho fatto la classica espressione
> =iif([rispostabreve] < [InfUomo] and [rispostabreve] > [supuomo]);" *
> " & [rispostabreve] ; [rispostabreve])
> che mette un asterisco vicino a tali valori non compresi, ma non
> funiziona, chi sa dirmi il perchč ?
Il Text Box nel cui Control Source si trova l'espressione
=IIf(.....) dove l'hai messo?
Collocato in Detail del report  ovvero in Page/Report Footer
deve funzionare.
Collocato in Page/Report  Header funziona quando ne ha voglia.
E se vuoi che ne abbia sempre voglia crea un campo con la
condizione nella query che poi riporti sul report.
Che messaggio di errore rilevi?
Bruno


text:
Mauro ha scritto:
>
do...@spam.me
 (namor) wrote in message news:<d2gla4$1dk$
1...@news.newsland.it
>...
> > Mauro ha scritto:
> > > Ho questo problema, sembra stupido però non riesco a venirne a capo.
> > > In un report devo formattare un valore a secondo di valori prelevati
> > > dalla tabella da cui estraggo i valori da stampare che sono in formato
> > > testo.
> > > Ho fatto la classica espressione
> > > =iif([rispostabreve] < [InfUomo] and [rispostabreve] > [supuomo]);" *
> > > " & [rispostabreve] ; [rispostabreve])
> > > che mette un asterisco vicino a tali valori non compresi, ma non
> > > funiziona, chi sa dirmi il perchè ?
> > > Spero di essere stato chiaro...
> > > Vi ringrazio dell'aiuto
> > > Mauro
> > Non so cosa contengono i vari campi, ma forse devi usare un OR al posto
> > dell'AND?
> > Namor
> Provato anche questo ma non funge
Dovresti fare un esempio scrivendo per 4-5 record i valori contenuti nei
campi [rispostabreve]  [InfUomo]  [supuomo]  altrimenti non si riesce a
capire perchè non funziona. Qualcuno dei 3 è vuoto?



title: Aggiornare caption di textbox

author: Giulio Severini

text:
Ciao, nella maschera continua dove faccio inserire i num. di tel e gli
indirizzi email vorrei che a fianco della textbox dell'inserimento ci
fosse una laberìl/textbox che indicasse il numero del record corrente.
Cioè se è la prima email deve segnare 1 se è la seconda 2 e così
via, in modo che l'utente sappia quante ne ha inserite
Come si fa?
Grazie :)


title: Aggiornare caption di textbox

author: Gaspare

text:
[CUT]
Private Sub Form_Current()
   NomeLabel.Caption = Me.CurrentRecord
End Sub


title: Aggiornare caption di textbox

author: Roberto dalla campagna

text:
"Giulio Severini" <
fenic...@hotmail.com
> ha scritto nel messaggio
news:1119034661....@g14g2000cwa.googlegroups.com...

Non sono sicuro di aver capito completamente cosa ti serve, ma se vuoi
numerare progressivamnete le righe di una sottomaschera continua, vai sul
Sito Comune (link qui sotto) e dalla Sezione Forms fai il download del
database allegato alla FAQ intitolata "3.28 Esempi di creazione ed utilizzo
delle maschere in Access 97"; apri il database scaricato e visualizza il
topic intitolatao Displaying Line Numbers on SubForm Records.
Se usi una versione di Access successiva ad Access 97 prova con la FAQ
intitolata "3.78 Esempi di creazione ed utilizzo delle maschere per Access
2000 e versioni di Access successive".
>
>Grazie :)
--
Roberto
-----------------------------------------------------
il Sito Comune di it.comp.appl.access
http://www.sitocomune.com
----------------------------------------------------


title: Aggiornare caption di textbox

text:
Ciao Gasp, però credo che in questo modo venga aggiornata sempre e
solo UNA label mentre io vorrei UNA label per OGNI RIGA presente nella
maschera :)


title: Aggiornare caption di textbox

author: Carlo Costarella

text:
"Giulio Severini" <
fenic...@hotmail.com
> ha scritto nel messaggio
news:1119100659....@g43g2000cwa.googlegroups.com...
Ciao Gasp, però credo che in questo modo venga aggiornata sempre e
solo UNA label mentre io vorrei UNA label per OGNI RIGA presente nella
maschera :)
Roberto da casa ha risposto ad un posto simile... proprio ieri o oggi...non
ricordo
La soluzione la trovi su
www.sitocomune.com
Ciao, Carlo


title: Aggiornare caption di textbox

text:
Infatti ora lo scarico e vedo l'esempio :)
Grazie!!


title: aggiornamento tabella db3 in access

author: il barbi

text:
Per ragioni di comodità ho fatto un report Access basato su una query che
collega alcune tabelle importate da altrettanti .dbf DBIII+, quindi presumo
che alla fine dell'importazione mi ritrovo nel mio DB Access delle tabelle
Access convertite da quelle originali DBIII+.
Ora il mio problema e' come fare per mantenere l'allineamento fra le tabelle
originali DBIII+, che continuano ad essere aggiornate con un vecchio
programma di gestione, e le relative tabelle-copia del DB Access. Ossia
all'atto dell'apertura del report dovrei eseguire l'aggiornamento delle
tabelle. Qualcuno ha qualche idea?
grazie dal barbi


title: aggiornamento tabella db3 in access

text:
"il barbi" <
barbi...@libero.it
> ha scritto nel messaggio
news:ydZF5.11697$Nz.2...@news.infostrada.it...
> Per ragioni di comodità ho fatto un report Access basato su una query che
> collega alcune tabelle importate da altrettanti .dbf DBIII+, quindi
presumo
> che alla fine dell'importazione mi ritrovo nel mio DB Access delle tabelle
> Access convertite da quelle originali DBIII+.
rettifico: successivamente ho creato la query con carica dati esterni -
collega tabelle, e così mi trovo automaticamente la query aggiornata ogni
volta che faccio il report
il barbi


title: aggiornamento tabella db3 in access

author: Silvio Berruti

text:
"il barbi" <
barbi...@libero.it
> ha scritto nel messaggio
news:ydZF5.11697$Nz.2...@news.infostrada.it...
> Per ragioni di comodità ho fatto un report Access basato su una query che
> collega alcune tabelle importate da altrettanti .dbf DBIII+, quindi
presumo
> che alla fine dell'importazione mi ritrovo nel mio DB Access delle tabelle
> Access convertite da quelle originali DBIII+.
> Ora il mio problema e' come fare per mantenere l'allineamento fra le
tabelle
> originali DBIII+, che continuano ad essere aggiornate con un vecchio
> programma di gestione, e le relative tabelle-copia del DB Access. Ossia
> all'atto dell'apertura del report dovrei eseguire l'aggiornamento delle
> tabelle. Qualcuno ha qualche idea?
Invece di importarle tutte le volte allegale al .MBD come se si trattasse di
tabella Access e, purché tu non stia utilizzando A2000 (pare), riuscirai ad
accedere in lettura e in scrittura.
Ciao
--
Silvio
il sito comune di it.comp.appl.access:
http://members.xoom.it/it_db_access


Ciao a tutti!!
ho un piccolo problema da risolvere, recuperare il primo valore di una
casella combinata, quello che st� in cima alla lista della terza colonna, e
fargli fare un test per vedere se all'interno della stringa contiene la
parola "ferie"
io ho provato:
If me.lstgiorno.listindex(0).column(2) like "*" & "ferie" &"*"  then
.....
codice
....
End if
ma ovviamente non va


title: il primo valore di una casella combinata

author: Karl Donaubauer

text:

If Me!lstgiorno.Column(2, 0) Like "*" & "ferie" & "*" Then
--
HTH
Karl
*********
Access FAQ:
www.donkarl.com/it


text:
"Karl Donaubauer" <
NoS...@donkarl.com
> ha scritto nel messaggio
news:7fqvnpF...@mid.individual.net...

Grazie Karl


title: Stampa di query o maschere

author: Luca Brusco

text:
Salve...
sono un novizio e staro' chiedendo cose banali, ma ho bisogno di aiuto o non
ce ne salto fuori :)
Come faccio a stampare i risultati di una query di ricerca, una volta che la
query e' stata eseguita?
La query non e' fissa, ma chiede il valore da ricercare alla sua apertura,
solo a questo punto, se si vuole, va stampata...
Spero di essermi spiegato, gia quello e' un problema...
Grazie mille a chiunque vorra' provare ad aiutarmi!
Luca


title: Stampa di query o maschere

author: oliones

text:
Luca Brusco <
lu...@digitalfog.net
> wrote in message
9it030$41f$1...@news.ngi.it...
> Salve...
> sono un novizio e staro' chiedendo cose banali, ma ho bisogno di aiuto o
non
> ce ne salto fuori :)
> Come faccio a stampare i risultati di una query di ricerca, una volta che
la
> query e' stata eseguita?
solitamente per stampare qualcosa devi usare i report
> La query non e' fissa, ma chiede il valore da ricercare alla sua apertura,
> solo a questo punto, se si vuole, va stampata...
dovresti:
1 creare una maschera dove inserisci i valori da ricercare nella query
2 dire alla query che deve ricercare i valori specificati nella mashcera
3 crea un report basato sulla query
4 inserisci nella maschera creata al punto 1 un pulsante che apre il report
(in anteprima!?!)
buon lavoro
ps
il tutto è abbastanza facile in quanto access ti aiuta con le
autocomposizioni


title: Stampa di query o maschere

author: Belli Daniele

text:
> Come faccio a stampare i risultati di una query di ricerca, una volta che
la
> query e' stata eseguita?
> La query non e' fissa, ma chiede il valore da ricercare alla sua apertura,
> solo a questo punto, se si vuole, va stampata...
Prova un novizio al 2° livello :-)
Crea un report in autocomposizione partendo dalla query in questione e
lancia il report.!
batti un colpo se va bene.


title: Stampa di query o maschere

text:
Si, funziona, ma non è quello che vorrei ottenere...
quando lancio il report, mi chiede il parametro da ricercare nella query, io
invece voglio eseguire e visualizzare la query, e DOPO, se i risultati mi
interessano, mandarli semplicemente in stampa, ovviamente con un formato,
un'impaginazione ecc., da me scelto....
Belli Daniele <
Bel...@mclink.it
> wrote in message
9iugnj$lij$1...@news.mclink.it...



title: Stampa di query o maschere

text:
Ti ringrazio molto per l'aiuto...ma proprio perche' alquanto alle prime
armi, ora devo chiederti spiegazioni su quello che mi hai consigliato...
Come faccio a dire alla query di cercare i valori specificati nella
maschera?
E comunque, forse il problema mi si ripropone...perche' io vorrei prima
eseguire la query, vederne i risultati (magari da li si effettuano modifiche
ecc., e quello lo so fare :-)) con una maschera che ho creato, e solo
allora, se mi interessano, stamparne il report, ma a questo punto, anche se
la query e' gia stata eseguita, se io lancio il report fatto su di essa, mi
viene nuovamente richiesto il valore da ricercare...e sono daccapo...
Spero di essermi spiegato, che dura iniziare :)
Grazie di nuovo!
Luca
oliones <
oli...@tiscalinet.it
> wrote in message
9iu6ji$fcp$1...@pegasus.tiscalinet.it...



title: Stampa di query o maschere

author: Liones

text:
Luca Brusco <
lu...@digitalfog.net
> wrote in message
9ivl7r$djr$1...@news.ngi.it...
> Ti ringrazio molto per l'aiuto...ma proprio perche' alquanto alle prime
> armi, ora devo chiederti spiegazioni su quello che mi hai consigliato...
> Come faccio a dire alla query di cercare i valori specificati nella
> maschera?
apri la query in struttura ed elimina tutti parametri che hai inserito
(in tal modo quando esegui la query non ti chide nessun parametro)
per far partire la query dai dati che sono sulla maschera deve aprire in
struttura la query e nei criteri scrivi
[Forms]![NomeMaschera]![NomeMaschera]
Attenzione varia NomeMaschera e NomeMaschera con i tuoi
ora puoi far eseguire il report
(il report non deve essere per forza inviato direttamente alla stampante ma
puoi anche visualizzarlo in anteprima e se non va mdoifichi i dati (da una
maschera non dal report) e riesegui il tutto



title: Maschera basata su query!

author: Roberto

text:
Come posso modificare i dati in risposta di una
maschera basata su query (con origine dei dati
la query stessa)?


title: Maschera basata su query!

author: Roberto da casa

text:
"Roberto" <
robyr...@inwind.it
> ha scritto nel messaggio
news:MF5H8.733$KG6....@twister2.libero.it...
> Come posso modificare i dati in risposta di una
> maschera basata su query (con origine dei dati
> la query stessa)?
Se hai creato la query ed hai creato la maschera che ha come origine record
la query, quale č il tuo problema?
Non dovrebbe esistere problema, a meno che la query non sia tale da
risultare un recordset non aggiornabile (query di raggruppamento, query
basata su due o piů tabelle e vuoi aggiornare un campo della tabella sul
lato uno, query a campi incrociati, ecc. ecc.).
--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------


title: Contrassegnare altri record di un intervallo come il record posto alla fine dell'intervallo

author: Davide

text:
Ho una tabella(di un  mdb access97) con una serie di record con un campo
numerico progressivo,
sempre in questa tabella c'è un campo vuoto,che dopo n record
contrassegno con una lettera per es. A , dopo una altra serie di record
con una altra lettera B e così via.
Quindi ottengo il record n. 1,2,3,4,5, mentre il sesto record ,nel campo
vuoto presenta la
Lettera A(come potrebbe essere una serie di asterischi o altro), poi il
record n.7,8,9,10,11,12,13,14,15,16,17,18,19,
mentre il ventesimo record, nel campo vuoto presenta la lettera B(potrebbe
essere anche una altra lettera o ben altro
questo non mi interessa)e così per tutti i record della tabella.
Poi sempre in base all'ordine del campo progressivo tutti i record
contrassegnati
li accodo in un'altra tabella: record n.6, il record n. 20 e così via per
tutti i record
contrassegnati.  E fino qui ci siamo.
La domanda è: se l' intervallo di record tra un record contrassegnato e un
altro
supera un certo numero che io stabilisco, come posso avere  altri records
contrassegnati come il record della fine dell'intervallo? Es. stabilisco che
se l'intervallo tra un record contrassegnato ed un altro supera i tre record
voglio altri record nell'intervallo contrassegnati come il record dell'
estremo dell'intervallo prendiamo
come esempio l'intervallo di record tra il record n. 6 e il record n.
20,dove ci sono
tredici record, quindi voglio contrassegnare come il record n. 20 il n. 9
,12, 15,17
perché l'intervallo(tra il record n.6 e il n. 20)supera i tre record e nello
stesso tempo
contrassegno(sempre come il record n.20) un certo numero di record all'
interno dell'intervallo ,creando una serie di intervalli(sempre all'interno
dell'intervallo che stiamo prendendo in esame)che non superino i tre
record.Spero di essere stato chiaro.
Un Saluto  a Tutti                 Davide


author: Alberto S.

text:
[cut]
>La domanda č: se l' intervallo di record tra un record contrassegnato e un
>altro
>supera un certo numero che io stabilisco, come posso avere  altri records
>contrassegnati come il record della fine dell'intervallo? Es. stabilisco che
[cut]
Ipotizziamo:
la tabella si chiama 'tblRighe'
i campi che ci interessano si chiamano 'lngInd' (la numerazione) e
'chrMark'(il campo *lettera*)
La soluzione che io adotterei č
a) in un modulo la seguente funzione di J.L.Viescas
***
Function IsNothing(varToTest As Variant) As Integer
'Autore: J. L. Viescas
   IsNothing = True
   Select Case VarType(varToTest)
        Case vbEmpty
            Exit Function
        Case vbNull
            Exit Function
        Case vbBoolean
            If varToTest Then IsNothing = False
        Case vbByte, vbInteger, vbLong, vbSingle, vbDouble, vbCurrency
            If varToTest <> 0 Then IsNothing = False
        Case vbDate
            IsNothing = False
        Case vbString
            If (Len(varToTest) <> 0 And varToTest <> " ") Then
IsNothing = False
   End Select
End Function
***
b) Abbinata all'evento 'su click' di un pulsante chiamato
'cmdNormalizza' quest'altra routine:
***
Private Sub cmdNormalizza_Click()
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim strSql As String
Dim lngCnt As Long
Dim lngIndTmp As Long
dim lngStep as Long
Dim strMarkTmp As String
    lngStep = 3 + 1
    strSql = "Select lngInd, chrMark " _
        & "FROM tblRighe ORDER BY lngInd"
    Set db = CurrentDb
    Set rs = db.OpenRecordset(strSql)
    rs.MoveFirst
    Do
        If IsNothing(rs!chrMark) Then
                lngCnt = lngCnt + 1
            Else
                lngCnt = 0
        End If
        If lngCnt = lngStep Then
            lngIndTmp = rs!lngInd
            Do
                rs.MoveNext
                If rs.EOF Then
                    GoTo Exit_cmdNormalizza_Click
                End If
                If Not (IsNothing(rs!chrMark)) Then
                    strMarkTmp = rs!chrMark
                    rs.FindPrevious "[lngInd] = " _
                        & lngIndTmp
                    rs.Edit
                    rs!chrMark = strMarkTmp
                    rs.Update
                    lngCnt = 0
                    Exit Do
                End If
            Loop
        End If
        rs.MoveNext
    Loop Until rs.EOF
Exit_cmdNormalizza_Click:
    rs.Close
    db.Close
    Set rs = Nothing
    Set db = Nothing
End Sub
***
c) devi ovviamente in VBA impostare i riferimenti a DAO.
Ho fatto alcune prove: mi sembra che vada - spero di non aver fatto
grosso cavolate. Ma - come diceva ai bei tempi Lubrano - la domanda
sorge spontanea: cosa succede se - per esempio - gli ultimi dieci
record hanno tutti il campo 'chrMark' vuoto?
Ciao
--
Alberto
No alle guerre


text:
Alberto S. <
sartori.SPA...@tin.it
> wrote in message
u5o5bvsn2oeud3m5e...@4ax.com...

>Ciao, Alberto
>Ok funziona,solo che ho dimenticato
>di specificare nella domanda
>che i campi sono tre da  contrassegnare, come il record della fine dell'
intervallo:
>chrmark , chrmark1, chrmark2(non solo contrassegnare il campo chrmark,
>ma anche i campi chrmark1, chrmark2 sono da contrassegnare,
>sempre con il contenuto dei campi chrmark1, chrmark2 del record della
>fine dell'intervallo).Premetto che il campo chrmark2 del record della
>fine dell'intervallo potrebbe anche essere vuoto non sempre c'č scritto
>qualcosa a differenza degli altri due campi.
>Come si puň fare?
>Un saluto Davide


text:
[cut]
>>Ciao, Alberto
>>Ok funziona,solo che ho dimenticato
>>di specificare nella domanda
>>che i campi sono tre da  contrassegnare, come il record della fine dell'
>intervallo:
>>chrmark , chrmark1, chrmark2(non solo contrassegnare il campo chrmark,
>>ma anche i campi chrmark1, chrmark2 sono da contrassegnare,
>>sempre con il contenuto dei campi chrmark1, chrmark2 del record della
>>fine dell'intervallo).Premetto che il campo chrmark2 del record della
>>fine dell'intervallo potrebbe anche essere vuoto non sempre c'è scritto
>>qualcosa a differenza degli altri due campi.
>>Come si può fare?
>>Un saluto Davide
Se ho capito bene ci sono tre campi (visti graficamente tre colonne)
da processare ognuna autonomamente rispetto alle altre. Se è così
dovresti solo fare in modo che la sub che ti ho suggerito cicli uno
dopo l'altro i tre campi (ovviamente non scrivendo tre volte il
codice): te la senti di provarci, eventualmente chiedendo aiuto nei
punti critici?
Non ho invece capito il passo 'il campo chrmark2 del record della
fine dell'intervallo potrebbe anche essere vuoto'.
Fammi/facci sapere.



text:
Alberto S. <
sartori.SPA...@tin.it
> wrote in message
2n08bv4kn8al7olgd...@4ax.com...

>Ciao, Alberto
>Hai capito bene le colonne sono tre.
>Per ciclare i tre campi in che modo
>posso utilizzare il do......loop del campo chrmark
>o meglio quale è la sintassi giusta per farci entrare
>anche gli altri due campi?
>Ho devo utilizzare un'altra istruzione? e
>in che punto della routine?
>Nella variabile strsql nell'istruzione select
>devo anche aggiungere i campi chrmark1 e chrmark2?
>Un saluto Davide


text:
[cut]
>>Ciao, Alberto
>>Hai capito bene le colonne sono tre.
esempio di quello che volevo dire:
data una tabella di partenza
***
lngInd chrMark chrMark1 chrMark2
001       -       C        -
002       -       -        -
002       -       -        B
004       -       -        -
005       A       -        -
006       -       -        -
007       -       -        -
008       -       Z        -
***
'chrMark': inserirai 'A' al record n° 4
'chrMark1': inserirai 'Z' al record n° 5
'chrMark2': nessun inserimento (ti resterà un buco di 5 posizioni)
È questo quello che intendi?
E come lo concilii con quanto hai detto inizialmente (Poi sempre in
base all'ordine del campo progressivo tutti i record contrassegnati
li accodo in un'altra tabella)?
>>Per ciclare i tre campi in che modo
>>posso utilizzare il do......loop del campo chrmark
>>o meglio quale è la sintassi giusta per farci entrare
>>anche gli altri due campi?
>>Ho devo utilizzare un'altra istruzione? e
>>in che punto della routine?
>>Nella variabile strsql nell'istruzione select
>>devo anche aggiungere i campi chrmark1 e chrmark2?
Sì, diventerà "SELECT ... chrMark, chrMark1 ...", poi io la parte che
cicla il recordset la porterei in una terza routine che richiamerei
tre volte, facendola riferire a chrMark, poi a chrMark1 poi a chrMark2
(nella guida in linea guarda Recordset/proprietà recordset/DAO
recordset/fields/field)
... sempre che sia giusto quanto ho ipotizzato nel paragrafo
precedente ...
hei, prova a lavorarci un po' sopra ma se non ci vai in fondo chiedi
...



text:
Alberto S. <
sartori.SPA...@tin.it
> wrote in message
es3abv0739aj9u54q...@4ax.com...

>Ciao, Alberto
>Intanto faccio degli esempi grafici per essere più chiaro.
>La tabella presenta una serie di record che hanno una serie di campi(tra i
quali
>ci  sono anche i campi  chrMark  , chrMark1 ,  chrMark2),dopo un certo
numero di record,
>abbiamo la presenza di record con i campi chrMark  , chrMark1 ,  chrMark2,
>contrassegnati da un contenuto(solo che certe volte il contenuto
>del campo chrmark2 non è contrassegnato da niente vedere esempio n.1).
>Poi in base alla variabile lngstep della routine che mi hai proposto
>è possibile contrassegnare con lo stesso contenuto di chrmark,
>il campo chrmark dei record interposti  a quelli  contrassegnati sempre
>nello stesso campo,vedere secondo esempio,è funziona
Esempio n.1
lngInd           C1   C2    C3     chrMark chrMark1 chrMark2
001
002 - - -                                      A               B
C         Il record contrassegnato può essere così
002
004 - - -
005
006 - - -
007 - - -
008                                              M                N
Il record contrassegnato può essere anche così
009
010
011
>se per esempio impostiamo la  variabile   lngstep=2+1
>della routine che mi hai proposto avremo contrassegnato
>il campo chrmark dei record interposti nell'intervallo(delimitato
>dai record contrassegnati nei campi chrMark, chrMark1, chrMark2)
>Come si può vedere dalla figura n.2 .Solo che vorrei fare la stessa
>anche per i campi chrMark1, chrMark2(vedere figura n.3)
>Solo che nella routine non riesco a far riferimento ai
>Campi: chrmarch, chrmark1,chrmark2.
>Come si può fare?La guida in linea non mi rimane molto chiara.
>Un saluto Davide
Esempio n.2
lngInd           C1   C2    C3     chrMark chrMark1 chrMark2
001
002
003                                A
004
005
006                                 A
007                                 A               B               C
008
009
010                                 M
011
012
013                                 M                N
014
015
016
*****
figura n.3
lngInd           C1   C2    C3     chrMark chrMark1 chrMark2
001
002
003                                A                B               C
004
005
006                                 A               B               C
007                                 A               B               C
008
009
010                                 M              N
011
012
013                                 M               N
014
015
016
*****


text:
>> [cut]
>> >>Ciao, Alberto
>> >>Hai capito bene le colonne sono tre.
>>
[cut]
>>anche per i campi chrMark1, chrMark2(vedere figura n.3)
>>Solo che nella routine non riesco a far riferimento ai
>>Campi: chrmarch, chrmark1,chrmark2.
>>Come si può fare?La guida in linea non mi rimane molto chiara.
>>Un saluto Davide
[cut]
Ciao, ho dato un'occhiata ai tuoi esempi ma non sono sicuro di aver
capito bene (a proposito, usa quando scrivi un carattere proporzionale
- tipo courier new - così sarà più facile anche per chi legge
mantenere l'incolonnamento).
Comunque ... riprendendo l'esempio che ho fatto io, se partiamo da una
tabella così (il segno '-' sta per vuoto):
 lngInd chrMark chrMark1 chrMark2
  001       -       C        -
  002       -       -        -
  002       -       -        B
  004       -       -        -
  005       A       -        -
  006       -       -        -
  007       -       -        -
  008       -       Z        -
arriveremmo - dopo l'elaborazione - a
 lngInd chrMark chrMark1 chrMark2
  001       -       C        -
  002       -       -        -
  002       -       -        B
  004       A       -        -
  005       A       Z        -
  006       -       -        -
  007       -       -        -
  008       -       Z        -
È corretto?
Se sì prova a lavorare su queste righe di esempio:
Dim strMarkTmp As String
   strMarkTmp = "chrMark1"
   rs.Fields(strMarkTmp) = "A"
Fammi sapere ...



text:
Alberto S. <
sartori.SPA...@tin.it
> wrote in message
5j4gbvc0rs74vdre7...@4ax.com...

Ciao , Alberto
Se partiamo da una tabella
così (il segno '-' sta per vuoto):
lngInd chrMark chrMark1 chrMark2
001        -             -                  -
002        -             -                  -
003        -             -                  -
004        -             -                  -
005        A           B                 C
006        -             -                  -
007        -             -                  -
008        -             -                  -
009        -             -                  -
010        -             -                  -
011        G            K                L
lo scopo è quello di arrivare a una tabella
come la seguente, ipotizzando per esempio che la variabile
"lngstep",della routine che mi hai proposto
sia = 2+1
lngInd chrMark chrMark1 chrMark2
001        -               -               -
002        A             B              C
003        -               -               -
004        -               -               -
005        A             B              C
006        -               -               -
007        -               -                -
008        G             K               L
009        -              -                 -
010        -              -                 -
011        G            K                L
Che adesso ottengo, ma con tre
Pulsanti di comando,
ognuno dei quali attiva la routine,che
cicla i campi. Il pulsante n. 1 attiva la routine che
Cicla il campo chrMark
Il pulsante n. 2 attiva la routine che
Cicla il campo chrMark1
Il pulsante n. 3 attiva la routine che
Cicla il campo chrMark2.
La stessa cosa la vorrei fare con un
unico pulsante.Come si potrebbero
impostare le routine per fare questo?
Un saluto. Davide


text:
[cut]
>Se partiamo da una tabella
>così (il segno '-' sta per vuoto):
>lngInd chrMark chrMark1 chrMark2
>001        -             -                  -
>002        -             -                  -
>003        -             -                  -
>004        -             -                  -
>005        A           B                 C
>006        -             -                  -
>007        -             -                  -
>008        -             -                  -
>009        -             -                  -
>010        -             -                  -
>011        G            K                L
[cut]
... ooooh!, quittivolevo ... (finalmente!)
ogni record può avere
- o compilati tutti e tre i campi 'mark'
- oppure tutti e tre vuoti
ho capito bene?
[cut]
>Che adesso ottengo, ma con tre
>Pulsanti di comando,
[cut]
>La stessa cosa la vorrei fare con un
>unico pulsante.Come si potrebbero
>impostare le routine per fare questo?
Confermami se ho capito giusto. Poi - mi aspettano un paio di giorni
de fuego - se ci riesco domenica provo a metterti giù una routine (che
a questo punto sarà anche più semplice di quello che pensavo).
Ovviamente do per scontato che tu sappia come gestire - e
neutralizzare - la possibilità che ci siano dei record 'irregolari',
tipo:
 006   A   -    H
 008   -   B    C
Questo è molto importante perché altrimenti si rischiano dei risultati
*strani*.



text:
Alberto S. <
sartori.SPA...@tin.it
> wrote in message
2c8lbv0pc362ii26v...@4ax.com...

>Ciao ,Alberto
>"ogni record può avere
 >o compilati tutti e tre i campi 'mark'
>oppure tutti e tre vuoti
>ho capito bene?" Si è proprio così.
>Grazie alle tabelle dell'ultimo
>messaggio sono riuscito a farti
>capire quello che intendevo fare.
>Purtroppo gli esempi grafici del
>penultimo messaggio mi si sono tutti
>scombinati, non avendo usato lo stile
>di scrittura adatto.
>Un saluto. Davide


text:
[cut]
>
>>"ogni record puň avere
> >o compilati tutti e tre i campi 'mark'
>>oppure tutti e tre vuoti
>>ho capito bene?" Si č proprio cosě.
>>Grazie alle tabelle dell'ultimo
>>messaggio sono riuscito a farti
>>capire quello che intendevo fare.
>>Purtroppo gli esempi grafici del
>>penultimo messaggio mi si sono tutti
>>scombinati, non avendo usato lo stile
>>di scrittura adatto.
>>Un saluto. Davide
Ciao,
allora ho modificato la routine secondo le tue indicazioni (poi,
siccome sono un 'rompiballe' ;), ho inserito anche un controllo sulla
coerenza dei dati: se non rispondono allo schema che tu hai indicato
c'č un messaggio di avviso e l'aggiornamento non viene eseguito).
Ovviamente potresti anche gestire in un modo piů sofisticato la
presenza di record 'anomali'.
***
Private Sub cmdNormalizza_Click()
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim strSql As String
Dim lngCnt As Long
Dim lngIndTmp As Long
Dim lngStep As Long
Dim strMarkTmp As String
Dim strMark1Tmp As String
Dim strMark2Tmp As String
    lngStep = 3 + 1
    strSql = "Select lngInd, chrMark, " _
        & "chrMark1, chrMark2 " _
        & "FROM tblRighe ORDER BY lngInd"
    Set db = CurrentDb
    Set rs = db.OpenRecordset(strSql)
'Controllo coerenza dati
    rs.MoveFirst
    Do
        If isNothing(rs!chrMark) Then
                If Not (isNothing(rs!chrMark1)) Or _
                    Not (isNothing(rs!chrMark2)) Then
                        MsgBox "Dati incoerenti"
                        GoTo Exit_cmdNormalizza_Click
                End If
            Else
                If isNothing(rs!chrMark1) Or _
                    isNothing(rs!chrMark2) Then
                        MsgBox "Dati incoerenti"
                        GoTo Exit_cmdNormalizza_Click
                End If
        End If
        rs.MoveNext
    Loop Until rs.EOF
'Eseguo normalizzazione
    rs.MoveFirst
    Do
        If isNothing(rs!chrMark) Then
                lngCnt = lngCnt + 1
            Else
                lngCnt = 0
        End If
        If lngCnt = lngStep Then
            lngIndTmp = rs!lngInd
            Do
                rs.MoveNext
                If rs.EOF Then
                    GoTo Exit_cmdNormalizza_Click
                End If
                If Not (isNothing(rs!chrMark)) Then
                    strMarkTmp = rs!chrMark
                    strMark1Tmp = rs!chrMark1
                    strMark2Tmp = rs!chrMark2
                    rs.FindPrevious "[lngInd] = " _
                        & lngIndTmp
                    rs.Edit
                    rs!chrMark = strMarkTmp
                    rs!chrMark1 = strMark1Tmp
                    rs!chrMark2 = strMark2Tmp
                    rs.Update
                    lngCnt = 0
                    Exit Do
                End If
            Loop
        End If
        rs.MoveNext
    Loop Until rs.EOF
Exit_cmdNormalizza_Click:
    rs.Close
    db.Close
    Set rs = Nothing
    Set db = Nothing
End Sub
***
Fammi sapere come va.



text:
Alberto S. <
sartori.SPA...@tin.it
> wrote in message
l5dtbvseb3cnu5fde...@4ax.com...
> [cut]
> >
> >>"ogni record può avere
> > >o compilati tutti e tre i campi 'mark'
> >>oppure tutti e tre vuoti
> >>ho capito bene?" Si è proprio così.
> >>Grazie alle tabelle dell'ultimo
> >>messaggio sono riuscito a farti
> >>capire quello che intendevo fare.
> >>Purtroppo gli esempi grafici del
> >>penultimo messaggio mi si sono tutti
> >>scombinati, non avendo usato lo stile
> >>di scrittura adatto.
> >>Un saluto. Davide
>
> Ciao,
> allora ho modificato la routine secondo le tue indicazioni (poi,
> siccome sono un 'rompiballe' ;), ho inserito anche un controllo sulla
> coerenza dei dati: se non rispondono allo schema che tu hai indicato
> c'è un messaggio di avviso e l'aggiornamento non viene eseguito).
> Ovviamente potresti anche gestire in un modo più sofisticato la

>Ciao, Alberto
>ho provato la tua routine,
>funziona!,ho superato anche la trappola
>che mi avevi messo con l'apparizione della
>finestra che annunciava "dati incoerenti".
>Comunque ti ringranzio sempre per la tua disponibilità,
>c'è però  un ultima cosa,che avevo proposto nel primo messaggio,
>che poi non ho più proposto per non creare troppa confusione,
>ma preferisco trattarla adesso,sempre con l'aiuto degli esempi
>grafici,sempre se è possibile farla.
>Se partiamo da una tabella
>così (il segno '-' sta per vuoto):
>lngInd chrMark chrMark1 chrMark2
>001        -       -       -
>002        -       -       -
>003        -       -       -
>004        -       -       -
>005        A       B    C
>006        -       -       -
>007        -       -       -
>008        -       -       -
>009        -       -       -
>010        -       -       -
>011        -       -       -
>012        -       -       -
>013        -       -       -
>014        -       -       -
>016        -       -       -
>017        -       -       -
>018        -       -       -
>019        G       K    L
>con l'attuale routine otteniamo, ipotizzando per esempio che la variabile
>"lngstep",della routine che mi hai proposto
>sia = 2+1,questa tabella:
>lngInd chrMark chrMark1 chrMark2
>001        -       -          -
>002        -       -          -
>003        A       B       C
>004        -         -        -
>005        A       B       C
>006        -         -        -
>007        -         -        -
>008        G       K       L
>009        -         -        -
>010        -         -        -
>011        G       K       L
>012        -         -        -
>013        -         -        -
>014        G       K       L
>015        -         -        -
>016        -         -        -
>017        G       K       L
>018        -         -        -
>019        G       K       L
>osservando la tabella giustamente in base
>alla variabile lngind, avendo come input
>il numero 2, alla fine ci lascia un record
>senza i campi marcati.(il record 018).
>La domanda è questa: è possibile avere all'interno
>dell'intervallo più intervalli,(sempre stabiliti dall'input
>che si da a lngind)tutti uguali, senza quel piccolo residuo
>alla fine?Mi spiego meglio ,se ho una tabella con 50 record
>e stabilisco che lngind è 6 ,avrò una serie di intervalli
>che non superano i sei record,ma l'ultimo intervallo sarà
>di soli due record,come è possibile avere una serie di intervalli,
>sempre che non superano i sei record,ma più uniformi,senza quel
>piccolo residuo finale,che abbiamo appena visto?
>Spero di essere stato chiaro.
>Un saluto. Davide


text:
[cut]
>>Ciao, Alberto
>>ho provato la tua routine,
>>funziona!,ho superato anche la trappola
>>che mi avevi messo con l'apparizione della
>>finestra che annunciava "dati incoerenti".
Invece di trappola io userei una terminologia un po' più tecnica:
"sistema per pararsi il culo"
[cut]
>>alla fine?Mi spiego meglio ,se ho una tabella con 50 record
>>e stabilisco che lngind è 6 ,avrò una serie di intervalli
>>che non superano i sei record,ma l'ultimo intervallo sarà
>>di soli due record,come è possibile avere una serie di intervalli,
>>sempre che non superano i sei record,ma più uniformi,senza quel
>>piccolo residuo finale,che abbiamo appena visto?
>>Spero di essere stato chiaro.
Chiarissimo. Però voglio pensarci un po' con calma: c'è ancora
qualcosa che non mi sfrinfola. Mi farò vivo tra qualche giorno (ho dei
"lavoretti" urgenti per Giulio <Tremonti - sigh!>)
>>Un saluto. Davide



text:
[cut]
>>alla fine?Mi spiego meglio ,se ho una tabella con 50 record
>>e stabilisco che lngind è 6 ,avrò una serie di intervalli
>>che non superano i sei record,ma l'ultimo intervallo sarà
>>di soli due record,come è possibile avere una serie di intervalli,
>>sempre che non superano i sei record,ma più uniformi,senza quel
>>piccolo residuo finale,che abbiamo appena visto?
Non riesco a *localizzare* al tua base dati (non so di cosa si tratta,
come sono caricati, a che scopo sono elaborati); per questo motivo
provo a sparare qualche idea.
***
Oltre a 'lngStep', che sta ad indicare l'intervallo massimo, si
potrebbe anche impostare 'lngStepMin', che ovviamente indica
l'intervallo minimo desiderato.
***
Con la routine scorro i record e determino la lunghezza
dell'intervallo (lngInt) tra due record non vuoti. Se questo
intervallo è superiore a lngStep dovrò ovviamente procedere al
scrivere in alcuni record intermedi.
***
Prima di fare questo, con la funzione Mod (lngInt Mod lngStep)
determino il 'resto' cioè la lunghezza dell'ultimo intervallo (es
50/6=48 resto 2). Se il resto è inferiore al limite che ho proposto
(lngStpMin) provo via via a ridurre lngStep. Se così facendo ottengo
il risultato voluto applico - solo per quell'intervallo - il 'lngStep'
ridotto, altrimenti procedo con il 'lngStep' normale.
Sono stato chiaro?
È questo quello che volevi?
Te la senti di provare a modificare in questo senso la routine?



text:
Alberto S. <
sartori.SPA...@tin.it
> wrote in message
60a5cvgkq6hims7t8...@4ax.com...

Ciao, Alberto
Si! sei stato chiaro,
in questo modo ho la possibilità di ottenere
intervalli regolari.
Certo! sempre che il valore minimo non si discosti troppo
dal valore massimo.
Come si possono inserire queste istruzioni nella routine?
Un saluto.   Davide


text:
[cut]
>> Non riesco a *localizzare* al tua base dati (non so di cosa si tratta,
>> come sono caricati, a che scopo sono elaborati); per questo motivo
>> provo a sparare qualche idea.
>> ***
>> Oltre a 'lngStep', che sta ad indicare l'intervallo massimo, si
>> potrebbe anche impostare 'lngStepMin', che ovviamente indica
>> l'intervallo minimo desiderato.
>> ***
>> Con la routine scorro i record e determino la lunghezza
>> dell'intervallo (lngInt) tra due record non vuoti. Se questo
>> intervallo è superiore a lngStep dovrò ovviamente procedere al
>> scrivere in alcuni record intermedi.
[cut]
>Ciao, Alberto
>Si! sei stato chiaro,
>in questo modo ho la possibilità di ottenere
>intervalli regolari.
>Certo! sempre che il valore minimo non si discosti troppo
>dal valore massimo.
>Come si possono inserire queste istruzioni nella routine?
Certo che ... sei forte! Non è che stai realizzando un database per il
Sismi o Sisde o Sid? :)
Comunque proviamo pure ad analizzare il problema restando nella teoria
pura ...
Per come la vedo io il punto da chiarire è questo: dato un intervallo
di default (per esempio *7*), mi sai indicare in base a quali criteri
si considera accettabile il nuovo intervallo minimo? Es:
- 51 intervallo 7:  7x7 e 1 casella vuota
- 51 intervallo 6:  8x6 e 2 caselle vuote
- 51 intervallo 5: 10x5 e 0 caselle vuote
Voglio dire:
- come stabilisci il valore minimo che può assumere l'intervallo?
- come stabilisci quando una differenza di intervallo (nella maggior
parte dei casi inevitabile) tra l'ultimo e gli intervalli precedenti è
accettabile?
- i vincoli di cui sopra sono calcolabili tramite una formula che
parte dall'intervallo *default* oppure li stabilisci arbitrariamente
di volta in volta?
- cosa deve succedere se risultasse impossibile soddisfare i vincoli
posti?



text:
Alberto S. <
sartori.SPA...@tin.it
> wrote in message
ihs7cvobrgfn470c8...@4ax.com...

Ciao , Alberto
Hai ragione, ma mi sono dimenticato di descriverti
meglio lo scopo di quello che ti chiedevo,
non devo fare niente per i servizi segreti.
I record di questa tabella che stiamo trattando,
devono dare origine a delle etichette(per spedire riviste
in abbonamento postale).I record sempre della stessa tabella
che presentano le diciture nei famosi campi che abbiamo trattato
fino adesso(chrmark....etc)devono dare origine a una grossa
etichetta dove c'è una dicitura ,che raccoglie una serie di
etichette,(quindi
un pacco di n riviste),grossa etichetta che possiamo definire "sovrapacco".
Quindi abbiamo questi sovrapacco(i famosi record con i campi
chrmark,chrmark1,
chrmark2 contrassegnati,posti all'inizio e alla fine di un intervallo), e
una serie di
etichette(che sono i record posti nell'intervallo) ,che vanno a formare il
pacco di riviste.
Il criterio che da origine alla suddivione con questi sovrapacco  è basato
sui cap.
Quindi ci possono essere zone molto grosse e avere così intervalli molto
lunghi(pacchi molto grossi),
altre zone più piccole e avere intervalli più brevi(pacchi più piccoli).
Queste riviste possono essere poco spesse,mentre altre possono essere più
spesse.
Così se sono poche spesse è ho una grossa zona(quindi un lungo
intervallo,posso
suddividerlo con intervalli più lunghi per es un lngstep=200),per dare
origine a
questi sovrapacco che mi formano dei pacchi(con copie non molto spesse) con
dimensioni ragionevoli.Nel caso che ho copie piu spesse ,  lunghi
intervalli(grosse zone)
li devo suddividere con una maggiore numero di intervalli(per es
lngstep=5),per avere
sempre il giusto numero di sovrapacco che mi consente sempre di fare pacchi
con dimensioni
ragionevoli.Tutto questo con la l'ultima routine che mi hai proposto riesce
molto bene,
l'unico problema(come ti avevo esposto con l'ultimo esempio grafico)che ogni
tanto
rimangono alla fine quei piccoli intervalli,che mi costringono a raccogliere
le poche
copie che rimangono e racchiuderle con il sovrapacco precedente e buttare
via l'ultimo
sovrapacco.Come si potrebbero impostare le cose per eliminare questo piccolo
residuo?
E fare in modo che i sotto intervalli siano più uniformi(quindi pacchi
uguali senza quel piccolo residuo
che ti dicevo),in quanto al limite inferiore, intendevo che se per esempio
posso fare pacchi fino
a duecento copie,non mi voglio ritrovare per rendere più uniformi i
sottointervalli,a impostare
un lngstep troppo inferiore ai duecento,per esempio  "cento".
Spero dopo questo lungo discorso di averti dato un idea di quello che avrei
intenzione di fare.
Un saluto Davide


text:
[cut]
>non devo fare niente per i servizi segreti.
... fffiuuh! allora possiamo andare avanti (o almeno provarci)
>Il criterio che da origine alla suddivione con questi sovrapacco  è basato
>sui cap.
>Quindi ci possono essere zone molto grosse e avere così intervalli molto
>lunghi(pacchi molto grossi),
>altre zone più piccole e avere intervalli più brevi(pacchi più piccoli).
[cut]
>l'unico problema(come ti avevo esposto con l'ultimo esempio grafico)che ogni
>tanto
>rimangono alla fine quei piccoli intervalli,che mi costringono a raccogliere
>le poche
>copie che rimangono e racchiuderle con il sovrapacco precedente e buttare
>via l'ultimo
>sovrapacco.Come si potrebbero impostare le cose per eliminare questo piccolo
>residuo?
>E fare in modo che i sotto intervalli siano più uniformi(quindi pacchi
>uguali senza quel piccolo residuo
Io ho modificato la routine 'normalizza' come segue
***
Private Sub cmdNormalizza_Click()
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim strSql As String
Dim lngCnt As Long
Dim lngStep As Long
    lngStep = InputBox("Intervallo massimo desiderato")
    lngStep = lngStep

                If lngCnt <= lngStep Then
                        lngCnt = 0
                    Else
                        Tappabuchi rs, lngStep, _
                            lngCnt
                        lngCnt = 0
                End If
        End If
        rs.MoveNext
    Loop Until rs.EOF
Exit_cmdNormalizza_Click:
    rs.Close
    db.Close
    Set rs = Nothing
    Set db = Nothing
End Sub
***
Per mia maggior chiarezza ho scorporato la parte che 'rispalma' le
quantità in una routine separata, comunque sempre nello stesso modulo.
La Funzione IsNothing ovviamente resta.
***
Private Sub Tappabuchi(ByRef rs As DAO.Recordset, _
    ByVal lngStep As Long, ByRef lngCnt As Long)
Dim lngRigheIns As Long
Dim lngResto As Long
Dim strMarkTmp As String
Dim strMark1Tmp As String
Dim strMark2Tmp As String
Dim lngI As Long
    lngRigheIns = Int((lngCnt + 1) / _
        (lngStep + 1)) - 1
    lngResto = lngCnt - ((lngStep + 1) * _
        lngRigheIns) - lngStep
    If lngResto > 0 Then
        lngRigheIns = lngRigheIns + 1
        lngStep = Int((lngCnt + 1) / (lngRigheIns + 1)) - 1
        lngResto = lngCnt - ((lngStep + 1) * _
            lngRigheIns) - lngStep
    End If
    With rs
        strMarkTmp = !chrMark
        strMark1Tmp = !chrMark1
        strMark2Tmp = !chrMark2
        .Move -(lngCnt)
        For lngI = 1 To lngRigheIns
            .Move lngStep + 1
            If lngI = 1 Then .MovePrevious
            If lngResto > 0 Then
                .MoveNext
                lngResto = lngResto - 1
            End If
            .Edit
            !chrMark = strMarkTmp
            !chrMark1 = strMark1Tmp
            !chrMark2 = strMark2Tmp
            .Update
        Next lngI
    End With
End Sub
***
Ti dico quello che (almeno nelle mie intenzioni) fa:
Se tra due righe compilate l'intervallo - secondo il criterio che tu
imposti - non è uniforme, riduce di uno l'intervallo impostato e se ci
sono degli ulteriori residui li aggiunge ai primi intervalli
modificati.
Fai comunque delle prove 'sul campo' e fammi sapere.



text:
Alberto S. <
sartori.SPA...@tin.it
> wrote in message
8j7dcvks3slng098v...@4ax.com...

Ciao, Alberto
Ho provato la routine,
funziona proprio come avevi detto tu,
elimina i piccoli intervalli , che si andavano
a formare alla fine,comunque sei stato tempestivo,
avevi detto che ti serviva qualche giorno,
perchè eri molto impegnato.
Stavo  pensando,sempre se sono riuscito a darti
una idea dello scopo pratico dell' applicazione ,
se voglio mettere il numero di copie su ogni sovrapacco,
che raccoglie un certo numero di copie(etichette),
come si può creare un campo(nei record contrassegnati nei campi chrmarh
etc..,
chiaramente anche nei record che vengono contrassegnati dopo)
dove è riportato il numero di etichette che raccoglie il sovrapacco?
Un saluto    Davide


text:
[cut]
>Stavo  pensando,sempre se sono riuscito a darti
>una idea dello scopo pratico dell' applicazione ,
>se voglio mettere il numero di copie su ogni sovrapacco,
>che raccoglie un certo numero di copie(etichette),
>come si può creare un campo(nei record contrassegnati nei campi chrmarh
>etc..,
>chiaramente anche nei record che vengono contrassegnati dopo)
È abbastanza semplice (sempre che abbia capito bene).
1) Nella tabella aggiungi il campo 'lngQuanti' intero lungo.
2) Modifichi la stringa SQL che estrae il recordset
    ...
    strSql = "Select lngInd, chrMark, " _
        & "chrMark1, chrMark2, lngQuanti " _
        & "FROM tblRighe ORDER BY lngInd"
    ...
3) Scrivi il valore di lngStep in corrispondenza di:
 a) ogni record già compilato
   ...
   rs.MoveFirst
    Do
        If isNothing(rs!chrMark) Then
                lngCnt = lngCnt + 1
            Else
                If lngCnt <= lngStep Then
                        rs.Edit
                        rs!lngQuanti = lngCnt + 1
                        rs.Update
                        lngCnt = 0
                    Else
    ...
  b) ogni record che compili tu da codice
    ...
            If lngResto > 0 Then
                    .MoveNext
                    .Edit
                    !lngQuanti = lngStep + 2
                    lngResto = lngResto - 1
                Else
                    .Edit
                    !lngQuanti = lngStep + 1
            End If
            !chrMark = strMarkTmp
            !chrMark1 = strMark1Tmp
            !chrMark2 = strMark2Tmp
            .Update
     ...
Ho fatto una sola prova, mi pare che funzioni ...
>Un saluto    Davide



text:
Alberto S. <
sartori.SPA...@tin.it
> wrote in message
c93lcvcp5boq30pup...@4ax.com...

Ciao, Alberto
La routine funziona ,solo che
c'è un piccolo particolare,
che per mettere il valore di lngstep al
record compilato dal codice devo avviare
la routine di nuovo.
In pratica non è sufficiente un solo click(mette
il valore di lngstep solo al record già compilato)
ma devo fare un altro click sul pulsante di comando,
per avere anche il valore di lngstep al record
compilato dal codice.
E'possibile eliminare questo doppio passaggio?
Inoltre mi sono accorto di una altra cosa, che
quando stampo tramite il report le etichette(i record
tra gli intervalli)in corrispodenza di un campo , che
era scritto nelle etichette precedenti,
rimane uno spazio vuoto tra due campi pieni.
Faccio un esempio pratico se per esempio ho una etichetta
Tipo:  nom= AAAAAAAAA
       Varie= BBBBBBBBB
       Ind= CCCCCCCCCCC
       Cap      localita'       prov
E subito dopo un'altra con il campo Varie vuoto
Il report la stampa così:
         nom= AAAAAAAAA
       Varie=
       Ind= CCCCCCCCCCC
       Cap      localita'       prov
E' possibile impostare il report in maniera tale
Che i campi pieni rimangano attaccati,nonostante
che tra di loro ci siano ogni tanto dei campi vuoti?
Per avere una etichetta stampata così(una che per
Esempio ha il campo varie vuoto)
       nom= AAAAAAAAA
       Varie= CCCCCCCCCCC
       Ind= Cap      localita'       prov
Un saluto  Davide


text:
[cut]
>Ciao, Alberto
... tu sì che sei un vero nottambulo!
>La routine funziona ,solo che
>c'è un piccolo particolare,
>che per mettere il valore di lngstep al
>record compilato dal codice devo avviare
>la routine di nuovo.
>In pratica non è sufficiente un solo click(mette
>il valore di lngstep solo al record già compilato)
>ma devo fare un altro click sul pulsante di comando,
>per avere anche il valore di lngstep al record
>compilato dal codice.
>E'possibile eliminare questo doppio passaggio?
Io ho modificato, come ti ho suggerito nel mio ultimo post, le routine
'Tappabuchi' e 'cmdNormalizza'.
Dopo di che, a fronte di un unico click, il programma mi
- 'riempiva i buchi'
- valorizzava il campo 'lngQuanti' dei record appena compilati
- valorizzava il campo 'lngQuanti' dei record che erano già prima
compilati.
Ho fatto un paio di prove su una tabella abbastanza piccola però mi
andava tutto bene.
A te cosa succede di preciso?
[cut]
>Faccio un esempio pratico se per esempio ho una etichetta
>Tipo:  nom= AAAAAAAAA
>       Varie= BBBBBBBBB
>       Ind= CCCCCCCCCCC
>       Cap      localita'       prov
>
>E subito dopo un'altra con il campo Varie vuoto
>Il report la stampa così:
>         nom= AAAAAAAAA
>       Varie=
>       Ind= CCCCCCCCCCC
>       Cap      localita'       prov
>
>E' possibile impostare il report in maniera tale
>Che i campi pieni rimangano attaccati,nonostante
>che tra di loro ci siano ogni tanto dei campi vuoti?
>Per avere una etichetta stampata così(una che per
>Esempio ha il campo varie vuoto)
>       nom= AAAAAAAAA
>       Varie= CCCCCCCCCCC
>       Ind= Cap      localita'       prov
>
Intanto (questione di usare la terminologia appropriata) tieni
presente che i campi si trovano nelle tabelle e nelle query, nelle
maschere e nei report gli oggetti, tramite i quali visualizzi il
contenuto dei campi, si chiamano genericamente 'controlli' oppure
nello specifico caselle di testo, caselle combinate, caselle di
riepilogo ecc...
Ti passo un esempio di routine che puoi adattare.
La routine è a fronte dell'evento 'su formattazione' del corpo del
report. Io ho ipotizzato che il controllo in cui visualizzi le note si
chiami 'txtNote' e si trovi a 1,5 cm dal bordo superiore, che il
controllo in cui visualizzi l'indirizzo si chiami 'txtInd' e che
l'etichetta che mostra la scritta "Ind" si chiami 'lblInd'.
---
Private Sub Corpo_Format(Cancel As Integer, _
	FormatCount As Integer)
    If IsNothing(Me.txtNote) Then
        Me.txtNote.Visible = False
        Me.txtInd.Top = 567 * 1.5
        Me.lblInd.Top = 567 * 1.5
    End If
End Sub
---



text:
Alberto S. <
sartori.SPA...@tin.it
> wrote in message
oa5qcvo3vq76n72d7...@4ax.com...

Ciao! Alberto
E' vero! Sono un po' nottambulo.
A te invece non piace fare tardi?
La routine che prima non mi funzionava,
adesso va bene, solo che avevo fatto un
errore di digitazione , mentre apportavo
le modifiche che mi avevi detto,
ma non me ero accorto.
Ti volevo esporre meglio il problema
che avevo posto nell'ultimo post,
in quanto la routine che mi hai
proposto non funziona va in errore.
Ho una tabella o una query che hanno una serie di campi:
Titolo ; nominativo ; varie ; indirizzo ; cap ; località ; provincia.
Dai cui creo un report ,con tante caselle di testo ,per quanti sono i
campi della tabella o query sottostanti.
Per avere alla fine una etichetta tipo:
Dott
Bianchi Gino
presso rossi
via Imola n.2
00100 Roma rm
Non sempre i record hanno tutti i campi pieni
può capitare a volte che,per fare un esempio,
nel campo varie non abbiano niente e riprendendo
la stessa etichetta come esempio, il report come
risultato ci da questo:
Dott
Bianchi Gino
via Imola n.2
00100 Roma rm
uno spazio vuoto fra il nominativo e l'indirizzo.
Premetto che questo è solo un esempio,perché la
stessa cosa potrebbe succedere anche con gli altri
campi.
La domanda è questa! Come si potrebbe avere,sempre
prendendo come esempio l'etichetta di prima,in questi
casi una etichetta tipo così?
Dott
Bianchi Gino
Via Imola n.2
00100 Roma rm
in sostanza fare in modo che i campi pieni,
vadano a riempire i spazi che rimangono vuoti,
senza avere ,nonostante la presenza di campi vuoti,
spazi vuoti nell'etichetta.
Un Saluto Davide


text:
[cut]
>Ciao! Alberto
>E' vero! Sono un po' nottambulo.
>A te invece non piace fare tardi?
Normalmente alla mattina alle sette cominciamo già ad uscire di casa
(la scuola della figlia...)
>La routine che prima non mi funzionava,
>adesso va bene, solo che avevo fatto un
>errore di digitazione , mentre apportavo
>le modifiche che mi avevi detto,
>ma non me ero accorto.
Benissimo.
>Ti volevo esporre meglio il problema
>che avevo posto nell'ultimo post,
>in quanto la routine che mi hai
>proposto non funziona va in errore.
[cut]
>Per avere alla fine una etichetta tipo:
>Dott
>Bianchi Gino
>presso rossi
>via Imola n.2
>00100 Roma rm
>Non sempre i record hanno tutti i campi pieni
[cut]
>Dott
>Bianchi Gino
>
>via Imola n.2
>00100 Roma rm
[cut]
>La domanda è questa! Come si potrebbe avere,sempre
>prendendo come esempio l'etichetta di prima,in questi
>casi una etichetta tipo così?
>Dott
>Bianchi Gino
>Via Imola n.2
>00100 Roma rm
[cut]
La routine che ti ho suggerito parte proprio da questi presupposti. Io
l'ho anche provata e mi funziona bene.
Mi descrivi l'errore?
>Un Saluto Davide
Ciao.



text:
Alberto S. <
sartori.SPA...@tin.it
> wrote in message
9m4ucv4lts92f20pv...@4ax.com...

Ciao Alberto
Ho preso una tabella
ho creato un report che prende i dati
da questa tabella  e ho fatto come mi
hai detto tu nel precedente post:
Ti passo un esempio di routine che puoi adattare.
La routine è a fronte dell'evento 'su formattazione' del corpo del
report. Io ho ipotizzato che il controllo in cui visualizzi le note si
chiami 'txtNote' e si trovi a 1,5 cm dal bordo superiore, che il
controllo in cui visualizzi l'indirizzo si chiami 'txtInd' e che
l'etichetta che mostra la scritta "Ind" si chiami 'lblInd'.
---
Private Sub Corpo_Format(Cancel As Integer, _
FormatCount As Integer)
    If IsNothing(Me.txtNote) Then
        Me.txtNote.Visible = False
        Me.txtInd.Top = 567 * 1.5
        Me.lblInd.Top = 567 * 1.5
    End If
End Sub
---
Solo che quando vado a cliccare
su anteprima del report
appare un messaggio che dice:
"Errore di compilazione:"
"Sub o Function non definita"
Imposto male qualcosa?
Un Saluto Davide


text:
[cut]
>Private Sub Corpo_Format(Cancel As Integer, _
>FormatCount As Integer)
>    If IsNothing(Me.txtNote) Then
>        Me.txtNote.Visible = False
>        Me.txtInd.Top = 567 * 1.5
>        Me.lblInd.Top = 567 * 1.5
>    End If
>End Sub
>---
>
>Solo che quando vado a cliccare
>su anteprima del report
>appare un messaggio che dice:
>"Errore di compilazione:"
>"Sub o Function non definita"
>Imposto male qualcosa?
La funzione 'IsNothing', che viene usata anche per 'tappare i buchi',
l'hai messa in un modulo a parte (sezione moduli) o è nel modulo di
classe della maschera in cui c'è il tasto 'tappabuchi'?
... la forma giusta è la prima ...
se invece già stai facendo così dimmi su che riga di codice si pianta
>Un Saluto Davide
>
Ciao



text:
Alberto S. <
sartori.SPA...@tin.it
> wrote in message
9p41dvg636mjbtj0u...@4ax.com...

Ciao, Alberto
La routine non funzionava
perché non c'era la funzione is nothing,
che ho poi messo in un modulo a parte.
Nonostante tutto la routine non funziona in modo omogeneo,
infatti visualizza tramite la casella di testo txtnote,in modo
regolare,il contenuto del campo(che visualizzo con la casella di testo
"txtnote" del report)dei primi sei record,poi dato che il campo in questione
del
settimo record è vuoto,non si presenta nessun spazio tra quello
che si visualizza nelle caselle di testo superiore e inferiore
alla casella di testo "txtnote". Fino qui tutto regolare.
Invece con i record che seguono, il contenuto della casella di testo
txtnote(nonostante che i campi che danno origine  al controllo siano pieni)
non viene visualizzato. Come mai??
Inoltre Dato che queste etichette, possono arrivare a contenere fino a sette
campi, tipo:
dott
bianchi rossi
presso ufficio
via imola n. 2
specialista
quinto distaccamento
00100 Roma Rm
è possibile fare una routine che lavora contemporaneamente
su tutti i campi?
Ho notato poi che la casella di testo del report(che prende origine
dal campo contatore della tabella sottostante)dal numero 1000 in poi
mi visualizza 1E+3 invece del n.1000 e così via.
Come si può eliminare l'inconveniente?
Un Saluto Davide


text:
[cut]
>Ciao, Alberto
>La routine non funzionava
>perché non c'era la funzione is nothing,
>che ho poi messo in un modulo a parte.
Benissimo
>Nonostante tutto la routine non funziona in modo omogeneo,
>infatti visualizza tramite la casella di testo txtnote,in modo
>regolare,il contenuto del campo(che visualizzo con la casella di testo
>"txtnote" del report)dei primi sei record,poi dato che il campo in questione
>del
>settimo record è vuoto,non si presenta nessun spazio tra quello
>che si visualizza nelle caselle di testo superiore e inferiore
>alla casella di testo "txtnote". Fino qui tutto regolare.
>Invece con i record che seguono, il contenuto della casella di testo
>txtnote(nonostante che i campi che danno origine  al controllo siano pieni)
>non viene visualizzato. Come mai??
Ti riporto - commentata - la routine, che analizza solo il contenuto
della casella di testo 'txtNote'
Private Sub Corpo_Format(Cancel As Integer, _
   FormatCount As Integer)
      If IsNothing(Me.txtNote) Then
         Me.txtNote.Visible = False
         Me.txtInd.Top = 567 * 1.5
         Me.lblInd.Top = 567 * 1.5
      End If
End Sub
Cosa fa la routine?
1-Verifica se 'txtNote' è vuoto
2-Se è vuoto
  -Nasconde txtNote (e automaticamente nasconde anche la relativa
   etichetta)
  -Pone a 1,5 centimetri dal bordo superiore la casella 'txtInd'
  -Fa lo stesso con la relativa etichetta
***
Quando passa al record successivo ovviamente 'txtNote' è ancora
nascosto e 'txtInd' e relativa etichetta si trovano ad un cm e mezzo
dal bordo superiore. La routine (che ti avevo passato come spunto) va
integrata, prevedendo anche il caso opposto:
Private Sub Corpo_Format(Cancel As Integer, _
   FormatCount As Integer)
      If IsNothing(Me.txtNote) Then
            Me.txtNote.Visible = False
            Me.txtInd.Top = 567 * 1.5
            Me.lblInd.Top = 567 * 1.5
         Else
            Me.txtNote.Visible = True
            Me.txtInd.Top = 567 * 2.2
            Me.lblInd.Top = 567 * 2.2
      End If
End Sub
Cioè
- Rendo nuovamente visibile 'txtNote'
- Sposto a 2,2 cm dal bordo superiore 'txtInd' e relativa etichetta
>Inoltre Dato che queste etichette, possono arrivare a contenere fino a sette
>campi, tipo:
>dott
>bianchi rossi
>presso ufficio
>via imola n. 2
>specialista
>quinto distaccamento
>00100 Roma Rm
>è possibile fare una routine che lavora contemporaneamente
>su tutti i campi?
Ora tu non devi far altro che adattare la routine in base alle varie
possibili situazioni (quanti sono i controlli che potrebbero risultare
vuoti e, caso per caso, quali devi nascondere e in quale posizione si
devono trovare gli altri). Tieni presente - ma sicuramente già lo sai
- che '567 * 1' equivale ad un centimetro.
Se credi di aver bisogno di una mano per la routine mi devi spiegare
la situazione dei controlli (nome, posizioni, quali possono essere
vuoti ...)
>Ho notato poi che la casella di testo del report(che prende origine
>dal campo contatore della tabella sottostante)dal numero 1000 in poi
>mi visualizza 1E+3 invece del n.1000 e così via.
>Come si può eliminare l'inconveniente?
Dovrebbe essere sufficente allargare la casella di testo



text:
Alberto S. <
sartori.SPA...@tin.it
> wrote in message
uo57dvckgliqkp37m...@4ax.com...

Ciao , Alberto
La routine con l'ultima integrazione,
funziona bene.
Solo che i campi che devo trattare,
usando come base la routine che mi
hai proposto, sono dieci,quindi devo
prevedere tutta una serie di combinazioni,
in quanto tutti i campi possono essere
o vuoti o pieni non c'è una regola fissa.
Alcuni record possono avere tutti e dieci i campi
pieni, altri otto campi e così via.
Non ci sono etichette fisse.
Per esempio una con tutti i campi pieni si
presenterebbe così:             p.s. i numeri li ho messi solo per
evidenziare i campi dell'etichetta.
1)gentile dott
2)bianchi rossi
3)consulente
4)azienda farmaceutica
5)presso segreteria
6)via imola n.9
7)00100 roma rm
8)**********************
9)ufficio postale
10)roma montesacro
Questi campi io li chiamo:tit ; nom ; varie ; ind ; nom2; ind2 ; des1 ; des2
; des3.(Premetto non pongo nessuna etichetta di denominazione sul report)
Impostare una routine non troppo complessa per stabilire tutti i casi non è
possibile?
Se no con la routine di base che mi hai proposto devo impostare tutte
le combinazioni possibili?
Un saluto Davide


text:
[cut]
>Ciao , Alberto
>La routine con l'ultima integrazione,
>funziona bene.
>Solo che i campi che devo trattare,
>usando come base la routine che mi
>hai proposto, sono dieci,
[cut]
>Non ci sono etichette fisse.
>Per esempio una con tutti i campi pieni si
>presenterebbe così:             p.s. i numeri li ho messi solo per
>evidenziare i campi dell'etichetta.
>1)gentile dott
>2)bianchi rossi
>3)consulente
>4)azienda farmaceutica
>5)presso segreteria
>6)via imola n.9
>7)00100 roma rm
>8)**********************
>9)ufficio postale
>10)roma montesacro
>Questi campi io li chiamo:tit ; nom ; varie ; ind ; nom2; ind2 ; des1 ; des2
>; des3.(Premetto non pongo nessuna etichetta di denominazione sul report)
>Impostare una routine non troppo complessa per stabilire tutti i casi non è
>possibile?
>Se no con la routine di base che mi hai proposto devo impostare tutte
>le combinazioni possibili?
... a parte che sarebbe interessante trovare un algoritmo elegante -
con il minimo di righe possibili ...
Io partivo dal presupposto che ci fossero anche le etichette.
Prova allora a fare così (se l'effetto grafico ti sembrerà
sccettabile)
Per ogni casella del report
- imposti  la proprietà 'espandibile' a sì
- imposti l'altezza ad un valore minimo (per esempio 0,001)
E le posizioni a minima distanza una dall'altra
>Un saluto Davide



text:
Alberto S. <
sartori.SPA...@tin.it
> wrote in message
f9pcdvc4v8o8u1pi4...@4ax.com...

Ciao Alberto
Ci sono tre giorni di relax!
Tu che fai! Te li prendi?
Ho provato come mi hai detto tu,
a modificare i controlli del report,
per ottenere le etichette senza spazi,
il risultato è buono,esteticamente
accettabile e si arriva allo scopo
in pieno,cioè ottenere le etichette
senza spazi vuoti.
Con la routine si dovevano combinare
troppe combinazioni.
Stavo provando a scrivere dentro una casella
di testo di una maschera con lo scopo di
visualizzarlo tramite una casella di testo
del report(per poi stamparlo) ma senza successo.
Come si può impostare il legame da una maschera
al report senza l'ausilio di una tabella?
Un saluto Davide


text:
[cut]
>Ciao Alberto
>Ci sono tre giorni di relax!
>Tu che fai! Te li prendi?
Due o tre dichiarazioni dei redditi ... comunque sì, in tutto relax
>Ho provato come mi hai detto tu,
>a modificare i controlli del report,
>per ottenere le etichette senza spazi,
>il risultato è buono,esteticamente
>accettabile e si arriva allo scopo
>in pieno,cioè ottenere le etichette
>senza spazi vuoti.
>Con la routine si dovevano combinare
>troppe combinazioni.
L'importante è che il risultato sia soddisfacente
>Stavo provando a scrivere dentro una casella
>di testo di una maschera con lo scopo di
>visualizzarlo tramite una casella di testo
>del report(per poi stamparlo) ma senza successo.
>Come si può impostare il legame da una maschera
>al report senza l'ausilio di una tabella?
La prossima volta è meglio che tu apra un altro thread se vuoi
introdurre un nuovo argomento ... penso che questo 3d lo stiamo
seguendo solo noi due ... ;-)
Comunque ... una volta compilate la varie caselle di testo, mantenendo
la maschera aperta, lanci il report nelle cui caselle di testo avrai
fatto riferimento direttamente ai controlli della maschera.
Un esempio (che è meglio):
se la maschera si chiama 'frmProva' e la casella in cui hai scritto
'txtTestoDiProva', nell'origine controllo della corrispondente casella
del report scriverai
=Forms!frmProva!txtTestoDiProva
... lo puoi fare anche con il generatore di espressioni
Se c'è la possibilità che qualche casella non venga compilata devi
abbinare la funzione Nz
=Nz(Forms!frmProva!txtTestoDiProva;"")



title: Errore di compilazione

text:
Buongiorno a tutti.
Nella mia maschera, ho un pulsante,
della cui funzione vi allego il codice:
-----------------------------------------
Private Sub Comando62_Click()
On Error GoTo Err_Comando62_Click
Me.Misure = "Mio testo da inserire"
Exit_Comando62_Click:
    Exit Sub
Err_Comando62_Click:
    MsgBox Err.Description
    Resume Exit_Comando62_Click
End Sub
-----------------------------------------
Tutto funziona alla perfezione,
ma se vado a compilare il db mi dice:
Microsoft visual Basic
Errore di compilazione:
Impossibile trovare il metodo o il membro dei dati.
Saluti Express


title: Errore di compilazione

text:

Prova con: Me!Misure
Se funziona cosě sarebbe interessante di sapere quale
versione di Access usi e se si tratta di un db convertito.
--
HTH
Karl
*********
Access-FAQ (tedesco):
http://www.donkarl.com


title: Errore di compilazione

text:
"Karl Donaubauer" <
NoS...@donkarl.com
> ha scritto nel messaggio
news:c122fm$1ci7pl$1...@ID-46617.news.uni-berlin.de...

Ciao Karl, uso Access 2002
ed il db non'č stato convertito, anche se lo iniziai
con una versione precedente di Access.
Provo e ti faccio sapere
Express


title: Errore di compilazione

text:
"Karl Donaubauer" <
NoS...@donkarl.com
> ha scritto nel messaggio
news:c122fm$1ci7pl$1...@ID-46617.news.uni-berlin.de...

Tutto OK,
ma potresti farmi capire la differenza tra i due tipi di punteggiatura??
Grazie Express


title: Errore di compilazione

text:
express2003 ha scritto:
> "Karl Donaubauer ha scritto:...
>>> Me.Misure = "Mio testo da inserire"
>>> ...
>>> Tutto funziona alla perfezione,
>>> ma se vado a compilare il db mi dice:
>>>
>>> Microsoft visual Basic
>>> Errore di compilazione:
>>> Impossibile trovare il metodo o il membro dei dati.
>> ...
>> Prova con: Me!Misure
>>
>> Se funziona così sarebbe interessante di sapere quale
>> versione di Access usi e se si tratta di un db convertito.
>> ...
> Tutto OK,
> ma potresti farmi capire la differenza tra i due tipi di punteggiatura??
Non sono sicuro perché è un po' complicato e il mio italiano...
Il punto è per proprietà o metodi del oggetto o collezione.
Il punto esclamativo è per un membro della collezione o della
collezione standard nel contesto attuale.
La confusione viene spesso dal fatto che un controllo è tutti
e due: proprietà della maschera e membro della collezione
standard (Controls). Nel tuo caso:
Me.Misure
chiama la proprietà
Me!Misure o Me("Misure")
invece sono abbreviazioni per
Me.Controls!Misure o Me.Controls("Misure")
Abbastanza confuso? ;-)
Di solito con "Me" si puo usare tutte queste punteggiature.
Ma il comportamento si è cambiato durante le versioni di Access
o se p.e. nei riferimenti hai uno alla DAO compatibility library.
--
cu



title: Errore di compilazione

text:
"Karl Donaubauer" <
NoS...@donkarl.com
> ha scritto nel messaggio
news:c12e04$17sgt3$1...@ID-46617.news.uni-berlin.de...

Gentilissimo
Vielen Danke
Express


title: ricercare in campo memo

author: francesco

text:
Ciao come posso fare ad impostare una ricerca in un campo memo, tipo motore
di ricerca per intenderci, cioč ricercare tutti i record che contengono una
determinata sequenza di parole; es:
dammi tutti i record dove il campo note contiene la sequenza: mangiare la
frutta
grazie
F
--------------------------------
Inviato via
http://arianna.libero.it/usenet/


title: ricercare in campo memo

text:
"francesco" <
franc...@tiscalinet.it
> ha scritto nel messaggio
news:81Z211Z170Z195Y...@usenet.libero.it...
> Ciao come posso fare ad impostare una ricerca in un campo memo, tipo
motore
> di ricerca per intenderci, cioč ricercare tutti i record che contengono
una
> determinata sequenza di parole; es:
>
> dammi tutti i record dove il campo note contiene la sequenza: mangiare la
> frutta
>
> grazie
>
> F
Vai sul Sito Comune (link qui sotto) e nella Sezione Forms leggi la FAQ
intitolata "Come si puň filtrare una maschera in base a una o piů parole o
frasi contenute all'interno di un suo controllo?".
--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------


title: ricercare in campo memo

text:

Grazie per l'aiuto ma cercavo qualcosa che mi consentisse di scrivere la
stringa di ricerca in un solo controllo, non so se mi spiego
ciao



title: ricercare in campo memo

text:
"francesco" <
franc...@tiscalinet.it
> ha scritto nel messaggio
news:81Z211Z169Z94Y...@usenet.libero.it...

Scusa non capisco.
L'esmpio che ti ho consigliato puň usare sino a 4 sequenze di parole (o
frasi che dir si voglia) da usare in AND o OR per ricercare i record; perň
funziona anche con una sola sequenza (o frase).



title: ricercare in campo memo

author: Harry Evans

text:
"francesco" <
franc...@tiscalinet.it
> ha scritto nel messaggio
news:81Z211Z170Z195Y...@usenet.libero.it...
> Ciao come posso fare ad impostare una ricerca in un campo memo, tipo
motore
> di ricerca per intenderci, cioč ricercare tutti i record che contengono
una
> determinata sequenza di parole; es:
>
> dammi tutti i record dove il campo note contiene la sequenza: mangiare la
> frutta
select * from myTabella where CampoMemo Like "*mangiare la frutta*" ;


title: ricercare in campo memo

text:

Ho provato a mettere la stringa sql in un evento di apertura maschera ma mi
da errore "Tipo non corrispondente"; come mai?



title: ricercare in campo memo

text:

Urge la soluzione...vi prego
