Newsgroup: it.comp.appl.access
Titolo: impostazione di Me.RecordSource da codice

Stò cercando di impostare la proprietà RecordSource di una maschera da
codice (seguendo le istruzioni dell'help in linea) ma mi dice che:
"Impostazione non valida per questa proprietà", errore 2101.
Pecchè??
Sib
--
------------------------------------------------------
L'Help in linea di Access contiene
il 90% delle risposte,
basta avera la pasienza di cercarle.
------------------------------------------------------

Pecchè??
puoi postare il codice?
-----------------------------------
ATTENZIONE: il ng it.comp.database.access cambia nome e diventa it.comp.appl.access
linkatelo!
-----------------------------------
il sito comune di it.comp.database.access:
http://members.xoom.it/it_db_access


Mi sembra strano....
E una impostazione che uso spesso per modificarmi il recordsource di molte
maschere a seconda , per es. di valori contenuti in controlli che adopero
per criteri di ricerca, e a me ha sempre funzionato....
Ciao
Yan

 Pecchè??
Per gli scettici allego un estratto dell'help in linea alla voce
RecordSource:
********************
È possibile impostare la proprietà OrigineRecord utilizzando la finestra
delle proprietà della maschera o del report, una macro o Visual Basic.
Per impostare tale proprietà in Visual Basic, utilizzare un'espressione
stringa.
Nota   La modifica dell'origine record di una maschera aperta o di un report
aperto provoca la ripetizione automatica della query dei dati sottostanti.
Osservazioni
Dopo aver creato una maschera o un report, è possibile modificare la
relativa origine dei dati modificando la proprietà OrigineRecord.
************************
Grazie a tutti, Sib


 per criteri di ricerca, e a me ha sempre funzionato....
che sintassi usi? Voglio dire, io scrivo:
Me.RecordSource="MiaTabella" oppure Me.RecordSource="SELECT * FROM
MiaTabella"
(l'help in linea dice Me!RecordSource ma, come pensavo, non funziona perchč
cosģ crede che RecordSource sia un controllo della maschera e non una sua
proprietą)
Sib

 puoi postare il codice?
Me.RecordSource = "MiaTabella"
Ciao, Sib


Me.RecordSource = "MiaTabella"
ah...  allora *deve* funzionare...  non e' che la tabella ha qualche
proprieta' strana settata?  tipo che non permette aggiornamenti o
simili?


 simili?
No. In effetti ho provato anche con una istruzione SQL col medesimo
risultato.
Ora, poi, access mi diche che ha fatto un'operazione non valida e mi chiude
l'intera sessione. NB, la chiude esattamente su questa istruzione, ho vatto
la verifica eseguendo il codice passo-passo.
Ho provato anche Me.Properties!RecordSource. Non so' piu' cosa fare.
Ciao, Sib


MiaTabella"
In entrambi i casi deve funzionare, lo uso sempre.
Sei sicuro che si blocchi li'?
Hai i diritti sulla MiaTabella?
Con altre tabelle funge?
Controlla che la form non abbia proprieta' particolari diverse dal
default.
Bai
--
Lorenzo Coronati
--
ICDA Forever official member
<<...buona la pasta coi ricci>>
--

 Bai
Ora ti posto il DB (sono solo 4 - 5 Mb) così mi puoi verificare la maschera.
Già che ci sei, rivedimi un po' di query, ce n'è qualcuna che ha dei
problemini.
hehehe
Sib

 default.
Private Sub Form_Error(DataErr As Integer, Response As Integer)
    If DataErr = 3044 Then
        MsgBox "La fonte dati stà per essere impostata sui dati locali.",
vbOKOnly + vbCritical, "Attenzione, Dati di rete non disponibili"
        Me.RecordSource = "FonteLocale"
    End If
End Sub
Come vedi la funzione è semplicissima, verifico solo che l'errore sia dovuto
alla irreperibilità dei dati in rete, do' un messaggio di avviso (e fin qui
tutto bene) poi imposto la proprietà recordsource.
Sì, è proprio lì che intoppa (ho fatto innumerevoli prove tra cui
l'esecuzione passo-passo), anzi, ora mi da' un errore irreversibile e chiude
la sessione di access.
Ora che ci penso mi è capitata una cosa simile in un'altra maschera e ho poi
scoperto che era colpa di una Sub che conteneva un loop senza uscita.
Secondo me e qualcosa del genere, ma chissà dove.
Sib


End Sub
AAAAAAAAAaaaaaaaahhhhhh
E allora dillo, no? Ho provato anch'io e non funge.
Fai diversamente, testa la tabella prima di aprire la form e passa il
recordsource alla form come parametro.
Dovrebbe andare.


 Lorenzo Coronati
... mi nn'addunavu!
(me ne sono accorto)
Seguirò il tuo consiglio, (cominciavo a pensare anch'io qualcosa di simile)
Perche' poi non debba funzionare poi non lo capisco, quale migliore sintassi
per esprimere l'operazione che intendo fare (almeno dal punto di vista
logico?
Tanto per capire, che intendi esattamente per: "passare alla form come
parametro"?
Ciao, Sib
--
------------------------------------------------------
Non e' grave non capire; grave e' occuparsi di cio' che non si capisce.
------------------------------------------------------
Saturiamo ECHELON:
bomba saddam attentato medio oriente


 > E allora dillo, no? Ho provato anch'io e non funge.
Ho provato anche io poi leggendo qua e là ho letto recordsuorce si applica
solo alle forms aperte.
mentre chedo che questo codice venga attivato quando la maschera non trova
la sua "originerecord".
Sib se riesci a trovare una soluzione postala ormai ci siamo incuriositi.
Ciao
Marco

parametro"?
Intendo openargs: puoi salvare la form "slegata" e passargli il
recordsource a runtime.
--
Lorenzo Coronati



