Newsgroup: it.comp.appl.access
Titolo: Ancora Casella Ripilogo!

Alcuni post fa e stato sottoposto un problema in merito a una casella di
riepilogo,
cioč come eseguire una query di accodamento in base a una selezione di una
casella di riepilogo
(avendo come riferimento filtro ID posto nella prima column)
da Alessandro Baraldi mi e stato  suggerito di creare una funzione  Funzione
Public in un modulo:
Public Function retComboCol(strForm as string, strControl as string, intCol
as
integer) as variant
    retComboCol=Forms(strform).Controls(strControl).Clumn(intCol)
End Function
Dalla Qry inserita nella riga Criterio
=retComboCol("miaForm";"MiacaselladiRiepilogo";1)
ma i tutto a generato un errore
Proprietą o metodo non supportati dall'oggetto
MAssimiliano ha risposto che il problema era dovuto a Dao
come poter risolvere il tutto?
Grazie
Ferrari Rino

 Ferrari Rino
Anche se nutro qualche dubbio sulla questione... devi andare in
modalitā Modulo di Form o Codice VBA, dal Menų Strumenti
Riferimenti devi deselezionare Microsoft Activex Data Object
e Selezionare Microsoft DAO 3.51 o 3.6..... ricompila e potrebbe
essere risolto.
@Alex.
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

Ciao Alex Dao 3.6 e perfettamente registrato e come priorità e in cima
all'elenco
quindi i tuoi dubbi sono fondati.
Più tosto potrebbe essere qualche anomalia nella struttura della funzione?
Verificando dopo l'errore in  modalità Debug la struttura:
retComboCol=Forms(strform).Controls(strControl).Clumn(intCol)
mi da perfettamente i valori della form , oggetto e colomn,
altri suggerimenti!
Ciao
Rino

 Rino
Si immaginavo, però non c'è mai fine alle novità..!
Mi viene un'ultimo dubbio....!
Dove hai messo la Funzione e come l'hai inserita nella
Qry.... puoi postare la stringa SQL...!??
Ciao.


 ...
Non so perché vuoi usare una funzione. Ma forse ti aiuta
1. Clumn --> Column
o
2.
http://groups.google.com/groups?&selm=brps6i$65pac$1...@ID-46617.news.uni-berlin.de
-- 
HTH
Karl
*********
Access-FAQ (tedesco): 
http://www.donkarl.com

 ha scritto nel messaggio
news:ca94a5be359632ac0f...@mygate.mailgate.org...

La stringa SQL e:
UPDATE tblOrdiniAcquisti SET tblOrdiniAcquisti.Fatturato = True
WHERE
(((tblOrdiniAcquisti.IDOrdineAcquisti)=retComboCol("Maschera1","ListaDDTAcqu
isto",0)));
Quando vado a lanciare la QUERY mi notifica l'errore
PS: la stringa e stata copiata da struttura SQL cosi come scritta .


Ce  modo di strutturare in maniera differente    Karl!
Ciao Rino

 
http://groups.google.com/groups?&selm=brps6i$65pac$1...@ID-46617.news.uni-berlin.de
Ciao Karl
Se non ricordo male deve inserire il riferimento
alla Colonna 2 in una Query, e a memoria non si
può inserire Forms!NomeForm!NomeCombo.Column(1) nella
Query a menoo di non riscriverla via QueryDef...!
Per questo gli ho suggerito la Funzione che non farebbe
altro che restituire il Valore associato alla Column(x>1)


 altro che restituire il Valore associato alla Column(x>1)
Non hai letto cosa ho scritto nel link ?
http://groups.google.com/groups?&selm=brps6i$65pac$1...@ID-46617.news.uni-berlin.de
-- 
cu


 --
 Si Karl ma mi da solo il dato selezionato, se e una multi selezione per far
si che la
QRY  venga effetuata su tutte le righe selezionate?
Ciao
Rino

 Non hai letto cosa ho scritto nel link ?
No, ma adesso si....!
Ottimo.


 Ferrari Rino
Io ho provato togliendo il riferimento a Column e funziona.
Quindi diventa:
Public Function retComboCol(strForm as string, strControl as string) as variant
e
=retComboCol("miaForm";"MiacaselladiRiepilogo")
Eventualmente posso fare ulteriori prove.
Ciao
maurizio.

...

Funziona, ..... solo che non č ).Clumn(intCol) ma ).Column(intCol)
Ciao
maurizio.

 far si che la QRY  venga effetuata su tutte le righe selezionate?
Per questo devi usare codice che prende i valori dalla
casella e poi scrivi p.e. in una clausola IN direttamente
nel testo SQL.
Se ho capito bene i tuoi posts p.e. con un bottone nella
maschera e circa:
Dim strIN As String
Dim varEl As Variant
For Each varEl In Me!ListaDDTAcquisto.ItemsSelected
    strIN = strIN & Me!ListaDDTAcquisto.Column(0, varEl) & ","
Next varEl
If strIN <> "" Then
    strIN = Left(strIN, Len(strIN) - 1)
    CurrentDb.Execute "UPDATE tblOrdiniAcquisti " & _
            " SET Fatturato = True " & _
            " WHERE IDOrdineAcquisti IN(" & strIN & ");"
End If
Lo 0 di Column(0, varEl) puoi sostituire con 1 se invece
dalla prima vuoi i valori dalla seconda colonna della casella,
o 2 per la terza ecc.
-- 
HTH



Grazie  Karl
Ferrari Rino