Pagina 2 di 3 primaprima 1 2 3 ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 25
  1. #11
    Non so se ho capito male ma ho controllato su MSDN per quanto riguarda i codici e per i cicli For...Next la sintassi è

    For contatore = inizio To incremento
    istruzioni

    Next contatore

    dove contatore,inizio e fine sono numerici.

    Nel mio caso, invece, sono date; qui mi sorge spontanea la domanda: non è che non si può fare un ciclo su delle date????:master:

  2. #12
    Utente di HTML.it L'avatar di Jupy64
    Registrato dal
    Sep 2004
    Messaggi
    1,151
    Originariamente inviato da bobovieri
    La griglia la popolo con la proprietà DataSource; gli indico lì l'ADO che mi interessa e basta. Tutto il programma si basa su un DB Access.
    non riesci a tirarti fuori il numero di record del recorset che passi alla griglia?? il numero di record corrisponde anche al numero di righe della griglia..
    Jupy

  3. #13
    non so, però, quante righe ha il mio datagrid, in quanto si basa su una query che si aggiorna in base alle scadenze che vengono inserite mano a mano
    come ho già detto, io non so quante scadenze (e quindi record) ha il mio cliente in un anno; posso fargli fare un ciclo su un numero che ritengo indicativo (es. 200)???

    Grazie della cordialità e dell'aiuto


  4. #14
    Utente di HTML.it L'avatar di Jupy64
    Registrato dal
    Sep 2004
    Messaggi
    1,151
    mmm..mi faresti vedere il pezzo di codice che usi? sia la parte che estrapoli i dati dalla tabella e l'assegnazione del recordset alla griglia..
    Jupy

  5. #15
    Questo è il codice che è presente nel Form_activate:

    codice:
    Private Sub Form_activate()
        Conferma.Enabled = False
        Annulla.Enabled = False
        Data.Enabled = False
        Importo.Enabled = False
        Importo.Locked = True
        Causale.Enabled = False
        Causale.Locked = True
        Totouscite.Locked = True
                
        Dim dataOggi As Variant
        Dim dataScadenza As Variant
        Dim dataDifferenza As Long
        Dim messaggio As Integer
        Dim I As Integer
        
        dataOggi = Date
        dataScadenza = DataGrid1.Columns(1)
        dataDifferenza = DateDiff("d", dataOggi, dataScadenza)
    
        For I = 1 To 200
            'DataGrid1.Row = I
            dataScadenza = DataGrid1.Columns(1)
            If dataDifferenza <= 3 And dataDifferenza >= 0 Then
                    messaggio = MsgBox("Attento! Hai una scadenza a breve", vbOKOnly, "Attenzione")
            End If
        Next I
    End Sub
    Sto continuando a fare varie prove con i cicli...non riesco a cavare un ragno dal buco!!! Vi prego aiutatemi se potete!!

    Grazie ancora a tutti.


  6. #16
    Utente di HTML.it L'avatar di Jupy64
    Registrato dal
    Sep 2004
    Messaggi
    1,151
    ehm.. io vorrei vedere anche la parte di codice dove assegni il recorset alla griglia, oppure, se la griglia la setti tutta in modo visuale (anche il recorset), posta anche il codice dove popoli il dataset che è associato alla griglia
    Jupy

  7. #17
    Forse non ho capito bene quello che chiedi.

    Io ho sempre programmato in questo modo, con i controlli ADO verso DB Access e comando SQL nel RecordSource. Poi prendo il DataGrid e alla proprietà DataSource gli indico il controllo ADO che mi interessa.

    Questo è quello che faccio e che ho sempre fatto.

    So che si può configurare tutto via codice, ma essendo più semplice in questo modo, io faccio così.

  8. #18
    Utente di HTML.it L'avatar di Jupy64
    Registrato dal
    Sep 2004
    Messaggi
    1,151
    mmm..mi sembra di capire che tu fai tutto a livello visuale senza scrivere una riga di codice giusto? comunque sia, nel momento che tu vuoi scorrere la griglia per leggere tutte le righe, per avere il numero delle righe basta che usi la proprietà RecordCount del DataSet che usi associato alla griglia
    Jupy

  9. #19
    Infatti è come dici tu: non ho scritto una riga di codice (e non so se questo è un bene o un male...)

    Per quanto riguarda la seconda parte della tua risposta, non è che potresti aiutarmi un attimino, usando anche il codice che ho postato io prima, a compilare quel maledetto ciclo??? Mi è rimasto solo quello da fare e poi ho finito tutto.

    Grazie in anticipo.


  10. #20
    Utente di HTML.it L'avatar di Jupy64
    Registrato dal
    Sep 2004
    Messaggi
    1,151
    riprendendo il tuo codice:
    mettiamo che l'oggetto DATA che usi tu si chiami Data1
    codice:
    Private Sub Form_activate()
        Conferma.Enabled = False
        Annulla.Enabled = False
        Data.Enabled = False
        Importo.Enabled = False
        Importo.Locked = True
        Causale.Enabled = False
        Causale.Locked = True
        Totouscite.Locked = True
                
        Dim dataOggi As Variant
        Dim dataScadenza As Variant
        Dim dataDifferenza As Long
        Dim messaggio As Integer
        Dim I As Integer
        Dim maxRow as Long     
    
        dataOggi = Date
    
        maxRow=Data1.Recordset.RecordCount
         For I = 0 To maxRow-1
            DataGrid1.Row = I
            dataScadenza = DataGrid1.Columns(1)
            dataDifferenza = DateDiff("d", dataOggi, dataScadenza)
            If dataDifferenza <= 3 And dataDifferenza >= 0 Then
                    messaggio = MsgBox("Attento! Hai una scadenza a breve", vbOKOnly, "Attenzione")
            End If
        Next I
    
    End Sub
    Le parti che ho modificato/aggiunto sono in grassetto..
    vedi se funzia
    Jupy

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