Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16

Discussione: [VB6] Data Environment

  1. #1
    Utente di HTML.it L'avatar di Petra
    Registrato dal
    Apr 2005
    Messaggi
    224

    [VB6] Data Environment

    Ciao a tutti...sto realizzando un progettino utlizzando il data environment ed un datagrid. Tutto va bene fin quando decido di inserire sul form una combo e una text in modo da poter scegliere il campo e il testo per una ricerca veloce sull'insieme di recordset...mi appresto a scrivere questo codice sull'evento change del textbox...

    codice:
    DataEnvironment.rsTabella.Find Me.cmbRicerca.Text & " Like '" & Me.txtRicerca.Text & "'"
    ...ma quando scrivo sulla textbox non succede nulla e il datagrid continua a visualizzarmi gli stessi dati senza cambiare di una virgola...ho pensato subito che poteva essere un problema d'aggiornamento del data environment ed infatti ho cambiato il codice precedente in questo modo...

    codice:
    DataEnvironment.rsTabella.Find Me.cmbRicerca.Text & " Like '" & Me.txtRicerca.Text & "'"
    MsgBox DataEnvironment.rsTabella.RecordCount
    ...e il msgbox mi restituisce sempre 12 che sarebbe il numero di record totali presenti nel recordset del tabella.
    Ho provato a cercare il metodo refresh del data environment ma non sono riuscito a trovarlo...nn so più che fare!!!

    La mia collega dice che è un difetto del data environment ma secondo me un altro metodo per la ricerca dei record col data environment ci deve essere!!

    Ringrazio per l'eventuale aiuto!!

  2. #2
    Utente di HTML.it L'avatar di Petra
    Registrato dal
    Apr 2005
    Messaggi
    224

  3. #3
    Utente di HTML.it L'avatar di Petra
    Registrato dal
    Apr 2005
    Messaggi
    224
    Niente da fare?!

  4. #4
    Utente di HTML.it L'avatar di Brainjar
    Registrato dal
    Nov 2004
    Messaggi
    1,162
    Prova a fare il debug dell'applicazione e metti un breakpoint
    sull'istruzione :
    codice:
    DataEnvironment.rsTabella.Find Me.cmbRicerca.Text & " Like '" & Me.txtRicerca.Text & "'"
    Quando il codice esegue questa istruzione ?

    Premesso che all'inizio sia la cmbRicerca.Text che txtRicercaText
    possono valere "", e questo spiega perchè ti estrae tutti 12 record
    presenti in tabella.

    Mi chiedo quindi 'dove' hai messo l'istruzione di cui sopra.
    Dovresti inserirla nell'evento _Change della txtRicercaText.
    Ma in questo modo ti scatena una Find ad ogni carattere digitato.

    Forse ti converrebbe mettere un bottone 'Cerca' e nel Click di
    questo bottone mettere l'istruzione.
    Ciao, Brainjar

  5. #5
    Utente di HTML.it L'avatar di Petra
    Registrato dal
    Apr 2005
    Messaggi
    224
    Sta sera ci provo e ti farò sapere...per ora grazie!!

  6. #6
    Utente di HTML.it L'avatar di Petra
    Registrato dal
    Apr 2005
    Messaggi
    224
    In pratica funziona anche senza pulsante il find, ma non è quello che mi serve...il find mi segna col bookmark il record, ma nn è quello che voglio.

    Quello che voglio fare è che all'evento change del textbox mi faccia una select (query) e aggiorni il data environment con quest'ultima...il punto è che nn so dove scrivere questa query nel data environment (parlo nella fase di esecuzione e nn quella di progettazione).

    Quando usavo un semplice controllo adodc mi bastava scrivere questo codice sull'evento change della textbox...

    codice:
    adodc.DataSource = "select * From Tabella Where Campo = 'Valore'"
    ...col data environment come devo fare in fase di esecuzione ? ?

  7. #7
    Utente di HTML.it L'avatar di Brainjar
    Registrato dal
    Nov 2004
    Messaggi
    1,162
    Non potresti utilizzare oggetti ADO ?
    Sono potenti, flessibili e semplici da utilizzare.

    Per rispondere al tuo quesito, comunque, la select, intesa come
    stringa tipo "SELECT * FROM TABELLA ..." la fai eseguire all'oggetto
    connection del data environment. Quindi nel Click del bottone avrai :

    codice:
    With DataEnvironment1 ' sostituisci i nomi degli oggetti con i tuoi 
        .Connection1.Open
        .Connection1.Execute("SELECT * FROM TABELLA ...")  
    End With
    Dopo la execute il data environment è aggiornato.
    Ciao, Brainjar

  8. #8
    Utente di HTML.it L'avatar di Petra
    Registrato dal
    Apr 2005
    Messaggi
    224
    Ti ringrazio per la risposta, appena vado al lavoro provo come hai detto...a pensare che sono passato dagli adodc al data environment per questo progetto.

  9. #9
    Utente di HTML.it L'avatar di Brainjar
    Registrato dal
    Nov 2004
    Messaggi
    1,162
    Mi riferisco agli oggetti ADO ADODB.Connection e
    ADODB.RecordSet, non agli ADODC.
    Non sono la stessa cosa.
    Ciao, Brainjar

  10. #10
    Utente di HTML.it L'avatar di Petra
    Registrato dal
    Apr 2005
    Messaggi
    224
    Originariamente inviato da Brainjar
    Mi riferisco agli oggetti ADO ADODB.Connection e
    ADODB.RecordSet, non agli ADODC.
    Non sono la stessa cosa.
    Ho utilizzato anche gli ADODB, ma non riesco proprio a strutturare il tutto!!!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.