Pagina 1 di 9 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 83
  1. #1

    [VB] Refresh dataenvironment

    Come si scrive il comando per aggiornare un Command del DataEnvironment?
    Grazie
    Enrico Frison
    El signore ghe da e suche a chi che no ga i porsei!

  2. #2
    credo sia sufficiente:
    DataEnvironment.rsNomeCommand.Requery


    05.08.2005 - by alka
    Auguri all'angelo custode dei moderatori.

  3. #3
    Come lo chiamo il command?
    DataEvironment.NomeCommand.Requery non funziona...
    Se scrivo DataEnvironment.Commands(NomeCommand).Requery mi dice che non supporta quel metodo...
    Enrico Frison
    El signore ghe da e suche a chi che no ga i porsei!

  4. #4
    postami il tuo codice, che te lo sistemo, ok?

    05.08.2005 - by alka
    Auguri all'angelo custode dei moderatori.

  5. #5
    codice:
    Const Path_DB As String = "c:\Lavori\DBAllarmi"
    Const File_DB As String = "dballarmi.mdb"
    
    
    Private Sub cmdRaggr_Click()
    Dim db_file As String
    Dim Conn As ADODB.Connection
    Dim rs As ADODB.Recordset
    Dim SQL As String
    Dim datDa As Date
    Dim datA As Date
    
    If txtDa.Text <> "" Then
        datDa = CDate(txtDa.Text)
        datDa = DatePart("m", datDa) & "/" & DatePart("d", datDa) & "/" & DatePart("yyyy", datDa)
    Else
        intMsg = MsgBox("Inserire data inizio", vbOKOnly + vbExclamation, "Errore!")
    End If
    If txtA.Text <> "" Then
        datA = CDate(txtA.Text)
        datA = DatePart("m", datA) & "/" & DatePart("d", datA) & "/" & DatePart("yyyy", datA)
    Else
        intMsg = MsgBox("Inserire data Fine", vbOKOnly + vbExclamation, "Errore!")
    End If
    
    'Controllo che non ci siano stati errori
    If Not intMsg = 1 Then
        db_file = App.Path
        If Right$(db_file, 1) <> "\" Then db_file = db_file & "\"
        db_file = db_file & "dballarmi.mdb"
    
        Set Conn = New ADODB.Connection
        Conn.ConnectionString = _
            "Provider=Microsoft.Jet.OLEDB.4.0;" & _
            "Data Source=" & db_file & ";" & _
            "Persist Security Info=False"
        Conn.Open
        
        SQL = "UPDATE alarm_table SET DataInizio = #" & datDa & "#, " & _
                "DataFine = #" & datA & "#"
        Set rs = Conn.Execute(SQL, , adCmdText)
        Conn.Close
        DataEnvironment1.rsRaggruppam.Open
        DataEnvironment1.rsRaggruppam.Requery
    
        
        'Qui apro i report
        If chkNo.Value = False Then
            ' Questo è il dataReport completo
            rptRaggr.WindowState = vbMaximized
            rptRaggr.Caption = "Report dal " & datDa & " al " & datA
            rptRaggr.Show vbModal
        Else
            ' Questo è il dataReport vuoto
            SQL = "SELECT DISTINCT DataInizio, DataFine " & _
                    "FROM " & _
                        "alarm_table"
            Set rs = Conn.Execute(SQL, , adCmdText)
            Set rptNull.DataSource = rs
            rptNull.WindowState = vbMaximized
            rptNull.Caption = "Report dal " & datDa & " al " & datA
            rptNull.Show vbModal
            rs.Close
            Set rs = Nothing
            Conn.Close
       End If
       
       DataEnvironment1.rsRaggruppam.Close
       Set Conn = Nothing
    Else
        frmMain.SetFocus
    End If
        
    End Sub
    Ci sono due campi di testo che delimitano la data massima (datA) e la data minima (datDa) entro cui voglio cercare.

    Dato che non riuscivo a fare di meglio. Ho pensato di creare due campi nella tabella chiamati DataInizio e DataFine in cui con l'UPDATE scrivevo le due date su tutti i record.

    In pratica se faccio la prima selezione funziona, poi se chiudo il report e cambio i parametri mi dà quelli di prima. Però se chiudo un'altra volta e riapro con i nuovi parametri funziona...

    In pratica funziona una volta su due...
    Enrico Frison
    El signore ghe da e suche a chi che no ga i porsei!

  6. #6
    scusami, potresti evidenziarmi in rosso il codice che non va?
    :quipy: oggi non sono proprio al massimo, eh?

    05.08.2005 - by alka
    Auguri all'angelo custode dei moderatori.

  7. #7
    Non è che non funziona. Allora aiutami so che tu te ne intendi.
    Questa routine apre il report e fin qui tutto ok. ma se lo chiudo, cambio i valori della maschera e lo riapro mi da i valori di prima. Se lo chiudo nuovamente e lo riapro con questi nuovi valori questa seconda volta funziona. Vorrei inserire la stringa di aggiornamento nel punto giusto. In pratica quell'UPDATE deve scrivere nel db, e poi il DataEnvironment dovrebbe leggere. Invece ho l'impressione che il dataEnvironment legga prima dell'update.
    Enrico Frison
    El signore ghe da e suche a chi che no ga i porsei!

  8. #8
    ok, tutto chiaro.
    codice:
        
    SQL = "UPDATE alarm_table SET DataInizio = #" & datDa & "#, " & _
                "DataFine = #" & datA & "#"
    Set rs = Conn.Execute(SQL, , adCmdText)
    Conn.Close
    DataEnvironment1.rsRaggruppam.Open
    DataEnvironment1.rsRaggruppam.Requery
    è qui che non legge correttamente, giusto?

    05.08.2005 - by alka
    Auguri all'angelo custode dei moderatori.

  9. #9
    esattamente... è come se impiegasse troppo tempo per aggiornare il db e di conseguenza quando fa la requery del command trova ancora i valori vecchi... può essere?
    Enrico Frison
    El signore ghe da e suche a chi che no ga i porsei!

  10. #10
    si, potrebbe essere come dici tu.
    però io non ho mai avuto questi problemi col DataEnvironment...
    devo pensare... :master:

    prova a scrivere così:

    DataEnvironment1.rsRaggruppam.Open
    DataEnvironment1.rsRaggruppam.Property.Refresh
    DataEnvironment1.rsRaggruppam.Requery

    05.08.2005 - by alka
    Auguri all'angelo custode dei moderatori.

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.