Newsgroup: it.comp.appl.access
Titolo: problema sintassi in espressione dinamica

ciao a tutti
 
ho problema con questa espressione:
 
Eval "fctEmail" & (X) & "_invA('" & Me & ",'" & Me.Name & IIf(Me.OpenArgs = 3, "1')", "')")
 
senza (Me)
cioe' in questo modo, va bene......
Eval "fctEmail" & (X) & "_invA('" & Me.Name & IIf(Me.OpenArgs = 3, "1')", "')")
 
grazie.


A che ti serve il Me?
Me e' un OGGETTO come pretendi di infilarlo in una cosa che e' una stringa?
Se ho capito quello che vorresti fare :
Eval "fctEmail" & (X) & "_invA(Me,'" & Me.Name & IIf(Me.OpenArgs = 3, 
"1')", "')")
 
che potrebbe dar luogo a chiamata di
fctEmailBoh_invA(Me,"nomeform1")
-- 
ac (x=y-1)
Aborro il Killfile
(La violenza e' l'ultimo rifugio degli incapaci -Salvor Hardin-)


ciao Alessandro e grazie.
Hai ben capito cosa cerco di fare,...........
ma ora ho l'errore:
Impossibile trovare il nome 'Me' specificato nell'espressione.
 
una delle function da richiamare è......
 
*********inizio**********
Impossibile trovare il nome 'Me' specificato nell'espressione
 
Public Function fctEmailCliente_InvA(frm As Form, strFrm As String)
 
Dim strSql As String
 
strSql = vbNullString
strSql = strSql & "SELECT "
strSql = strSql & "IdEmailCliente, "
strSql = strSql & "IdCliente, "
strSql = strSql & "EmailCliente As Email, "
Select Case strFrm
  Case Is = "M_InvioListaCaricoCliente"
  strSql = strSql & "Invio_ListaCarico As InvioDoc, "
  strSql = strSql & "InvA "
  Case Is = "M_InvioListaCaricoCliente1"
  strSql = strSql & "Invio_ListaCarico1 As InvioDoc, "
  strSql = strSql & "InvA1 As InvA "
  Case Is = "M_InvioSollecitoChiusure"
  strSql = strSql & "Invio_SollecitoChiusure As InvioDoc, "
  strSql = strSql & "InvA2 As InvA "
  Case Is = "M_InvioMiaFattura"
  strSql = strSql & "Invio_MiaFattura As InvioDoc, "
  strSql = strSql & "InvA3 As InvA "
  Case Is = "M_InvioAnagrafica"
  strSql = strSql & "Invio_AnagraficaCliente As InvioDoc, "
  strSql = strSql & "InvA4 As InvA "
 
End Select
strSql = strSql & "FROM TbEmailClienti "
strSql = strSql & "WHERE IdCliente IN (" & frm!IdCliente & ")"
strSql = strSql & "ORDER BY EmailCliente"
 
DBEngine(0)(0).QueryDefs("Qry_Email").SQL = strSql
 
End Function
 
*********fine**********


Nella funzione NON fai riferimento a frm quindi:
a che ti serve passare Me?


E l'eval...? 
 
@Alex


 
Non so se l'eval riesce a risolvere il "Me"  ma.....
se non gli puoi menare gli giri intorno
Robe del genere le ho fatte ma ogni giorno che passa perdo pezzi di
/conoscenza/
 
Se toglie il "Me", che non sembra servire, problemi non ne ha
Se insiste e vuole passare "Me" (se la eval non riesce a risolvere)
ha il nome del form e, come mi insegni, tramite quello fa
un giretto sulla collezione "Forms"


> E l'eval...?
P.S.
Potrebbe essere un problema di /visibilità/ di "Me".



grazie Alex e
grazie Alessandro
se toldo il Me come faccio a passargli
(" & frm!IdCliente & ")" che mi serve per filtrare
la query?


Franco nella funzione che hai postato non mi sembra di vedere frm!IdCliente
 
Comunque hai 3 (dicasi tre) modi per /giragliintorno/
Il piu' brutto ma utile e' definire una variabile pubblica
Public mySarchiapone as Form
e /prima/ della eval fai
un
Set mySarchiapone=me
e poi usi mySarchiapone!IdCliente
senza passare il  Me ma a quel punto non ti serve nemmeno passare
me.name
 perche' lo trovi in
mySarchiapone.Name



grazie Alessandro
ci sono riuscito...
anche se è strano che con (Me) non sia possibile.