Vba access instruction IF

Bonjour à tous,

Voilà je débute en VBA, et dans mon code, j'ai une erreur de syntaxe dans le IF.

J'espère que vous pouviez m'aider, en vous remerciant d'avance.

[code]
Private Sub Form_Current()

If OPERATION.societe.value="France" Or_

OPERATION.societe.value="Daxon France" Or_
OPERATION.societe.value="Celaia" And_
OPERATION.type_demande.value="Adressage" And_
OPERATION.date_redoute.value=Empty And_
OPERATION.date_souhaitee.value <> Empty
Then
OPERATION.date_redoute.Value = OPERATION.date_souhaitee.Value - 1
ElseIf
OPERATION.date_redoute.value=Empty And_
OPERATION.date_souhaitee.value <> Empty
Then
OPERATION.date_redoute.Value = OPERATION.date_souhaitee.Value

End If

End Sub

[/code]

en sachant que OPERATION est le nom de ma table.

Cordialement,

Nico

4 réponses

  • Votes
  • Date
  • Date décroissante
  1. Modérateur
    Salut,

    OPERATION.type_demande et les autres sont des champs d'un formulaire ?
    où est déclarée la variable Empty, que contient-elle ?
    1. Salut,

      Opération est ma table, et type_demande, societe , date_redoute, et date_souhaitee sont des champs de Opération.
      Le nom de mon formulaire est Ajout_ope.
      Ces champs sont dans le formulaire.
      J'ai mis empty pour affecter le champ à vide.

      Voila je suis un peu perdu, je ne sais pas si il faut déclarer qqch avant, ou si je dois mentionner le formulaire.

      En fait ce que je veux, c'est quand je renseigne certains champs, le champ date_redoute est calculé automatiquement.
      1. Modérateur
        En fait ce que je veux, c'est quand je renseigne certains champs, le champ date_redoute est calculé automatiquement.
        Dans ce cas, il faut mettre le code dans un évènement 'sur changement' des champs qui doivent aboutir à la mise à jour.
    2. Bonsoir,
      pour mettre une valeur à vide il faut mettre 2 guillemets sans espaces

      OPERATION.date_souhaitee.value = ""
      1. Bonjour,

        Même en mettant les 2 guillemets sans espace, je me retrouve avec mon erreur de syntaxe, et ça depuis la première ligne de l'instruction IF