Newsgroup: it.comp.lang.visual-basic
Titolo: errore n. 3705 l'operazione non è consentita se l'oggetto è aperto

Ho inserito nel progetto un dataenvironment che contiene due command con
query sql,
il primo command contiene una query per estrapolare i dati in ordine di
codice(ID) mentre il secondo command contiene una query per estrapolare i
dati in ordine alfabetico.
I dati vengono riversati in un datagrid che è collegato al dataenvironment.
Nel form ho inserito option1 che richiama il command con la query sql per
l'ordinamento dei dati in ordine di codice ed option2 che richiama il
command con la query sql per l'ordinamento dei dati in ordine alfabetico.
Problema - nel passaggio da option1 ad option2 o viceversa si produce
l'errore di run-time n. 3705 col messaggio: l'operazione non è consentita se
l'oggetto è aperto.
Ringrazio anticipatamente chi vorrà aiutarmi a capire.

 l'oggetto è aperto.
Prova cosi:
le due option che hai inserito chiaramente devono essere
indicizzate ossia dovrai avere solo un'ebento click per tutte
e due dove ti verra passato come INDEX
Al suo interno scrivi questo
    Dim de As New DataEnvironment1 ' il nome del dataenviroment
    'Controllo se la connessione è già aperta
     If de.Connection2.State = 0 Then
        'Se è chiusa la apro
        de.Connection2.Open
    End If
    'In base all'option che ho cliccato....
    Select Case Index
        'Select normale senza order by
        Case 0
            DataGrid1.DataMember = "anagra" 'Passo al DataMember il nome
della
                                            'mia query sotto forma di
stringa
        'Select con order by
        Case 1
            DataGrid1.DataMember = "anagra_cogn" 'Passo al DataMember il
nome della
                                                 'mia query sotto forma di
stringa
    End Select
    'Chiudo la connessione cosi se esco dal prg
    'non avro problemi perche il DB rimarrebbe aperto...
    de.Connection2.Close
    End Select
P.S.: "anagra" è la select normale mentre anagra_cogn è la stessa select con
        l'aggiunta di "order by an_cogn"
Ciao
Fabio


Forse sbaglio qualcosa, ottengo una griglia senza dati spostandomi da option
1 a option 2 e viceversa:
ho scritto il codice come segue
Private Sub Option1_Click()
Dim de As New DataEnvironment1
If de.Connection2.State = 0 Then
de.Connection2.Open
End If
Select Case Index
Case 0
DataGrid1.DataMember = "anagra"
Case 1
DataGrid1.DataMember = "anagra_cogn"
End Select
de.Connection2.Close
 End Select
lo stesso codice è stato scritto sotto
Private Sub Option2_Click()
Solo per completezza di informazione, oltre alle due opzioni di ordinamento
nello stesso form ho inserito un tasto filter e una text1,
inserendo un carattere all'interno di text1 premendo il tasto filter ottengo
i cognomi che seguono la lettera digitata: se premo E mi vengono proposti i
cognomi dalla E in poi.
All'interno dell'evento clic del tasto filter ho inserito il codice
seguente:
Private Sub cmdfilter_Click()
'esegui la query passando il parametro atteso "cognome".
DataEnvironment1.anagra Text1
'assicura che la griglia sia associata al dataenvironment.
Set DataGrid1.DataSource = DataEnvironment1
DataGrid1.DataMember = "anagra"
End Sub
Anche qui se premo il tasto filter una sola volta ottengo i dati in griglia,
se lo premo ancora compare l'errore n. 3705 ma credo che questo filtro non
influenzi in alcun modo il funzionamento di option1 e 2.
P.S. le query sql inserite all'interno dei command sono parametriche:
      command ANAGRA   -        SELECT * FROM anagra WHERE an_cogn >= ?
command ANAGRA_COGN  -  SELECT * FROM anagra WHERE an_cogn >= ? order by
an_cogn
Spero sia tutto chiaro.

 Spero sia tutto chiaro.
Si questo non comporta problemi l'importante è che gli passi il parametro
ciao
Fabio
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 Ringrazio anticipatamente chi vorrà aiutarmi a capire.
Spero di essere stato utile...
Alex

.
"Alex1980" <ba...@jumpyFREGATI.it> wrote in message
news:bfjhev$r05$1...@grillo.cs.interbusiness.it...


..
"Alex1980" <ba...@jumpyFREGATI.it> ha scritto nel messaggio
news:bfjhev$r05$1...@grillo.cs.interbusiness.it...
