Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 18
  1. #1

    [VB6]determinare il giorno della settimana

    Salve a tutti.

    io ho un database access con dentro una tabella cosi composta:

    cod_con rtelefono Rsettore prodotto idata rnominativo numero

    130 309 1 34 02/01/10 1 3
    131 319 1 24 03/01/10 3 4
    132 359 1 22 04/01/10 5 6
    133 239 2 34 05/01/10 2 5
    134 109 2 14 06/01/10 9 8
    135 332 1 33 07/01/10 8 9
    136 123 1 34 09/01/10 7 10
    137 121 1 30 10/01/10 6 20


    vorrei che in una flexgrid ci vadano i dati divisi per giorno (lunedi martedi mercoledi giovedi ec)

    come faccio?

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    759
    La funzione Format con maschera "w" restituisce un intero che indica il giorno della settimana.

  3. #3
    aspetta!!!

    non ti ho capito

    puoi spiegarmi?

    io faccio una select e tiro fuori tutti i dati del db.

    poi ciclo e ?

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    759
    Neanche io ti ho capito.
    Che vuol dire
    vorrei che in una flexgrid ci vadano i dati divisi per giorno (lunedi martedi mercoledi giovedi ec)
    Una colonna per ogni giorno? Una riga per ogni giorno? Quante righe? Quante colonne?
    Nel frattempo, ti sei documentato sulla funzione Format?

  5. #5
    Utente di HTML.it L'avatar di yyzyyz
    Registrato dal
    Oct 2001
    Messaggi
    1,653
    Quello che sta cercando di spiegarti Grumpy e che potresti prelevare l'intero del giorno della tua data per sapere poi l'equivalente del giorno della settimana. cmq potresti fare anche cosi se non vuoi utilizzare il format.

    codice:
    Dim giorno As String
    giorno = WeekdayName(Weekday(Now) - 1)
    MsgBox giorno
    codice:
    Dim giorno As String
    giorno = WeekdayName(Weekday(Now), , vbSunday)
    MsgBox giorno

  6. #6
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Originariamente inviato da nikeddy
    aspetta!!!

    non ti ho capito

    puoi spiegarmi?

    io faccio una select e tiro fuori tutti i dati del db.

    poi ciclo e ?
    Esatto.

    codice:
    SELECT idata, Format(idata, 'w', 2) AS numGiornoSett
    FROM tabella
    il 2 indica alla funzione Format di considerare il Lunedì come primo giorno della settimana (ricorda che per default è la domenica)

    Poi fai il ciclo sul recordset ed aggiungi nelle celle (immagino che i giorni siano le colonne) le informazioni che ti servono.

    Se rs("numGiornoSett").Value = 1 allora il giorno è Lunedì e lo recuperi così:

    codice:
    NomeGiorno = WeekdayName(1 ,False ,vbMonday )

  7. #7
    GRANDIOSO!



    allora...

    quindi io tiro fuori i dati dal recordset

    SELECT idata, Format(idata, 'w', 2) AS numGiornoSett
    FROM tabella

    poi devo impostare come inizio settimana il lunedi
    if rs("numGiornoSett").Value = 1 then
    NomeGiorno = WeekdayName(1 ,False ,vbMonday )
    end if

    ma come scorro i dati tra una colonna e un altra?

    io giustamente ho la colonna persone e affianco le 6 colonne dal lunedi al sabato.

    come inserisco i dati secondo il giorno?

  8. #8
    cosi?

    codice:
    Dim i As Integer
    Dim nomegiorno As String
    
       Set gRsGenere = New ADODB.Recordset
                        gsSQL = "SELECT idata, Format(idata, 'w', 2) AS numGiornoSett From Gestionepersone"
                    gRsGenere.Open gsSQL, gCnDatabase
        Do While gRsGenere.EOF = False
                     
                     If gRsGenere("numGiornoSett").Value = 1 Then
                     nomegiorno = WeekdayName(1, False, vbMonday)
                     MsgBox nomegiorno
    (successivamente inserisco il dato nella colonna puntando la colonna stessa)
                     ElseIf gRsGenere("numGiornoSett").Value = 2 Then
                     nomegiorno = WeekdayName(2, False, vbTuesday)
                     MsgBox nomegiorno
    (successivamente inserisco il dato nella colonna puntando la colonna stessa)
                        End If
                        
                     gRsGenere.MoveNext
                     Loop
    gRsGenere.Close

  9. #9
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    759
    Originariamente inviato da nikeddy
    io giustamente ho la colonna persone e affianco le 6 colonne dal lunedi al sabato.
    Finalmente lo hai detto.
    La Flexgrid ha la proprietà TextMatrix, per mezzo della quale si può puntare una qualunque cella della griglia.
    In alternativa puoi usare le proprietà Row e Col per far diventare "corrente" una cella e valorizzarla attraverso la proprietà Text.
    In entrambi i casi la guida MSDN dà tutte le informazioni necessarie.
    Se invece preferisci aspettare che altri ti scrivano il codice...

  10. #10
    vabbe' me lo guardo su msn il come usare la textmatrix

    il codice credi vada bene?

    mi da' un problema la seconda if...mi da' mercoledi invece di martedi ...

    come mai?

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.