+ Rispondi al messaggio
Visualizzazione dei risultati da 1 a 4 su 4

dcount con where condition

  1. #1
    red_apple non è in linea Scolaretto
    salve,

    ho un maschera di inserimento appuntamenti, una volta inseriti tutti i campi, ho creato il pulsante Conferma, che mi deve dire se in quel giorno, in quello ed in quella sala posso inserire un appuntamento.

    Private Sub Comando81_Click()
    Dim conta As Integer
    Dim message As String
    conta = DCount("*", "Appuntamenti", "[Data] = #" & Me.dataord & "# and ([Ora Fin] < = #" & Me.Ora & "# or [Ora] > = #" & Me.Ora_Fin & "#) and [Sala] = '" & Replace(Me.Sala, "'", "''") & "'")
    If conta > 1 Or conta = 1 Then
    message = MsgBox("Sala occupata! Modifica prenotazione!", vbInformation)
    Else
    message = MsgBox("Appuntamento inserito con successo !!!", vbInformation)
    End If

    End Sub

    vado in difficoltà quando nelle condizioni di and devo mettere delle or, come posso ovviare a questo problema?
    grazie

  2. #2
    Non sei nuovo... Sai che devi postare nella sezione dedicata ad Access e che devi usare i tag Code per il codice. Più volte sei stato corretto... Non si può sempre...
    ℹ️ Leggi di più su AntonioG ...

  3. #3
    L'avatar di dragone bianco
    dragone bianco non è in linea Certosino
    Devi usare le parentesi
    La priorità di esecuzione booleana (se mi ricordo bene) è NOT AND OR
    Prima esegue le not, poi le AND ed infine le or
    Es
    A and B or C & D

    il Risultato di
    "A And B" e Di "C & D" vengono usati per OR

    Se usi le parentesi cambia contesto
    Es
    A and (B or C) & D

    A
    B or C = il loro risultato
    D
    Vengono calcolate da una AND

    AND Restituisce VERO se tutti i suoi argomenti sono veri
    OR Restituisce VERO se almeno uno dei suoi argomenti è vero

    Ciao

    PS:
    Sono stato generico perchè non hai descritto come volevi usare la OR
    ℹ️ Leggi di più su dragone bianco ...

  4. #4
    L'avatar di @Alex
    @Alex non è in linea Moderatore Globale
    Premesso che le prenotazioni dovrebbero avere un Campo di tipo DateTime che comprende già Data/ora e non si considerano 2 Campi distinti... questo aiuta a fare ricerche/calcoli ecc...

    Questa cosa non si deve vedere:
    If conta > 1 Or conta = 1 Then
    
    Si scrive
    If conta >0 Then
    
    Per sapere se hai un conflitto in ogni caso devi anche sapere quanto durano le prenotazioni... INIZIO-FINE altrimenti non è sufficiente... e per vedere la disponibilità si cerca se nella fascia di prenotazione ci sono appuntamenti che si accavallano, cercando nella SALA il
    DataFine(Esistenti)>DataInizio(Nuovo) AND DataInizio(Esistente)<DataFine(Nuovo)
    
    Saluti.
    ℹ️ Leggi di più su @Alex ...

+ Rispondi al messaggio

Potrebbero interessarti anche ...

  1. istruzione update con where condition
    Da red_apple nel forum Microsoft Word
    Risposte: 6
    Ultimo Post: 22-04-2016, 11:31
  2. Uso di DCount
    Da scurzino nel forum Microsoft Access
    Risposte: 8
    Ultimo Post: 14-10-2014, 10:29
  3. how to parse a condition
    Da el cuba libre nel forum C/C++
    Risposte: 3
    Ultimo Post: 17-08-2012, 19:50
  4. [Access] Where Condition-Report
    Da John nel forum Microsoft Access
    Risposte: 1
    Ultimo Post: 03-04-2008, 21:35
  5. [ASP.Net]where condition
    Da Squalo10 nel forum ASP 3, ASP .Net
    Risposte: 8
    Ultimo Post: 02-11-2007, 15:35