Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    ricercare un periodo

    Salve a tutti ragazzi
    vi premetto che non sono molto pratico e che
    ho cercato sui vecchi post quello che sto per chiedervi e non l'ho trovato.

    A lavoro abbiamo un archivio dei clienti
    che periodicamente devono essere avvisati di alcune scadenze.

    Il programma che abbiamo in gestione slva tutti i dati su un mdb di access.

    Io mi sono creato un sistemino che mi stampa gli avvisi in automatico
    ma lo posso utilizzare solo io perchè la mia collega non ne capisce un h di computer così mi stavo creando un programmino in visual basi che fa tutto da solo e in parte funziona

    Il Problema sta nel fatto che nel database la data e salvata come
    stringa.

    La mia domanda da ignorante è ;
    se io mi seleziono un periodo tipo dal 01/01/2002 al 31/01/2002,
    come faccio a crearmi un contatore che mi cerca dal 01/01 al 31/01
    cioè 01/01 ... 02/01 ecc

    Chiedo umilmente perdono per la mia ignoranza .. ma ringrazio chi vorrebbe darmi una mano

    Ciao

  2. #2
    Utente di HTML.it L'avatar di Mabi
    Registrato dal
    May 2002
    Messaggi
    1,245
    Ti basta usare la funzione DateAdd che aggiunge un valore del tipo indicato alla data scelta.
    Prova così:
    codice:
    Dim MyData As Date
    Dim Cont1 As Byte
    
    MyData = Date
    MyData = DateAdd("d", (-1 * DatePart("d", MyData)) + 1, MyData)
    For Cont1 = 1 To Day(DateSerial(DatePart("y", MyData), DatePart("m", MyData) + 1, 0))
      MsgBox CStr(MyData)
      MyData = DateAdd("d", 1, MyData)
    Next Cont1

  3. #3

    Grazie

    grazie 1000

  4. #4
    Utente di HTML.it L'avatar di Mabi
    Registrato dal
    May 2002
    Messaggi
    1,245
    Prego

  5. #5

    Non ci siamo

    Ciao
    Quindi ricapitoliamo
    l'automatismo descritto prima non so come modificarlo

    Io vorrei effettuare qualcosa del genere
    Sub DoSql1()
    Dim mysql$
    transito1 = "12/04/2002"

    mysql$ = "SELECT Cognome,Nome,Citta,Provincia " _
    & "FROM Portafoglio where DataEsito >= '" & periodo1 & "' and DataEsito <= '" & periodo2 & "'" _
    & " ORDER BY Citta"

    MSRDC1.SQL = mysql$
    MSRDC1.Refresh


    End Sub

    Il periodo lo prendo in questo modo


    Private Sub MonthView1_DateClick(ByVal DateClicked As Date)
    MyDate = MonthView1.Value
    Mystr = Format(MyDate, "ddd,dd mm yyyy") ' Restituisce "mercoledì, gen 27 1993".
    Label1.Caption = Mystr
    periodo1 = Format(MyDate, "dd/mm/yyyy")
    MonthView1.Visible = False
    End Sub

    Private Sub MonthView2_DateClick(ByVal DateClicked As Date)
    MyDate = MonthView2.Value
    Mystr2 = Format(MyDate, "ddd,dd mm yyyy") ' Restituisce "mercoledì, gen 27 1993".
    Label4.Caption = Mystr2
    Periodo2 = Format(MyDate, "dd/mm/yyyy")
    MonthView2.Visible = False
    End Sub


    I tentativi da me fatti fino ad ora sono diversi e nessuno funziona
    come dovrebbe
    In alcuni casi Periodo1m e periodo2 sono Vuoti,
    in altri casi le la ricerca mi fa visualizzare degli intervalli del cactus

    So che il problema sono io, in altri casi preferisco girare la data
    per poter gestirla meglio ( date le mie lacune)
    ma in questo caso proprio non riesco

    Mabi non è che ci sarebbe un altro modo ?

    O chiunque possa aiutarmi ( Le ho sempre odiate le date )

  6. #6

    Dimenticavo una cosa

    IO utilizzo Visual Basic 6

  7. #7

    NESSUNO MI VUOLE AIUTARE???????????

    Nessuno è in grado di risolvere questo problema????????
    Raga devo proprio dirvi che siamo messi male.......


    Ciao

  8. #8
    Utente di HTML.it L'avatar di Mabi
    Registrato dal
    May 2002
    Messaggi
    1,245
    Ciao. Scusami ma non ti ho risposto perchè sono stato via tutta la settimana.

    Anche se non credo di aver capito precisamente, ho provato comunque a moficare la procedura:
    codice:
    Dim MyData As Date
    Dim Cont1 As Byte
    Dim MySQL
    
    If Periodo1 <= Periodo2 Then
      MyData = Periodo1
      For Cont1 = 1 To (Abs(DateDiff("d", Periodo1, Periodo2) + 1))
        MySQL = "SELECT Cognome,Nome,Citta,Provincia " & _
                "FROM Portafoglio where " & CStr(DataEsito) & _
                ">= '" & CStr(MyData) & "' and " & CStr(DataEsito) & _
                "<= '" & CStr(Periodo2) & "' ORDER BY Citta"
        MyData = DateAdd("d", 1, MyData)
        MsgBox MySQL
      Next Cont1
    End If
    Ho migliorato la situazione ?

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.