Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2003
    Messaggi
    245

    metodo Requery in ado ( vb)

    Ciao a tutti.... scusate ma ho un piccolo problema che non riesco a capire !!!! :master: :master:
    io creo una connessione con ado a un mdb....
    in un form devo fare una ricerca e visualizzare in un datagrid il risultato.
    ho notato che se uso il metodo .close e .open riesco ad aggiornare il recordset e quindi il controllo datagrid !!!!... mentre se uso il medodo .Requery non mi si aggiorna proprio nulla !!!!!
    :master: :master: :master: mi sapreste dare un consiglio x utilizzare quest'ultimo metodo nel modo corretto ????
    ciao

  2. #2

    Re: metodo Requery in ado ( vb)

    Originariamente inviato da b.lory
    Ciao a tutti.... scusate ma ho un piccolo problema che non riesco a capire !!!! :master: :master:
    io creo una connessione con ado a un mdb....
    in un form devo fare una ricerca e visualizzare in un datagrid il risultato.
    ho notato che se uso il metodo .close e .open riesco ad aggiornare il recordset e quindi il controllo datagrid !!!!... mentre se uso il medodo .Requery non mi si aggiorna proprio nulla !!!!!
    :master: :master: :master: mi sapreste dare un consiglio x utilizzare quest'ultimo metodo nel modo corretto ????
    ciao
    A volta dipende dal database (usi access vero?), in quanto è più lento del visual basic. In questo caso l'unica cosa è chiudere e riaprire la connessione.

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2003
    Messaggi
    245
    grazie e ciao !!!!

  4. #4
    anche per me lo stesso problema...
    Carico il datagrid sulla load del form....
    Successivamente al dblclick dul datagrid apro una maschera per modificare il singolo recordset...
    Alla chiusura della maschera di modifica vorrei che si aggiornasse il datagrid...

    Il bello è che la prima volta non mi funziona dalle volte succ tutto ok...
    :master: :master:

    Vi passo il codice nella speranza che qualcuno di voi sappia darmi qualche consiglio...
    ------------frmcliente--------------------------------------------
    Private Sub Form_Load()
    Dim db As adodb.Connection
    Set db = New Connection

    db.CursorLocation = adUseClient
    db.Open "PROVIDER=MSDataShape;Data PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=verifiche33.mdb;"

    Set adoPrimaryRS = New Recordset

    adoPrimaryRS.Open "SHAPE {select id_cliente,rag_sociale,prov,citta,cap,Indirizzo,te l,fax,email,codfiscale,note,PI,Inz_trat,percentual e,prob,Importo_totale,data_chiusura,data_pres_ver, data_verifica from cliente Order by id_cliente} AS ParentCMD APPEND ({select id_cliente,id_impianto,Denominazione,indirizzoImp, citta,cap,prov,tel,fax,email,tipologia,periodicita ,importo from impianti } AS ChildCMD RELATE id_cliente TO id_cliente) AS ChildCMD", db, adOpenStatic, adLockOptimistic

    Dim oText As TextBox
    'Associa le caselle di testo al fornitore di dati
    For Each oText In Me.txtFields
    Set oText.DataSource = adoPrimaryRS
    Next
    Set grdDataGrid.DataSource = adoPrimaryRS("ChildCMD").UnderlyingValue

    end sub

    Private Sub InserImpianti_Click()
    Me.grdDataGrid.Visible = True
    Load frmimpianti
    frmimpianti.txtFields(1) = Me.txtFields(0)
    frmimpianti.txtFields(0) = Me.txtFields(1)
    frmimpianti.txtFields(13).Visible = False
    frmimpianti.Modifica.Visible = False
    frmimpianti.elimina.Visible = False
    frmimpianti.lblLabels(2).Visible = False
    frmimpianti.Show vbModal
    DoEvents
    Call cmdRefresh_Click 'è un pulsante che aggiorna datagrid e campi
    End Sub


    Private Sub cmdRefresh_Click()
    On Error GoTo RefreshErr
    Set grdDataGrid.DataSource = Nothing

    adoPrimaryRS.Requery
    adoPrimaryRS.Move valore - 1, 1
    Set grdDataGrid.DataSource = adoPrimaryRS("ChildCMD").UnderlyingValue
    Call setta_colonne

    Exit Sub
    RefreshErr:
    MsgBox Err.Description
    End Sub


    'sul dlbclick apri la form impianti con i dati del datagrid selez
    Private Sub grdDataGrid_DblClick()

    On Error GoTo grigliavuota
    Load frmimpianti
    frmimpianti.txtFields(1) = grdDataGrid.Columns(0) 'id_cliente(azienda)
    frmimpianti.txtFields(13) = grdDataGrid.Columns(1) 'id_impianto
    frmimpianti.txtFields(0) = grdDataGrid.Columns(2) 'denominazione=rag_sociale
    frmimpianti.txtFields(3) = grdDataGrid.Columns(3) 'indirizzo
    frmimpianti.txtFields(5) = grdDataGrid.Columns(4) 'citta
    frmimpianti.txtFields(6) = grdDataGrid.Columns(5) 'cap
    frmimpianti.val_prov = grdDataGrid.Columns(6) 'prov
    frmimpianti.txtFields(7) = grdDataGrid.Columns(7) 'tel
    frmimpianti.txtFields(8) = grdDataGrid.Columns(8) 'fax
    frmimpianti.txtFields(9) = grdDataGrid.Columns(9) 'email
    frmimpianti.txtFields(10) = grdDataGrid.Columns(10) 'tipologia
    frmimpianti.txtFields(11) = grdDataGrid.Columns(11) 'periodicita
    frmimpianti.txtFields(12) = grdDataGrid.Columns(12) 'importo ver
    frmimpianti.txtFields(13).Enabled = False
    frmimpianti.salva.Visible = False
    frmimpianti.Show vbModal
    DoEvents
    Call cmdRefresh_Click 'è un pulsante che richiama la procedure ripristina
    Exit Sub
    grigliavuota:
    MsgBox "Inserire un nuovo impianto con il pulsante INSERISCI IMPIANTI", vbExclamation, "Avviso"
    'MsgBox Err.Description
    End Sub
    ----------------------------------------------------------------------



    --------------------frmimpianti--------------------------------------

    Private Sub Modifica_Click()
    Dim dbi As Connection
    Set dbi = New Connection
    dbi.Open "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=verifiche33.mdb;"

    Set rs = New adodb.Recordset
    Dim sql As String
    sql = "select * from impianti where id_impianto=" & Me.txtFields(13)
    rs.Open sql, dbi, adOpenKeyset, adLockOptimistic, adCmdText
    rs!tipologia = Me.txtFields(10)
    rs!periodicita = Me.txtFields(11)
    rs!importo = Me.txtFields(12)
    .
    .
    ..'altri campi
    rs.Update
    Unload Me' torno a frmclienti

    rs.Close
    dbi.Close
    Set dbi = Nothing

    -----------------------------------------------------------------

    dov'è il problema?????

    P.s.
    In fase di debug tutto funziona...... :master: :master:

  5. #5
    Un Aiutino???? :quote:

    :master: :master: :master:

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 © 2025 vBulletin Solutions, Inc. All rights reserved.