Problème commande openform

Bonjour,

J'ai un problème pour rédiger une condition openform

voici mon code

ElseIf listetdd.Value = "Donation notariée" Then
    stDocName = "Donation notariée"
    stLinkCriteria = (((Typedossier.Value) = "Donation notariée") And ((Numcustomer.Value) = Numcustomer))
    DoCmd.OpenForm stDocName, , , stLinkCriteria


Une fois que le code s'exécute j'ai une fenêtre qui m'affiche "Faux". Je ne comprend pas pq.

Ce que je voudrais faire, en cliquant sur un bouton, c'est que on ouvbre un formulaire dont le numcustomer équivaut au numcustomer de l'enregistrement en cours mais (car il y a plusieurs numcustomer identiques), qu'il sélectionne uniquement celui dont typedossier = "donation notariée"

Qqn pourrait-il m'aider?

MERCI !!!
Configuration: Windows Vista
Firefox 2.0.0.13

8 réponses

  1. Merci ! Je m'en doute un peu....

    Je suis sur ce problème depuis quelques jours ;-)
    1. heuuu j'espère que tu n'as pas fait un copier/coller de mon exemple ... j'ai pris n'importe koi ... il faut l'adapter à ton code ...
      1. J'obtiens l'erreur "Incompatibilité de type"

        :S

        Le problème est que j'appelle un numcustomer identique à l'enregistrement en cours, mais comme dit plus haut, il y a un plusieurs enregistrements avec le même numcustomer et il me faut celui où typedossier = "Donation notariée"

        Et là tu n'as jamais qu'une seule solution possible.

        Mais ça ne fonctionne pas :(
        1. ok je vois mieux maintenant ... :D)

          Il faut mettre les 2 conditions, si on veut que les 2 conditions soient remplies il faut utiliser AND, et si l'on veut que seulement l'une des conditions soient remplies il faut utiliser OR. Par exemple :
          If listetdd.Value = "Donation bancaire"  AND Type_de_dossier.Value = "Donation par abandon d'usufruit" Then
          ....
          ElseIf ... etc


          ;o)

          polux
          1. Bon voilà mon code complet...

            Private Sub Command24_Click()
            Dim stDocName As String
            Dim stLinkCriteria As String
            Dim Newfiche As QueryDef
            DoCmd.RunCommand acCmdSaveRecord
            If listetdd.Value = "Donation bancaire" Then
                stDocName = "Donation bancaire"
                stLinkCriteria = "Typedossier =" & Me![listetdd]
                DoCmd.OpenForm stDocName, , , stLinkCriteria
            ElseIf listetdd.Value = "Donation notariée" Then
                stDocName = "Donation notariée"
                DoCmd.OpenForm stDocName, , , stLinkCriteria
            ElseIf Type_de_dossier.Value = "Donation par abandon d'usufruit" Then
                stDocName = "Donation par abandon d'usufruit"
                stLinkCriteria = "[Numéro de dossier]=" & Me![Numéro de dossier]
                DoCmd.OpenForm stDocName, , , stLinkCriteria
            ElseIf Type_de_dossier.Value = "Partage (hors succession)" Then
                stDocName = "Partage (hors succession)"
                stLinkCriteria = "[Numéro de dossier]=" & Me![Numéro de dossier]
                DoCmd.OpenForm stDocName, , , stLinkCriteria
            ElseIf Type_de_dossier.Value = "Succession" Then
                stDocName = "Succession"
                stLinkCriteria = "[Numéro de dossier]=" & Me![Numéro de dossier]
                DoCmd.OpenForm stDocName, , , stLinkCriteria
            ElseIf Type_de_dossier.Value = "Assurance temporaire décès" Then
                stDocName = "Assurance temporaire décès"
                DoCmd.OpenForm stDocName, , , stLinkCriteria
            ElseIf Type_de_dossier.Value = "Donation par renonciation à une rente" Then
                stDocName = "Donation par renonciation à une rente"
                stLinkCriteria = "[Numéro de dossier]=" & Me![Numéro de dossier]
                DoCmd.OpenForm stDocName, , , stLinkCriteria
            Else
            MsgBox ("Vous n'avez pas sélectionné de type de dossier!")
            End If
            End Sub


            Ce que je cherche, c'est à modifier la condition where de l'expression openform pour mettre 2 arguments et non un comme critère de sélection.

            Le if, elseif, else... je pense que ça devrait aller ;-)

            Merci pour votre aide
            1. Je ne comprends pas plus ... la syntaxe est :
              If .... Then ... ElseIf Then ..... End If
              , et le retour d'une condition est toujours False ou True.

              ;o)

              polux
              1. Simplement pcq je pars d'une listebox et que je vais mettre la même formule (averc un truc qui change à chaque fois évidemment!) pour chaque champ différent, d'où pas besoin de copier l'entièreté du code ;)