Discussione:
campo memo - copia incolla
(troppo vecchio per rispondere)
Serten
2006-03-19 22:46:41 UTC
Permalink
salve a tutti! ho un problema con un campo memo.
ho posizionato in una maschera un controllo di testo associato ad un campo
memo. se copio un testo da un file di Word o blocco note e lo incollo in
quel campo nella maschera viene visualizzato tutto (e quindi l'operazione
pare corretta). ma se, attraverso una semplicissima query di accodamento che
prende i dati dai campi della maschera, salvo i dati nella tabella, mi viene
salvata solo una parte del testo che ho incollato nel campo memo, circa
duecento caratteri che si concludono con dei strani caratteri ascii.
se invece copio lo stesso testo sempre da word o dal blocco note e lo
incollo direttamente nel campo memo della tabella (in visualizzazione dati)
viene incollato tutto.
perché questo strano malfunzionamento? come posso risolvere il problema?
grazie in anticipo a chi vorrà aiutarmi.
giorgio rancati
2006-03-20 00:08:52 UTC
Permalink
Post by Serten
salve a tutti! ho un problema con un campo memo.
ho posizionato in una maschera un controllo di testo associato ad un campo
memo. se copio un testo da un file di Word o blocco note e lo incollo in
quel campo nella maschera viene visualizzato tutto (e quindi l'operazione
pare corretta). ma se, attraverso una semplicissima query di accodamento che
prende i dati dai campi della maschera, salvo i dati nella tabella, mi viene
salvata solo una parte del testo che ho incollato nel campo memo, circa
duecento caratteri che si concludono con dei strani caratteri ascii.
se invece copio lo stesso testo sempre da word o dal blocco note e lo
incollo direttamente nel campo memo della tabella (in visualizzazione dati)
viene incollato tutto.
perché questo strano malfunzionamento? come posso risolvere il problema?
grazie in anticipo a chi vorrà aiutarmi.
Ciao Serten,
immagino che la tua query di accodamento sia fatta così
----
INSERT INTO TAB1 VALUES(Forms!NomeMaschera.testo0)
----

Per risolvere crea la tua query di accodamento così
----
INSERT INTO TAB1 VALUES(?)
----
la salvi con il nome che vuoi, ad esempio AccodaTab1
e poi la esegui così
----
Currentproject.connection.AccodaTab1 Forms!NomeMaschera.testo0
----

Ciao
--
Giorgio Rancati
[Office Access MVP]
Serten
2006-03-20 21:14:07 UTC
Permalink
grazie mille! funziona!!! se hai tempo e voglia, giusto per curiosità, mi
spiegheresti in due righe il perché di questo strano funzionamento? perché è
necessario usare quella riga di codice?
in ogni caso, grazie ancora
Post by giorgio rancati
Post by Serten
salve a tutti! ho un problema con un campo memo.
ho posizionato in una maschera un controllo di testo associato ad un campo
memo. se copio un testo da un file di Word o blocco note e lo incollo in
quel campo nella maschera viene visualizzato tutto (e quindi l'operazione
pare corretta). ma se, attraverso una semplicissima query di accodamento
che
Post by Serten
prende i dati dai campi della maschera, salvo i dati nella tabella, mi
viene
Post by Serten
salvata solo una parte del testo che ho incollato nel campo memo, circa
duecento caratteri che si concludono con dei strani caratteri ascii.
se invece copio lo stesso testo sempre da word o dal blocco note e lo
incollo direttamente nel campo memo della tabella (in visualizzazione
dati)
Post by Serten
viene incollato tutto.
perché questo strano malfunzionamento? come posso risolvere il problema?
grazie in anticipo a chi vorrà aiutarmi.
Ciao Serten,
immagino che la tua query di accodamento sia fatta così
----
INSERT INTO TAB1 VALUES(Forms!NomeMaschera.testo0)
----
Per risolvere crea la tua query di accodamento così
----
INSERT INTO TAB1 VALUES(?)
----
la salvi con il nome che vuoi, ad esempio AccodaTab1
e poi la esegui così
----
Currentproject.connection.AccodaTab1 Forms!NomeMaschera.testo0
----
Ciao
--
Giorgio Rancati
[Office Access MVP]
giorgio rancati
2006-03-20 23:15:19 UTC
Permalink
Post by Serten
grazie mille! funziona!!! se hai tempo e voglia, giusto per curiosità, mi
spiegheresti in due righe il perché di questo strano funzionamento? perché è
necessario usare quella riga di codice?
in ogni caso, grazie ancora
Ciao Serten,

esattamente non sò perchè non funziona, però mi sarei stupido del contrario
:-)
L'istruzione
----
INSERT INTO TAB1 VALUES(Forms!NomeMaschera.testo0)
----
non è documentata (o perlomeno non ho mai trovato documentazione ufficiale),
è vero che funziona ma utilizzarla con un testo di grosse dimensioni mi
sembra una sfida alla sorte :-)

Invece l'istruzione VBA che ti ho suggerito è documentata ed è una
scorciatoia del metodo Execute dell'oggetto Command
----
Connection Object
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/ado270/htm/mdobjconnection.asp
----
che prevede tra i tipi di parametri anche il tipo di dato adLongVarChar.

Ciao
--
Giorgio Rancati
[Office Access MVP]
Serten
2006-03-21 07:06:41 UTC
Permalink
grazie ancora!!!
Post by giorgio rancati
Post by Serten
grazie mille! funziona!!! se hai tempo e voglia, giusto per curiosità, mi
spiegheresti in due righe il perché di questo strano funzionamento?
perché
è
Post by Serten
necessario usare quella riga di codice?
in ogni caso, grazie ancora
Ciao Serten,
esattamente non sò perchè non funziona, però mi sarei stupido del contrario
:-)
L'istruzione
----
INSERT INTO TAB1 VALUES(Forms!NomeMaschera.testo0)
----
non è documentata (o perlomeno non ho mai trovato documentazione ufficiale),
è vero che funziona ma utilizzarla con un testo di grosse dimensioni mi
sembra una sfida alla sorte :-)
Invece l'istruzione VBA che ti ho suggerito è documentata ed è una
scorciatoia del metodo Execute dell'oggetto Command
----
Connection Object
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/ado270/htm/mdobjconnection.asp
----
che prevede tra i tipi di parametri anche il tipo di dato adLongVarChar.
Ciao
--
Giorgio Rancati
[Office Access MVP]
Serten
2006-03-21 11:55:59 UTC
Permalink
altro problemino!
anziché quel solo campo Memo, devo accodare alla tabella anche altri valori
che prendo dalla maschera.
usando la query:
INSERT INTO DATI (campo1, campo2, campo3)
VALUES ([?], [?], [?])
e usando:
CurrentProject.Connection.Accoda Forms![Maschera].txtCampo1,
Forms![Maschera].txtCampo2, Forms![Maschera].txtCampo3
mi accoda alla tabella sempre il primo valore per tutti e tre i campi. cioè
mette il valore di txtCampo1 della Maschera in Campo1, Campo2 e Campo3.

dove sbaglio?
Post by giorgio rancati
Post by Serten
grazie mille! funziona!!! se hai tempo e voglia, giusto per curiosità, mi
spiegheresti in due righe il perché di questo strano funzionamento?
perché
è
Post by Serten
necessario usare quella riga di codice?
in ogni caso, grazie ancora
Ciao Serten,
esattamente non sò perchè non funziona, però mi sarei stupido del contrario
:-)
L'istruzione
----
INSERT INTO TAB1 VALUES(Forms!NomeMaschera.testo0)
----
non è documentata (o perlomeno non ho mai trovato documentazione ufficiale),
è vero che funziona ma utilizzarla con un testo di grosse dimensioni mi
sembra una sfida alla sorte :-)
Invece l'istruzione VBA che ti ho suggerito è documentata ed è una
scorciatoia del metodo Execute dell'oggetto Command
----
Connection Object
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/ado270/htm/mdobjconnection.asp
----
che prevede tra i tipi di parametri anche il tipo di dato adLongVarChar.
Ciao
--
Giorgio Rancati
[Office Access MVP]
giorgio rancati
2006-03-21 12:46:05 UTC
Permalink
Post by Serten
altro problemino!
anziché quel solo campo Memo, devo accodare alla tabella anche altri valori
che prendo dalla maschera.
INSERT INTO DATI (campo1, campo2, campo3)
VALUES ([?], [?], [?])
CurrentProject.Connection.Accoda Forms![Maschera].txtCampo1,
Forms![Maschera].txtCampo2, Forms![Maschera].txtCampo3
mi accoda alla tabella sempre il primo valore per tutti e tre i campi. cioè
mette il valore di txtCampo1 della Maschera in Campo1, Campo2 e Campo3.
dove sbaglio?
umm... con le parentesi quadre a me non funziona per niente, senza [] mi
funziona bene, prova a toglierle
----
INSERT INTO DATI (campo1, campo2, campo3)
VALUES (?,?,?)
----

se anche così non dovesse andare prova così
----
INSERT INTO DATI (campo1, campo2, campo3)
SELECT ? AS Espr1, ? AS Espr2, ? AS Espr3;
----

Ciao
--
Giorgio Rancati
[Office Access MVP]
Serten
2006-03-21 13:24:32 UTC
Permalink
continua a non funzionarmi.
quando salvo la query, Access aggiunge in automatico le parentesi quadre
attorno a ? e ciò crea il malfunzionamento.
INSERT INTO DATI ( Materia, Tipologia, Tipo, Descrizione )
SELECT [?] AS Espr1, [?] AS Espr2, [?] AS Espr3, [?] AS Espr4;
come posso impedire ad Access di aggiungere le parentesi quadre?
oppure come posso scrivere la query in VB in modo da farla eseguire al
comando
CurrentProject.Connection ?
grazie
Post by Serten
Post by Serten
altro problemino!
anziché quel solo campo Memo, devo accodare alla tabella anche altri
valori
Post by Serten
che prendo dalla maschera.
INSERT INTO DATI (campo1, campo2, campo3)
VALUES ([?], [?], [?])
CurrentProject.Connection.Accoda Forms![Maschera].txtCampo1,
Forms![Maschera].txtCampo2, Forms![Maschera].txtCampo3
mi accoda alla tabella sempre il primo valore per tutti e tre i campi.
cioè
Post by Serten
mette il valore di txtCampo1 della Maschera in Campo1, Campo2 e Campo3.
dove sbaglio?
umm... con le parentesi quadre a me non funziona per niente, senza [] mi
funziona bene, prova a toglierle
----
INSERT INTO DATI (campo1, campo2, campo3)
VALUES (?,?,?)
----
se anche così non dovesse andare prova così
----
INSERT INTO DATI (campo1, campo2, campo3)
SELECT ? AS Espr1, ? AS Espr2, ? AS Espr3;
----
Ciao
--
Giorgio Rancati
[Office Access MVP]
giorgio rancati
2006-03-21 13:49:36 UTC
Permalink
Post by Serten
continua a non funzionarmi.
quando salvo la query, Access aggiunge in automatico le parentesi quadre
attorno a ? e ciò crea il malfunzionamento.
INSERT INTO DATI ( Materia, Tipologia, Tipo, Descrizione )
SELECT [?] AS Espr1, [?] AS Espr2, [?] AS Espr3, [?] AS Espr4;
come posso impedire ad Access di aggiungere le parentesi quadre?
che versione di Access hai ?
Post by Serten
oppure come posso scrivere la query in VB in modo da farla eseguire al
comando
CurrentProject.Connection ?
grazie
puoi creare la query di accodamento così
----
Currentproject.Connection.Execute _
"CREATE PROCEDURE Accoda AS " & _
"INSERT INTO DATI (Materia, Tipologia, Tipo, Descrizione) " & _
"VALUES (?,?,?,?)"
----

se vuoi puoi anche non creare la query di accodamento e fare tutto da codice
così
-----
Dim Cn As New ADODB.Connection
Dim cmd As New ADODB.Command

Set Cn = CurrentProject.Connection
cmd.Name = "Accoda"
cmd.CommandText = _
"INSERT INTO DATI (Materia, Tipologia, Tipo, Descrizione) " & _
"VALUES (?,?,?,?)"

cmd.ActiveConnection = Cn

Cn.Accoda Forms!Maschera1!Testo1, _
Forms!Maschera1!Testo2, _
Forms!Maschera1!Testo3, _
Forms!Maschera1!Testo4

Set cmd = Nothing
Set cn = Nothing
----

Ciao
--
Giorgio Rancati
[Office Access MVP]
Serten
2006-03-21 14:01:39 UTC
Permalink
funziona!!! io ho Access 2002
grazie infinite. davvero gentile
ciao
Post by giorgio rancati
Post by Serten
continua a non funzionarmi.
quando salvo la query, Access aggiunge in automatico le parentesi quadre
attorno a ? e ciò crea il malfunzionamento.
INSERT INTO DATI ( Materia, Tipologia, Tipo, Descrizione )
SELECT [?] AS Espr1, [?] AS Espr2, [?] AS Espr3, [?] AS Espr4;
come posso impedire ad Access di aggiungere le parentesi quadre?
che versione di Access hai ?
Post by Serten
oppure come posso scrivere la query in VB in modo da farla eseguire al
comando
CurrentProject.Connection ?
grazie
puoi creare la query di accodamento così
----
Currentproject.Connection.Execute _
"CREATE PROCEDURE Accoda AS " & _
"INSERT INTO DATI (Materia, Tipologia, Tipo, Descrizione) " & _
"VALUES (?,?,?,?)"
----
se vuoi puoi anche non creare la query di accodamento e fare tutto da codice
così
-----
Dim Cn As New ADODB.Connection
Dim cmd As New ADODB.Command
Set Cn = CurrentProject.Connection
cmd.Name = "Accoda"
cmd.CommandText = _
"INSERT INTO DATI (Materia, Tipologia, Tipo, Descrizione) " & _
"VALUES (?,?,?,?)"
cmd.ActiveConnection = Cn
Cn.Accoda Forms!Maschera1!Testo1, _
Forms!Maschera1!Testo2, _
Forms!Maschera1!Testo3, _
Forms!Maschera1!Testo4
Set cmd = Nothing
Set cn = Nothing
----
Ciao
--
Giorgio Rancati
[Office Access MVP]
giorgio rancati
2006-03-21 14:07:57 UTC
Permalink
Post by Serten
funziona!!! io ho Access 2002
grazie infinite. davvero gentile
ciao
anche io ho Access2002, strana questa differenza di comportamento.
Io però sono fermo alla SP2, non digerisco alcuni bug introdotti dalla Sp3

:-)
--
Giorgio Rancati
[Office Access MVP]
Loading...