Newsgroup: it.comp.appl.access
Titolo: Incasellare testo in piu campi non associati

Ho postato un po' di giorni fa, ma sono stato affondato da un quintale di
richieste da manuale (nel senso che basta leggere la guida di Access pr
risolvere) cercando con questo titolo di essere piu' visibile risottopongo
il quesito
Allora utilizzando vari funzioni sul sitocomune sono riuscito a terminare
questo tediosissimo lavoro di incasellamento, passaggio da numeri a lettere
ecc.
Unico problema quello che vi sto sottoponendo
Prima la funziona che estrapola il testo in varie caselle slegate nominate
da c1=>c23
Private Sub Corpo_Print(Cancel As Integer, PrintCount As Integer)
  Dim delivery, i As Long, li As Long
  delivery = (UCase(Me.delivery_name))
  li = Len(delivery)
  For i = li To 1 Step -1
    Me("c" & Trim(i)) = Mid(delivery, li - i + 1, 1)
  Next
 End Sub
le caselle sono c1=>c23 (relative ad "eseguito da:" sul bollettino)
quello che non riesco a fare e farle partire dalla c23, il testo inserito si
trimma dalla c1 (che ho messo per ultimo) cosi facendo mi rimane uno spazio
prima della prima lettera ad esempio
io ho
- - - - - nome cognome
c23 =>c1
quando dovrei (vorrei) avere
nome cognome - - - - -
c23=>c1
Io vorrei incasellare il testo a partire dalla c23 (sarebbe piu comodo dato
che non devo cambiare la struttura del report) o al limite ,incasellarlo
dalla c1 a ritroso (c1 dovrebbe corrispondere al primo carattere estrapolato
e non all'ultimo)
E solo un problema di carattere estetico dato che tutto funziona, ma mi
piacerebbe risolverlo..
chi mi da una mano?
Ps
Dopo aver risolto posso renderlo disponibile per il sito comune
Grazie


Mid(delivery, i + 1, 1)
P.S. Secondo me se scrivevi le 5 istruzioni e "semplicemente" quello che volevi
senza dilungarti in spiegazioni era meglio. Sta cosa gia' l'avevo letta,
parzialmente, alla terza riga di spiegazione ho lasciato perdere
--
a.cara 
Togli qualcosa dall'email

 a.cara
Era per spiegarmi meglio,..
Comunque Mid(delivery, i + 1, 1) non funziona, mi da il primo carattere per
tutte le caselle


"nun po' esse"
sel la routine e':
for i = li to 1 step -1
     x=mid(delivery,i+1,1)
next
se li all'inizio contiene 23 (len(delivery))
ottieni
x = mid(delivery,24,1)
x = mid(delivery,23,1)
x = mid(delivery,22,1)
x = mid(delivery,21,1)
ed a seguitar cantando



[CUT]
Vedi se cosě ti funziona, adesso non l'ho provata
   Dim delivery, i As Long, li As Long
   Dim Ini As Long
   delivery = LTrim(UCase(Me.delivery_name))
   li = Len(delivery)
   For i = 1 To li
        Me("c" & Cstr(i)) = Mid(delivery, i, 1)
   Next i
  End Sub
Ciao.

 x = mid(delivery,21,1)
"C'hai ragione"
Io avevo fatto 10 miliardi di prove e a logica ero arrivato anche al tuo
codice, ma disgraziatamente provavo e riprovavo senza riuscire ed entrare
dal report (non lo so' perche' ma e' cosi) e non funcava, ho riprovato ad
usare il tuo (uscendo e rientrando) e funziona.
Pero' mi troncava il primo carattere cosi ho risolto
Mid(delivery, i, 1)
pero' e sorto un' altro problema:
se i caratteri sono piu di 23 (le mie caselle) mi da errore e giustamente
cerca le caselle che non ci sono, adesso provero un po' a limare la cosa
Grazie Comunque!

 cerca le caselle che non ci sono, adesso provero un po' a limare la cosa
e questo mi pare chiaro.
In questo caso o aumenti  il numero delle caselle o limiti il tutto a 23 (questo
ti taglierebbe le anagrafiche con lunghezza > 23)
li = iif(len(delivery)>23,23,len(delivery))



Ok Brown tutto risolto!

"Bitte®" ha scritto:

Hatzo da Melk! Sta storia di Braun me amanca! Che roba e'?
--
a.cara
togli qualcosa dall'email


Era la publicita' della sveglietta...