Newsgroup: it.comp.appl.access
Titolo: Creazione campo memo con "INSERT INTO"

Salve a tutti,
ho il seguente problema: in una query di creazione tabella vi sono alcuni 
campi di tipo memo, ma questi vengono convertiti in formato Testo ed il 
testo troncato. Ho provato ad impostare la loro definizione in "PARAMETERS", 
ma non funziona .
Es.: PARAMETERS AliquoteIva.Esenzione Text;
SELECT AliquoteIva.Esenzione INTO TabEse
FROM AliquoteIva;
Quando la eseguo, mi viene richiesto il parametro "esenzione"
Come posso fare?
Grazie a tutti
-- 
Nina 


Ciao!
AFAIK il tipo di campo da creare viene determinato nel momento in cui
viene eseguita la SELECT, ed il SQL (di Access?) non mette a
disposizione "manipolatori" di tipo idonei alla bisogna.
Usare una funzione VBA propria non risolve comunque dato che il tipo
di dati memo non esiste, e restituire una string ci riporta al punto
di partenza :(
Quindi, l'unica soluzione che mi viene in mente è (ma l'avrai già
pensata tu, vero?):
SELECT TblDati.SarebbeUnCampoMemo INTO NuovaTbl FROM TblDati WHERE
FALSE;
ALTER TABLE NuovaTbl ALTER COLUMN SarebbeUnCampoMemo LONGTEXT;
INSERT INTO NuovaTbl SELECT * FROM TblDati;
HTH
Popi

>Popi
Ciao
Nina


Il troncamento e cambio del tipo non è normale.
Se il campo è definito come tipo memo nella tabella AliquoteIva
dovrebb'essere anche un memo nella nuova tabella e prendere
tutti i dati. Certo devi togliere il parametro dalla query. Cioè usare:
SELECT AliquoteIva.Esenzione INTO TabEse
FROM AliquoteIva;
Se con questa stringa SQL viene troncato di nuovo:
"AliquoteIva" è una tabella di Access/JET o di un sistema diverso?
Quale versione di Access usi?
Il mdb o accdb è nel formato di quale versione di Access?
-- 
Ciao
Karl
*********
Access FAQ: 
www.donkarl.com/it
 


Guten Tag Karl :)
Premessa: test fatto con mdb in AXP.
Se ho una Tabella1 (Campo1 Memo, Campo2 Testo, Campo3 Numerico) e
faccio una
SELECT Tabella1.Campo1, Tabella1.Campo2, Tabella1.Campo3 INTO Tabella2
FROM Tabella1;
ottengo una Tabella2 con struttura identica all'originale.
Se la query fosse
SELECT Tabella1.Campo1 AS NuovoMemo, Tabella1.Campo2, Tabella1.Campo3
INTO Tabella2 FROM Tabella1;
la struttura di Tabella2 è ancora identica all'originale.
Se, invece, eseguo
SELECT [Tabella1].[Campo1] & "" AS NuovoMemo, Tabella1.Campo2,
Tabella1.Campo3 INTO Tabella2 FROM Tabella1;
il Campo1 diventa Testo (255).
E questo anche se il Campo1 originale contiene dati oltre i 255
caratteri, ma potrebbe starci visto che lo stiamo "manipolando" con
una stringa.
Solo che il comportamento è identico facendo una
SELECT [Tabella1].[Campo1] & [Tabella1].[Campo1] AS NuovoMemo,
Tabella1.Campo2, Tabella1.Campo3 INTO Tabella2 FROM Tabella1;
La domanda allora diventa: svolgere una qualsiasi operazione su un
campo memo lo converte da LongText a Text?
Nina: stai semplicemente accodando dati (come nell'esempio che hai
dato) o li stai manipolando in qualche modo?
HTH
Popi

 ...
Sì, perché in questi casi Access "ottimizza" ad un Text.
Per questo ho chiesto esplicitamente con la stringa senza operazione. ;-)


 Per questo ho chiesto esplicitamente con la stringa senza operazione. ;-)
Ah ... non l'avevo intesa anche in quel senso, pensavo ti riferissi
solo alla questione PARAMETERS :)
Ciao!
Popi

 Il mdb o accdb è nel formato di quale versione di Access?
Uso come front-end un mdb creato Access 2002 nel formato predefinito 2000.
Grazie
Ciao,
Nina
