Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    123

    VB6.3/ACCESS2003 : Raffronto tra Date

    Aiuto !!!! Le ho provate....quasi tutte !
    Ho un controllo in una maschera che ho chiamato "Datapres" ed un altro chiamato "quartiere". Dopo Aggiornato vorrei che eseguisse questo tipo di controllo che spero sia esplecativo:


    Dim Data
    Dim DataInizioP
    Dim DataFineP
    Dim DataInizioT
    Dim DataFineT
    Data = CDate(Me.Datapres)
    DataInizioP = "11/04/2007"
    DataFineP = "11/05/2007"
    DataInizioT = "21/03/07"
    DataFineT = "21/04/07"


    If ((QUARTIERE = "P") And (Data >= DataFineP) Or (Data <= DataInizioP)) Or (QUARTIERE <> "P" And (Data >= DataFineT) Or (Data <= DataInizioT)) Then
    MsgBox "La Domanda è respinta in quanto consegnata OLTRE I TERMINI previsti per il quartiere " & Me.QUARTIERE, vbCritical, "Attenzione"
    ' Me.INT_TERMINI = 0

    Else

    If ((QUARTIERE = "P") And (Data <= DataInizioP)) Or ((QUARTIERE <> "P") And (Data <= DataInzioT)) Then
    MsgBox "La Domanda è respinta in quanto presentata PRIMA DEI TERMINI previsti per il quartiere " & Me.QUARTIERE, vbCritical, "Attenzione"
    ' Me.INT_TERMINI = 0

    Else
    MsgBox "Domanda pervenuta nei termini previsti", vbInformation, "Conferma"
    Me.INT_TERMINI = -1
    End If
    End If
    End If
    End If

    ...MA NON MI FUNZIONA !!!!...: mi da sempre lo stesso risultato...!!!....è forse colpa del formato delle variabili "data" ????

    Vi prego, aiutatemi: il mio cliente vuole il sw funzionante per domani ! Come faccio?
    Grazie in anticipo

  2. #2
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    123

    Vb6 & Access 2003

    AIUTO !! Ho già sottoposto in precedenza questo problema, ma stranamente senza risposta. Lo ripropongo in quanto ho provato a ridisegnare lo script:

    In una maschera ho un controllo DATAPRES ed un altro QUARTIERE.
    Obiettivo..desiderato: per il quartiere P la data di presentazione deve essere compresa tra dataInizioP e dataFineP; per tutti gli altri quartieri la data di presentazione deve essere compresa tra dataInizioT e dataFineT.

    Dopo Aggiornamento di DATAPRES mi deve eseguire il seguente controllo:


    Dim QUARTIERE
    Dim Data
    Dim DataInizioP As Date
    Dim DataFineP As Date
    Dim DataInizioT As Date
    Dim DataFineT As Date
    Me.Refresh
    DataInizioP = "11/04/2007"
    DataFineP = "11/05/2007"
    DataInizioT = "21/03/2007"
    DataFineT = "21/04/07"
    QUARTIERE = Me.QUARTIERE
    Data = CDate(Me.Datapres)

    If ((QUARTIERE = "P") And Data > DataFineP Or Data < DataInizioP) Then
    MsgBox "La Domanda è respinta in quanto consegnata FUORI dai TERMINI previsti per il quartiere " & Me.QUARTIERE, vbCritical, "Attenzione"
    Me.INT_TERMINI = 0

    Else

    If ((QUARTIERE <> "P") And Data > DataFineT Or Data < DataInizioT) Then
    MsgBox "La Domanda è respinta in quanto consegnata FUORI dai TERMINI previsti per il quartiere " & Me.QUARTIERE, vbCritical, "Attenzione"
    Me.INT_TERMINI = 0

    Else

    MsgBox "Domanda pervenuta nei termini previsti", vbInformation, "Conferma"
    Me.INT_TERMINI = -1
    End If
    End If
    End If
    End If

    PROBLEMA : SULLA PRIMA CONDIZIONE (quartiere = P) MI FUNZIONA PERFETTAMENTE, SULLA SECONDA CONDIZIONE (quartiere <> P) NOOOOOOOOO.

    Perchè ?

    Grazie sempre a tutti quelli che mi aiuteranno ! sono disperato !

  3. #3
    Utente di HTML.it L'avatar di EngLab
    Registrato dal
    Jan 2006
    Messaggi
    496
    Quando dici che non funziona, intendi che ti restituisce un errore o che, se imposti il quartiere come diverso da "p", ad esempio "z", non entra mai in quel blocco di istruzioni?

    E poi scusami, ma quanti End If hai messo sotto? Quattro? Io vedo solo due blocchi If..

  4. #4
    Moderatore di CMS L'avatar di kalosjo
    Registrato dal
    Jul 2001
    residenza
    In culo alla luna
    Messaggi
    1,999
    AND e OR devono essere raggruppati per precedenze tramite parentesi.

    codice:
     If ((QUARTIERE <> "P") And (Data > DataFineT Or Data < DataInizioT)) Then
    Scusate i puntini di sospensione...... La verità è che non ho argomenti....

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    123
    Perfetto ! ...Le benedette parentesi (i due If "in più" li ho postati per errore in quanto vi sono alre due condizioni precedenti che devono essere verificate).
    Vorrei porre però un'altra domanda collegata:
    Perchè, dopo aver accettato il Msgbox con il suo contenuto (e quindi a routine terminata), se io voglio cancellare il contenuto del campo DataPres (per lasciarlo vuoto come era all'inizio della routine) e passare ad un campo successivo mi da errore su Data=cdate(me.Datapres) ???
    Forse devo prima salvare il record e poi modificare il contenuto del controllo ?

    Non so ! Comunque grazie xcè siete sempre fantastici e non fate differenze tra neofiti e "professionisti". Grazie

  6. #6
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,466

    Moderazione

    Originariamente inviato da vittyhorse
    AIUTO !! Ho già sottoposto in precedenza questo problema, ma stranamente senza risposta.
    La mancanza di risposte non è un motivo sufficiente valido per riproporre una questione, in una discussione separata, a maggior ragione solo un paio di giorni dopo.

    Ho unito le discussioni aperte solamente perché qualcuno ha già fornito risposte, altrimenti avrei chiuso.

    Ti esorto comunque ad evitare la pratica di duplicazione delle discussioni: se hai delle precisazioni da aggiungere ad un problema già posto, scrivi nella discussione già avviata.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  7. #7
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    123
    Ok ! Chiedo scusa, ma spesso ci si vede persi e si commettono inconsapevolmente delle scorrettezze ! Colgo l'occasione per chiedere cosa sta ad indicare il pallino nero evidenziato sulla cartella accanto al mio post ??
    Assicuro, comunque, un maggiore corretto compartamento per il futuro. Grazie

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.