Newsgroup: it.comp.appl.access
Titolo: Recordsetclone su macro in access 2007

Ciao a tutti,
Uso recordsetclone in una macro per la ricerca dei clienti per
iniziale in una maschera...
Su versioni precedenti di access tutto ok. Se invece lo uso in access
2007 mi dà errore di automazione.
La ricerca la effettua lo stesso ma mi apre sempre la finestra.
Ho provato ad aggiungere NomeMaschera.Form.Recordsetclone.recordcount
sulla condizione della macro ma non cambia niente, nemmeno con
me.recordsetclone....
Qualcuno a qualche suggerimento da darmi?
grazie a tutti
Lo

 ...
 
È un bug noto di A07 e A10. Vedi il punto "Compatibility issues" su
http://www.allenbrowne.com/Access2007.html#Bugs
 dove trovi anche
il link ad un workaround, cioè creare una funzione di VBA che
usa RecordSetClone e nell'espressione riferirsi alla funzione.
 
-- 
Ciao
Karl
*********
Access FAQ:  
http://www.donkarl.com/it
 
 
 

 Access FAQ:  
http://www.donkarl.com/it
 
 
Grazie mille per l'interessamento,
 
ho provato ma il risultato non cambia, riesce a filtrare, cambia la
dicitura ma la finestra di errore appare sempre...
Potrei anche lasciare così ma non mi sembra molto carino dover sempre
chiudere una finestra...
Hai qualche altra idea?
Grazie ancora ciao

 Grazie ancora ciao
 
Perché non ci mostri il tuo codice?
 
Bruno
 
 


Nella macro in condizioni ho scritto: [Maschere]![Elenco telefonico
clienti]![RecordsetClone].[RecordCount]>0
In azione ho scritto: VaiAControllo
In nome controllo ho scritto: RagioneSociale
 
Non saprei in che altro modo mostrarti il codice della macro...
 
Funziona ma mi appare sempre una finestra di errore che devo
chiudere... vorrei riuscire ad eliminare semplicemente la finestra...
E' sufficiente quello che ti ho scritto?
grazie ciao
Lo

 ...
 
Descrivi cosa esattamente hai fatto per realizzare il workaround
di Allen e incolla il tuo codice VBA e l'espressione risultante.


 grazie ciao
 
Pensavo fosse una macro VBA.
Ciò non essendo... passo!
 
Bruno
 
 

 - Mostra testo citato -
 
Ho una macro che si chiama elencoClienti per ricercare i clienti per
iniziali.
Quindi ci sono i filtri per ogni lettera dell'alfabeto...
FiltriNomeSoc=1 in condizioni, azione ApplicaFiltro e in condizione
where in basso c'è [RagioneSociale] Like "[AÀÁÂÃÄ]*"
e così per tutte le lettere dell'alfabeto.
 
alla fine di tutto l'alfabeto
Nella macro in condizioni ho scritto: [Maschere]![Elenco telefonico
clienti]![RecordsetClone].[RecordCount]>0
In azione ho scritto: VaiAControllo
In nome controllo ho scritto: RagioneSociale
 
Quando apro la maschera collegata a questa macro funziona tutto senza
problemi se la versione di access non è 2007.
Quando apro questa maschera in access 2007, clicco su un pulsante
lettera a (per es.) si apre una finestra con l'errore,
io chiudo la finestra e comunque funziona perchè vedo tutti i clienti
che iniziano con la a...
vorrei solo eliminare in access 2007 questa finestra di errore..
Non so se mi sono spiegata bene...
Hai capito il problema?
grazie ancora ciao
Lo

 Hai capito il problema?
 
Sě, non ti ho chiesto di ripetere la tua prima descrizione,
ma di chiarire se hai capito la mia risposta e le cose che sono
descriti sul sito che ti ho segnalato. Sembra che non sei riuscito
di impostare il rimedio. Quindi per aiutarti devi descrivere
meglio il tuo "Ho provato".


 Access FAQ:  
http://www.donkarl.com/it
 
 
Ok scusa... non avevo capito...
Ho copiato in un modulo chiamato RecordSetClone questo:
 
 
Public Function FormHasData(frm As Form) As Boolean
    'Purpose:   Return True if the form has any records (other than
new one).
    '           Return False for unbound forms, and forms with no
records.
    'Note:      Avoids the bug in Access 2007 where text boxes cannot
use:
    '               [Forms].[Form1].[Recordset].[RecordCount]
    On Error Resume Next    'To handle unbound forms.
    FormHasData = (frm.Recordset.RecordCount > 0)
End Function
 
e poi devo aver riportato FormHasData al posto di RecordSetclone...
nelle condizioni della macro...
dove ho sbagliato?
grazie

 dove ho sbagliato?
 
È difficile ricavare i tuoi segreti.
Cosa esattamente hai scritto come espressione nel macro?



Ciao
 
ho scritto in condizioni macro: FormHasData e basta...

 ho scritto in condizioni macro: FormHasData e basta...
 
Nella condizione devi passare la maschera come parametro
alla funzione:
 
FormHasData(Forms![Elenco telefonico clienti])


 - Mostra testo citato -
 
GRAZIEEE!
Sei un mago... adesso funziona: non mi apre più nessuna finestra di
errore.
Grazie grazie grazie
Lo