Newsgroup: it.comp.appl.access
Titolo: Andare a capo

Mi servirebbe una dritta per fare una cosa:
Vorrei andare a capo nel messaggio (intestazione?) di una finestra che 
chiede i dati per una query.
Ho provato col & vbCrLf & di vb ma nn funge!
Ossia ho scritto [Inserisci il nome] & vbCrLf & [Nota: bla bla] ma mi apre 
prima una finestra con scritto "Inserisci il nome" e poi una con scritto 
"Nota: bla bla".
In sostanza: come faccio ad andare a capo? 

 wrote in message 
news:sAwid.16962$Ni.6...@twister1.libero.it...

Come l'hai messa tu [...] & [...] sono due i parametri
e quindi due sono le richieste.
Ma anche se inserisci:
[Nome
Cognome
Indirizzo]
(puoi farlo con lo Zoom nei Criteria del Query Builder)
la finistra di richiesta del parametro si presenta col la
sola prima riga: Nome.
Non so se ci sia la maniera di, io non l'ho trovata.
Ciao
Bruno 

 (puoi farlo con lo Zoom nei Criteria del Query Builder)
E detto in parole + semplici? :-) 

Massy ha scritto:



Ciao,
se ho ben capito vorresti che il testo che appare nella finestra di
richiesta dei dati vada a capo quando lo vuoi tu. Io scriverei cosě:
"testo" & Chr(13) & Chr(13)& "continuatesto"
e ne puoi mettere quanti ne vuoi.
DEL_REC
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 wrote in message 
news:25yid.17158$Ni.6...@twister1.libero.it...

Vai nel query builder (il generatore di query).
fa' click col destro sul campo Criteria indi col
sinistro su Zoom nella tendina che ti apparirà.
Qui puoi scrivere tutto quello che vuoi; per andare
a capo usa CTRL+RETURN.
Comunque alla fine ti apparirà solo la prima
riga. Almeno così da me (Access2003).
Sei tu quel desso che alligna anche in luoghi
più letterari?
Se sì ben ritrovato, se no trattasi di omonimia
quindi come non detto.
Ciao
Bruno

 "testo" & Chr(13) & Chr(13)& "continuatesto"
"testo" & Chr(13) & Chr(10)& "continuatesto"


 In sostanza: come faccio ad andare a capo?
 
Dunque
se vuoi aprire direttamente la query non puoi andare a capo nella
finestrella di richiesta. Il motivo è che in una query i parametri vengono
trattati internamente come nomi di campo, e nei nomi di campo non si possono
utilizzare né i caratteri 10 e 13 (la costante vbCrLf equivale alla stringa
Chr(10) & Chr(13), cioè Ritorno all'inizio della riga e Nuova riga) né le
parentesi quadre. In pratica, è come se tu specificassi che un certo campo
deve avere lo stesso valore del campo [Inserisci il nome]: Access cerca
questo campo, non lo trova e ne chiede il valore all'utente. Poi cerca anche
il campo [Nota: bla bla], ecc.
Se la query deve essere eseguita all'apertura di una maschera o di un
report, ti consiglio di crearti una maschera intermedia che chiede
all'utente il valore da inserire. In questa maschera puoi crearti una label
con una stringa a piacere e con i ritorni a capo, e una textbox nella quale
sarà inserito il valore. Alla chiusura di questa maschera apri il report o
la maschera successiva, passando il valore della textbox ai criteri della
query, ad esempio Forms!MascheraDiRichiesta.TextBox.Text nella casellina del
criterio.
Ciao
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

 quindi come non detto.
Sì,  sì, son sempre io! :-) 

 > DEL_REC
Sorry MA,
per rendere più leggibile la richiesta avevo inserito due a capo Chr(13).


> > In sostanza: come faccio ad andare a capo?
Inserisci questa funzione in un modulo
Public Function MyInputBox(Prompt, Title, Default) As String
MyInputBox = InputBox(Replace(Prompt, "vbcrlf", vbCrLf), Title, Default)
End Function
Quindi nel criterio di selezione del campo
MyInputBox("Inserisci codice" & vbcrlf & "Nota: Se non inserisci nulla
esploderà il PC";"Avvertimento";"Scrivi qui dentro")
Vedi se ti puo' andare
P.S. Access è mooolto versatile.
Saluti,
    Daniele M.


... ragazzi, mi state facendo venire voglia di lavorare con Access...


 flessibile...
Non č proprio cosě.
Certo č che ai primi approcci seri la cosa appare
allucinante.
A me č apparsa tale quando volendo imparare un
linguaggio database in sostituzione del DB III
(mi pare nel '92) mi ci misi d'impegno.
Una follia!
Tornando a noi, prova la soluzione proposta da mcdany
(io l'ho provata ma a me non funziona, forse ho
sbagliato a impostarla).
Ho in mente qualche altra strada, fammi sapere se non
risolvi.
Ciao
Bruno 

 ha scritto:

... ragazzi mi state facendo venire voglia di lavorare con Access...


 ... ragazzi, mi state facendo venire voglia di lavorare con Access...
Comprati una canna da pesca e un buon libro,
forse ti diverti di più.
Sicuramente ne guadagni in salute.
Ciao e benvenuto fra i fan di Access.
Bruno 

 sbagliato a impostarla).
Le funzioni VBA richiedono la virgola come separatore per i parametri,
mentre le espessioni vogliono il punto e virgola.
A me all'inizio non funzionava per questo... :))))
Saluti,
    Daniele M.

 wrote in message 
news:cmgk40$6ko$1...@carabinieri.cs.interbusiness.it...


Da  me occorrono tutte virgole.
Ora funziona, me l'annoto e la conservo.
Strano che in prima istanza quando ho inserito
- abbastanza velocemente a dir il vero -
MyInputBox coi punti e virgola nei Criteria,
non abbia ricevuto messaggio di errore e si sia aperta
la normale finestra di inserimento parametri query.
Non ho posto attenzione ai "punti e virgola", da me
banditi come separatori di stringa avendo OS e Access
in inglese coi separatori decimali e di stringa uguali a
"punto" e "virgola".
Ciao
Bruno

 A me all'inizio non funzionava per questo... :))))
Queste son le cose che mi mandano in bestia con Access!
Nella funzione MyInputBox il Replace lo puoi anche
omettere e inserire Hard CR nel campo o nella finestra
di Zoom.
Bene, ciň trasforma la funzione in:
MyInputBox = InputBox(Prompt, Title, Default)
quindi tanto varrebbe inserire nei criteria semplicemente
InputBox(.....).
Be', cosě facendo ricevo messaggio di errore:
"Function is not available in expressions";
semplicemente anteponendo "My" a "InputBox"
tutto funziona bene.
Come se InputBox fosse una funzione e MyInputBox
invece no!
Misteri
Bruno 

 esploderà il PC";"Avvertimento";"Scrivi qui dentro")
Boh, ho incollato il modulo e l'ho salvato col nome "MyInputBox", ho 
incollato la frase nella query ma se eseguo la query mi apre una finestra 
con scritto ("Funzione "MyInputBox" non definita nell'espressione")
(ho access 2003)
Cosa ho sbagliato? 

 Cosa ho sbagliato?
Come ha precisato mcdany  era una questione di separatore
di stringa. Ora da me funziona avendo sostituito ";" con ",".
Prova a fare altrettanto o viceversa.
Però dal messaggio di errore sembra proprio che la funzione
MyInputBox non sia vista dal sistema. Sei sicuro di averla messa
al posto giusto?
Nella finestra database, pagina Modules, apri un modulo esistente
o ne crei uno nuovo e ci copi dentro le tre righe della funzione.
Poi sempre dall'editor di Visual Basic, nel menu in alto
Debug  => Compila <NomeModulo>.
Se non appaiono messaggi di errore la funzione dovrebbe
essere vista anche dal generatore di query.
Dopodiché lavora su quest'ultimo con virgole e punti e virgola.
Non so che altro dirti. Dovrebbe andare. Anch'io ho Access2003
e da me ora funziona.
Ciao
Bruno

 Debug  => Compila <NomeModulo>.
Questo ora l'ho risolto (invece di fare Debug -> Compila, salvavo 
direttamente il modulo come avrei fatto con una qualsiasi query o maschera)
Ma cmq nn funziona:
1) Mi mette automaticamente "vbcrlf" tra virgolette
2) Se scrivo soltanto:
MyInputBox("Prima riga" & vbcrlf & "seconda riga") -> mi dice: "Numero 
errato di argomenti usati con la funzione nell'espressione della query 
'(((tabella.campo)=MyInputBox("Prima riga" & "vbcrlf" & "seconda riga")))'
3) Se scrivo:
MyInputBox("Prima riga" & vbcrlf & "seconda riga","terza riga") -> mi dice 
"Operando o operatore mancante, carattere o virgola non valida oppure testo 
immesso non racchiuso tra virgolette."
4) Se scrivo:
MyInputBox("Prima riga" & vbcrlf & "seconda riga";"terza riga") -> mi da lo 
stesso messaggio di errore visto nel caso visto al numero 2
5) Se scrivo:
MyInputBox("Prima riga" & vbcrlf & "seconda riga","terza riga","quarta 
riga") -> messaggio di errore visto al punto 3
6) Se scrivo:
MyInputBox("Prima riga" & vbcrlf & "seconda riga";"terza riga";"quarta 
riga") -> Mi apre una finestra con così:
____________________________________
| Prima riga                                       ______   |
| seconda riga                                   |_OK_ |   |
|                                                       ______   |
|                                                      |Annulla|   |
|                                                                      |
| ________________________________     |
| |_quarta_riga______________________|    |
|___________________________________|
...non ci sto capendo + nulla...
dov'è la 3° riga??? Perchè appare così???
|

Non è possibile!!! :**-(
Sono riuscito a capire come funziona
(MyInputBox("prima riga" & vbcrlf & "seconda riga" & vbcrlf & "... n riga"; 
"titolo finestra";"Contenuto predefinito").)
Ma ora c'è un altro problema :-((((
Nella query che devo fare la ricerca viene effettuata in 8 diversi campi, 
quindi mettevo in oppure nei criteri la finestra, e mettendola nella forma 
"[Inserisci]" in tutte le caselle di tutti i record in oppure funzionava 
(apriva un'unica finestra e ciò che veniva immesso in essa dall'utente lo 
cercava in tutti gli 8 campi!!!). Ora invece mi apre 8 finestre di input 
(anche se ho scritto sempre la stessa identica stringa 
("MyInputBox("Inserisci il nome:" & "vbcrlf" & "vbcrlf" & "vbcrlf" & "Nota: 
La ricerca verrà effettuata nei campi:" & "vbcrlf" & "- Produzione" & 
"vbcrlf" & "- Distribuzione" & "vbcrlf" & "- Fotografia" & "vbcrlf" & "- 
Montaggio" & "vbcrlf" & "- Musiche" & "vbcrlf" & "- Sceneggiatura" & 
"vbcrlf" & "- Scenografia" & "vbcrlf" & "- Soggetto";"Ricerca 
StaffTecnico";"") in tutti i campi...!)
Come devo fare???????????? 

 dov'č la 3° riga??? Perchč appare cosě???
Scrivi nel campo Criteria del query builder:
MyInpuBox("Prompt" ,"Title" ,"Default")
cosě ti rendi conto di come stanno le cose.
Poi sostituisci "Prompt" con:
"Prima riga" & "vbcrlf" & "Seconda" & "vbcrlf" & "Terza"
Non ho provato perché ho modificato la funzione onde
evitare quei "vbcrlf", ma penso potresti anche scrivere
in luogo di "Prompt":
"Prima riga vbcrlf Seconda vbcrlf Terza"
Fammi sapere
Bruno
PS
Potresti anche scrivere soltanto:
MyInputBox("Prompt") poiché gli altri
due parametri sono opzionali.

 "Prima riga" & "vbcrlf" & "Seconda" & "vbcrlf" & "Terza"
[cut]
Ok, questo l'ho risolto, come dicevo nel post sopra... ma rimane il problema 
lě esposto!!! 

 Ma ora c'è un altro problema :-((((
Per me esiste solo una soluzione:
- aprire/creare una Form
- inserirvi un Command Button
- In OnClick del Command Button inserire il codice VBA
  che apra un InputBox (nel quale puoi mettere tutte le
  linee di informazione che ti interessano) per l'acquisizione
  dell'unico parametro per tutti gli otto campi, che crei la
  query e te l'apra.
Se vuoi te lo confeziono e te l'invio
Ciao
Bruno