Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

funzione non definita e riferimenti

112 views
Skip to first unread message

max

unread,
Jun 18, 2010, 3:28:05 AM6/18/10
to
ho creato un software che distribuiamo ai nostri clienti, ogni tanto capita
che su qualche pc mi da un errore di funzione non definita di solito il
left. questo problema dovrebbe essere dovuto ad un riferimento mancante per
cui mi sembra sul sito comune mi sono creato un programmino sempre in access
che verifica i riferimenti. Il problema � che mi sono ritrovato in due casi
in cui i riferimenti ci sono tutti ma la funzione left continua ad essere no
definita, cosa posso fare?
grazie per chi vorr� aiutarmi
ciao
Max


radicale.002

unread,
Jun 19, 2010, 5:42:13 PM6/19/10
to
On 18 Giu, 09:28, "max" <pi...@pippo.it> wrote:
> ho creato un software che distribuiamo ai nostri clienti, ogni tanto capita
> che su qualche pc mi da un errore di funzione non definita di solito il
> left. questo problema dovrebbe essere dovuto ad un riferimento mancante

Strano ...
Mi mandi il pezzetto di codice dove usi la left ( ) ?
Con le dichiarazioni delle eventuali variabili che usa.

Carlo Costarella

unread,
Jun 20, 2010, 2:24:20 PM6/20/10
to

"max" <pi...@pippo.it> ha scritto nel messaggio
news:hvf765$2am$1...@news.task.gda.pl...

> ho creato un software che distribuiamo ai nostri clienti, ogni tanto
> capita che su qualche pc mi da un errore di funzione non definita di
> solito il left. questo problema dovrebbe essere dovuto ad un riferimento
> mancante per cui mi sembra sul sito comune mi sono creato un programmino
> sempre in access che verifica i riferimenti. Il problema è che mi sono
> ritrovato in due casi in cui i riferimenti ci sono tutti ma la funzione
> left continua ad essere no definita, cosa posso fare?
> grazie per chi vorrà aiutarmi
> ciao
> Max
>
In genere è un riferimento mancante...Fa parte di VBA.strings (
C:\Programmi\File comuni\Microsoft Shared\VBA\VBA6\VBE6.DLL)
quindi non può mancare
Ricorda sempre che nelle query si usa il punto e virgola anzichè la virgola
come nel codice.

Ciao, Carlo


max

unread,
Jun 22, 2010, 7:57:40 AM6/22/10
to

"Carlo Costarella" <carloco...@libero.it> ha scritto nel messaggio
news:hvlmch$qi9$1...@tdi.cu.mi.it...
Caro Carlo
sinceramente non ho capito, io verifico che il vbe6.ddl è presente nella
cartella, anche se (vado a memoria) essendo vista la cartella è programma
files/common files/ ecc...
per quello che riguarda il resto il software funziona egregiamente su un
centinaio di pc e quindi presumo che errori non ce ne siano
ciao
Max


max

unread,
Jun 22, 2010, 7:59:00 AM6/22/10
to

"radicale.002" <radica...@gmail.com> ha scritto nel messaggio
news:dfc42803-d11e-4e25...@e5g2000yqn.googlegroups.com...

non è un codice ma una query con cui popolo una maschera, non fa riferimento
a variabili ma solo a valori di un campo, tieni anche presente che lo stesso
gira su un centinaio di pc con access2003 - 2007 e runtime 2007 senza
problemi
ciao
Max


Carlo Costarella

unread,
Jun 22, 2010, 1:09:10 PM6/22/10
to

"max" <pi...@pippo.it> ha scritto nel messaggio
news:hvq8fl$jjd$1...@news.task.gda.pl...
>
cut

> sinceramente non ho capito, io verifico che il vbe6.ddl è presente nella
> cartella, anche se (vado a memoria) essendo vista la cartella è programma
> files/common files/ ecc...
> per quello che riguarda il resto il software funziona egregiamente su un
> centinaio di pc e quindi presumo che errori non ce ne siano
> ciao
> Max

Certo che vbe6.dll è presente, altrimenti non potrebbe proprio avviarsi
Access.
Volevo dire che Left fa parte di VBA.strings (vbe6.dll) e dunque quella
segnalazione, errata, va presa come un errore, in genere, per un riferimento
mancante ma che non ha nulla a che vedere con la dll segnalata.
Controlla bene tutti i riferimenti...a manina e per ogni riferimento
scriviti la versione e controlla che sia compatibile con la versione di
Access che usi. Per esempio comdlg32 o comctl32, se le usi, potrebbero dare
dei problemi a seconda delle versioni. Idem per mascal.ocx.
Fino ad ora non hai indicato quali riferimenti usi.

Ciao, Carlo


radicale.002

unread,
Jun 22, 2010, 6:00:41 PM6/22/10
to
On 22 Giu, 13:59, "max" <pi...@pippo.it> wrote:

> non è un codice ma una query con cui popolo una maschera, non fa riferimento
> a variabili ma solo a valori di un campo, tieni anche presente che lo stesso
> gira su un centinaio di pc con access2003 - 2007 e runtime 2007 senza
> problemi

Ma come la scrivi ? Cosi' ? :
select * from ... Where left( ' " & pippo & " ',2) = 'ciccio';
dove pippo e' una variabile stringa ?

Mmmmhhh ... Non e' che ... Eh, ma dovrei mettere le mani
sul pc incriminato.

Non e' questione di libreria, mi sa tanto che e' questione
di installazione dell' Access.

max

unread,
Jun 23, 2010, 3:46:54 AM6/23/10
to

"Carlo Costarella" <carloco...@libero.it> ha scritto nel messaggio
news:hvqqne$94p$1...@tdi.cu.mi.it...
elenco riferimenti
visual basic for application C:\Programmi\File comuni\Microsoft
Shared\VBA\VBA6\VBE6.DLL
Microsoft access 11.0 object library C:\Programmi\Microsoft
Office\OFFICE11\msacc.olb
Microsoft DAO 3.6 Object Library C:\Programmi\File comuni\Microsoft
Shared\DAO\dao360.dll
Microsft Activex data objects 2.1 Library C:\Programmi\File
comuni\System\ado\msado21.tlb
Ole automation c:\windows\system32\stdole2.tlb
Microsoft word 11.0 object library C:\Programmi\Microsoft
Office\OFFICE11\msword.olb
Microsoft ADO ext 2.8 for DDL and security C:\Programmi\File
comuni\System\ado\msadox.dll
ciao
Max

Carlo Costarella

unread,
Jun 23, 2010, 11:37:20 AM6/23/10
to

"max" <pi...@pippo.it> ha scritto nel messaggio
news:hvse5f$bc6$1...@news.task.gda.pl...

>
> "Carlo Costarella" <carloco...@libero.it> ha scritto nel messaggio
> news:hvqqne$94p$1...@tdi.cu.mi.it...
>>
>> "max" <pi...@pippo.it> ha scritto nel messaggio
>> news:hvq8fl$jjd$1...@news.task.gda.pl...
>>>
>> cut
>>> sinceramente non ho capito, io verifico che il vbe6.ddl č presente nella
>>> cartella, anche se (vado a memoria) essendo vista la cartella č
>>> programma files/common files/ ecc...
>>> per quello che riguarda il resto il software funziona egregiamente su un
>>> centinaio di pc e quindi presumo che errori non ce ne siano
>>> ciao
>>> Max
>>
>> Certo che vbe6.dll č presente, altrimenti non potrebbe proprio avviarsi

Se usi contemporaneamente ADO e DAO devi ricordare di dichiarare le
variabili in modo esplicito...sempre.
Per esempio: anzichč Dim R as Recordset
Dim R as DAO.Recordset

Credo proprio che il problema sia lě.

Ciao, Carlo


max

unread,
Jun 25, 2010, 4:37:31 AM6/25/10
to

"Carlo Costarella" <carloco...@libero.it> ha scritto nel messaggio
news:hvt9n5$ajn$1...@tdi.cu.mi.it...

>
> "max" <pi...@pippo.it> ha scritto nel messaggio
> news:hvse5f$bc6$1...@news.task.gda.pl...
>>
>> "Carlo Costarella" <carloco...@libero.it> ha scritto nel messaggio
>> news:hvqqne$94p$1...@tdi.cu.mi.it...
>>>
>>> "max" <pi...@pippo.it> ha scritto nel messaggio
>>> news:hvq8fl$jjd$1...@news.task.gda.pl...
>>>>
>>> cut
>>>> sinceramente non ho capito, io verifico che il vbe6.ddl è presente
>>>> nella cartella, anche se (vado a memoria) essendo vista la cartella è
>>>> programma files/common files/ ecc...
>>>> per quello che riguarda il resto il software funziona egregiamente su
>>>> un centinaio di pc e quindi presumo che errori non ce ne siano
>>>> ciao
>>>> Max
>>>
>>> Certo che vbe6.dll è presente, altrimenti non potrebbe proprio avviarsi
> Per esempio: anzichè Dim R as Recordset
> Dim R as DAO.Recordset
>
> Credo proprio che il problema sia lì.
>
> Ciao, Carlo
perdonami Carlo ma non ho capito se tutte le variabili (anche ad esempio la
classica Stdocname as string) devono essere dichiarate in modo esplicito o
solo quelle che riguardano i recordset.
In questo ultimo caso io ho una solo variabile non dichiarata ma la funzione
a cui è legata funziona perfettamente (è una funzione con cui riallega i
back end)
ciao e grazie
Max


Carlo Costarella

unread,
Jun 25, 2010, 3:23:51 PM6/25/10
to

"max" <pi...@pippo.it> ha scritto nel messaggio
news:i01psc$lqv$1...@news.task.gda.pl...
>
cut

>> Se usi contemporaneamente ADO e DAO devi ricordare di dichiarare le
>> variabili in modo esplicito...sempre.

>> Per esempio: anzichč Dim R as Recordset
>> Dim R as DAO.Recordset
>>
>> Credo proprio che il problema sia lě.


>>
>> Ciao, Carlo
> perdonami Carlo ma non ho capito se tutte le variabili (anche ad esempio
> la classica Stdocname as string) devono essere dichiarate in modo
> esplicito o solo quelle che riguardano i recordset.
> In questo ultimo caso io ho una solo variabile non dichiarata ma la

> funzione a cui č legata funziona perfettamente (č una funzione con cui

> riallega i back end)
> ciao e grazie
> Max

No, non tutte le variabili.
La classe recordset č comune sia ad ADO che a DAO dunque va dichiarata
esplicitamente.
Cosě come le classi Field(s), Error(s), Parameter(s), Property(ies) e molte
altre.
Se non usi alcuna classe di ADO prova a togliere il riferimento (Microsoft
Activex Data Objects) e vedi come va.

Ciao, Carlo


mau_rizio

unread,
Jun 26, 2010, 6:27:12 AM6/26/10
to
On 23 Giu, 09:46, "max" <pi...@pippo.it> wrote:
> "Carlo Costarella" <carlocoslib...@libero.it> ha scritto nel messaggionews:hvqqne$94p$1...@tdi.cu.mi.it...

Per esperienza di posso dire di controllare che tutti abbiano la
stessa versione di word, piu' in specifico la versione di msword.olb
A quanto ho capito se sul pc del destinatario la versione del
riferimento e' uguale o successiva a quella del pc di sviluppo non ci
sono problemi.
Se e' precedente quel riferimento salta ed invalida tutta
l'applicazione.

Ciao
mau

max

unread,
Jun 28, 2010, 3:43:20 AM6/28/10
to

"mau_rizio" <alte...@yahoo.it> ha scritto nel messaggio
news:90c4e718-fabb-4047...@q12g2000yqj.googlegroups.com...

Ciao
mau

partendo dal presupposto che il mio programma è stato elaborato con access
2003, purtroppo la cosa mi è capitata con 2 pc di cui uno con access 2003 e
uno con access 2007. ho un centinaio di installazioni divise più o meno a
metà con entrambe le versioni (per essere più precisi una metà 2003 e il
restante più o meno equamente diviso tra access 2007 "normale" e runtime) e
questo errore non si verifica; l'unica cosa che faccio "standard" sulle
versioni 2007 è quella di far aggiungere una cartella office11 al
c:\programmi\Microsoft office\ con dentro msword.olb e msacc.olb nella
versione 2003.
ciao
Max


0 new messages