Newsgroup: it.comp.appl.access
Titolo: Casella di testo associata contenente più valori selezioni da una casella di riepilogo.

Access 00/XP
Ciao a tutti i frequentatori e in particolare a tutti i mostri 
Accessinformatici che sempre ci aiutano a risolvere i problemi e che senza 
di loro resterebero tali.
Ho la necessità di inserire in una casella di teso associata ad un campo 
memo, mediante selezione multipla o anche mediante trascinamento, uno o più 
valori contenuti in una casella di riepilogo, possibilmente mandando a capo 
ogni voce selezionata o trascinata alla casella di testo, in modo da poter 
ottenere un risultato visivo come sotto indicato, oltre a velocizzare la 
compilazione dell'atto.
Pensate sia fattibile e semplice da applicare, siversamente come potrei fare 
? E' important.
=============================================================
ContenutoCaselladiriepilogo 
ContenutoCaselladitesto
Bologna 
Roma
Firenze 
Milano
Parma 
Siracusa
Roma 
Ittiri
Palermo
Siracusa
Milano
Sondrio
Lollove
Ittiri
==============================================================
Mille grazie, Bruno 

 ha scritto nel messaggio
news:473df3b1$0$4785$4faf...@reader4.news.tin.it...

Non hai il Drag&Drop ma la cosa potrebbe essere semplice se avessi capito
correttamente.
Su Evento DoppioClick della ListBox:
Me!textBox=Me!TextBox & VbnewLine & Me!NomeListBox
-- 
@Alex (Alessandro Baraldi)
---------------------------------------------------------------------------
http://www.sitocomune.com/
http://www.alessandrobaraldi.it
---------------------------------------------------------------------------

 ha scritto nel messaggio 
news:fhktlb$ugl$1...@aioe.org...

Ciao Alessandro, qualcosa non va. Preciso che oltre a non inserire tutte le 
parole selezionate con doppio clic, non ne inserisce neanche una.
Errore Run-Time 2424
"impossibile trovare il nome di un campo, di un controllo o di una proprietà 
immesso nell'espressione"
La variante alla tua:
Me!CampoMemo = Me!CampoMemo & vbNewLine & Me!dati            (ho provato 
anche con il punto)                   Me.CampoMemo = Me.CampoMemo & 
vbNewLine & Me.dati
Dove Campo memo è la casella di testo e Dati è la ListBox
Mi sembra di non aver saltato nulla.
Ho provato anche con una variabile, nnulla da fare.
Speriamo di risolvere.
Ora ti saluto perchè vado a nanna, domani mi alzo alle 4 per andare a 
lavoro.
Saluti, Bruno

 ha scritto nel messaggio 
news:fhktlb$ugl$1...@aioe.org...

Scusa Alessandro, funziona alla grande; ho trovato l'errore. Erroneamente ho 
associato la listBox ad un campo.
Ciao e grazie, Bruno 

 Ciao e grazie, Bruno
Fai attenzione ai DOPPIONI....
Per trovarli, nel caso servisse, usa INSTR:
If Instr(Me!TextBox,Me!ListBox)=0 Then
   Me!TextBox=Me!TextBox & vbNewLine & Me!ListBox
End if


 End if
ma sei sicuro?
Scusa se mi permetto.
-- 
Ciao
Geppo 

 ha scritto nel messaggio 
news:fhl7vh$307$1...@aioe.org...

Grazie Alessandro, per sicurezza ho inserito il codice sopra descritto.
Ho visto che all'inizio, o meglio, prima della prrima parola viene inserito 
uno spazio; come posso togliere gli spazi ? Mi sembra ci fosse un modo; io 
ricordavo Len(), ma nell'help non ne parla.
Bruno


Prova in questo modo:
if isnull(me!textbox) or (me!textbox = "") then
   me!textbox = me!listbox
elseif InStr(me!textbox, me!listbox) = 0 then
   me!textbox = me!textbox & vbnewLine & Me!listbox
End If
in questo modo non avrai il problema dello spazio iniziale.
-- 
Ciao
Geppo 

"geppo" <c...@tin.it.invalid> ha scritto nel messaggio 
news:wTC%i.172026$%k.31...@twister2.libero.it...

=================
Ciao Geppo, anche tu mangi pane e Access ?
Il tuo aiuto ha risolto il problema; grazie mille.
Bruno 

 Geppo
Vedo che alla fine hai capito... visto che hai suggerito la stessa cosa...
;-)


 Geppo
Giusto per pignoleria... ma è a vantaggio della funzionalità visto che
eseguo solo 1 controllo
ed è il controllo più veloce:
if Len(me!textbox & "")=0 then
     me!textbox = me!listbox
Elseif InStr(me!textbox, me!listbox) = 0 then
     me!textbox = me!textbox & vbnewLine & Me!listbox
End If
-- 


 
Se si tratta di pignoleria. Presente!
if InStr(me!textbox, me!listbox) = 0 then me!textbox & Me!listbox & 
vbnewLine
Tanto l'ultimo non lo vede
-- 
ac
y-1=x

 y-1=x
Eccoti... ma che stai addě...?
Mi pare che tu abbia invertito l'ordine dei fattori ed eliminato un
PESSO...!
.......
 Elseif InStr(me!textbox, me!listbox) = 0 then
      me!textbox = me!textbox & vbnewLine & Me!listbox
 End If
Sono diversi.
Pignolo.


 Pignolo.
Ma manco pe gnente
tuo caso
NL+val+NL+val
mio caso
val+NL+val+NL
all'inizio la txtbox sta a null e quindi non da fastidio
e poi io faccio sempre cosi' ed i clienti ancora non mi hanno lapidato.
-- 
ac
y-1=x

 e poi io faccio sempre cosi' ed i clienti ancora non mi hanno lapidato.
Questo è il Code completo ultimo, non ho cpaito se sostieni che questo da i
problemi che accenni
o meno... perchè a me non pare proprio....:
if Len(me!textbox & "")=0 then
      me!textbox = me!listbox
Elseif InStr(me!textbox, me!listbox) = 0 then
      me!textbox = me!textbox & vbnewLine & Me!listbox
End If
Adesso con parole che capirebbe anche un bimbo di 3 anni riprovaci...!


 
Uffi!
La tua iniziale risposta a quanto ho capito generava un NL all'inizio e 
si vede perche' la prima cosa che fai e' mettere il NL visto che 
all'inizio il txtbox target e' nullo.
La correzione di Geppo faceva si che all'inizio non si aggiungeva il NL
La soluzione e' corretta.
Poiche' a me le if piacciono poco, ho solo fatto im modo che il primo NL 
cada dopo la prima assegnazione vera, come fatto collaterale, 
ovviamente, c'e' un NL di troppo in fondo ma in genere non da fastidio.
Io sono un affezionato delle stringhe delimitate quando le concateno 
faccio sempre cosi'. nel mio caso poco male poiche' avrei un 
delimitatore all'inizio ma io preferisco tenermelo alla fine.
-- 
ac
y-1=x

 y-1=x
Si adesso č chiaro, infatti non capivo visto che la "supposta" era il codice
finale...
Poi mettila prima o mettila dopo... si scioglie sempre dopo qualche minuto e
non la puoi piů togliere, quindi
č bene esserne sicuro prima di metterla.


 ha scritto nel messaggio 
news:GGF%i.1306$PH1...@tornado.fastwebnet.it...

==================================
Che filosofia ragazzi; devo dire che pur non essendo lontanamente capace di 
fare quel che voi fate, riesco comunque a destare il vostro interesse, visto 
i vostri post.
Mille grazie ancora, con un pizzico di invidia per le vostre capacità.
Bruno 

 ha scritto nel messaggio 
news:fhna70$ll8$1...@aioe.org...

=============================
Mi state incasinando la testa, insomma creatori di Matrix quale stringa devo 
utilizzare ?
Bruno


questa
if Len(me!textbox & "")=0 then
      me!textbox = me!listbox
Elseif InStr(me!textbox, me!listbox) = 0 then
      me!textbox = me!textbox & vbnewLine & Me!listbox
End If
-- 
ac
y-1=x

 cosa... ;-)
Si, il problema era solo il valore null della testbox.
-- 
Grazie
Ciao
Geppo 

geppo" <c...@tin.it.invalid> ha scritto nel messaggio
news:1vG%i.176095$U01.1...@twister1.libero.it...> Ciao ALESSANDRO Baraldi

Esatto alla fine è uscita la funzione completa.


 ha scritto nel messaggio 
news:0kG%i.1355$PH1...@tornado.fastwebnet.it...

==========================
Ancora grazie.
Buona domenica, Bruno 

 ha scritto nel messaggio 
news:0kG%i.1355$PH1...@tornado.fastwebnet.it...

====================================
Ciao Alessandro, ho provato a far inserire i dati in 
Forms!Maschera1!CampoMemo creando un'altra mascherina che apro con un 
pulsante posto nella  Maschera1. Il tutto funziona, però, contrariamente 
alla maschera contenente sia il campo memo che quello dati (ListBox), quando 
inserisco dei valori e poi ne cancello uno o più con la mascherina sempre 
aperta, allora quest'ultima non permette di inserire altri valori. E' come 
se non avesse la possibilità di riaggiornarsi, anzi talvolta si incasina e 
inserisce più valori insieme, come se li memorizzasse. Naturalmente sarebbe 
utile poter utilizzare queste piccole form da richiamare all'occorenza. Ti è 
mai capitato il problema ? Preciso che se chiudo la piccola form con la 
ListBox e la riapro, allora funzia.
Ecco  il codice che ho usato modificandolo per metterlo nella form della 
ListBox.
If Len(Forms!Maschera1!CampoMemo & "") = 0 Then
        Forms!Maschera1!CampoMemo = Me!dati1
    ElseIf InStr(Forms!Maschera1!CampoMemo, Me!dati1) = 0 Then
        Forms!Maschera1!CampoMemo = Forms!Maschera1!CampoMemo & vbNewLine & 
Me!dati1
    End If
Ciao, Bruno 

 
-- 
ac
y-1=x


Il codice va bene, il problema sta nel fatto che seppur tu cancelli i dati 
dal campomemo questi permangono.
Nell'evento activate della mascherina inserisci:
forms!maschera1.refresh
-- 
Ciao
Geppo 

"geppo" <c...@tin.it.invalid> ha scritto nel messaggio 
news:uTJ%i.172343$%k.31...@twister2.libero.it...

================
Fatto, pare che funzioni.
Grazie, Bruno