IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Access Discussion :

Comment rechercher si un numéro existe déja ?


Sujet :

Access

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 78
    Points : 41
    Points
    41
    Par défaut Comment rechercher si un numéro existe déja ?
    Bonjour et bonne année à tous,

    Je voudrais modifier un numéro de facture;

    Pour l'instant j'ai un numéro qui se formate sur la date et le mois.

    ex F 002 01 06 corespond à la facture n°2 du mois de janvier 2006

    Je veux pouvoir remplir trois champs Num, mois, an et changer par ce nouveau numéro.

    Il faut que je recherche si se numéro n'existe pas déja, mais je ne sais pas utilisé RechDom ? j'ai essayé cela mais erreur de compilation :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    'Recherche si le numéro existe déja
    Numéro = FormaterPiece("F", an, mois, num)
    RechDom ("[NumFacture]","T_Factures Clients","[NumFacture]='" & Numéro)
    Pouver vous m'aider

  2. #2
    Membre chevronné
    Avatar de Demco
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    1 396
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 396
    Points : 2 228
    Points
    2 228
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RechDom ("[NumFacture]","T_Factures Clients","[NumFacture]='" & Numéro)
    Tu as une apostrophe isolée qui se ballade dans ton 3ème paramètre de fonction.

    Essaie :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RechDom ("[NumFacture]","T_Factures Clients","[NumFacture]=" & Numéro)
    En espérant t'aider.
    J'aime les gâteaux.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 78
    Points : 41
    Points
    41
    Par défaut
    Ok ca passe la compil en fait il faut le mettre en anglais en vba Dlookup(),

    je narrive pas à l'afficher !!!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    'Recherche si le numéro existe déja
    Numéro = FormaterPiece("F", "05", "12", "001")
    'DLookup("[NumFacture]", "T_Factures Clients", "[NumFacture]=" & Numéro)
    MsgBox DLookup("[NumFacture]", "T_Factures Clients", "[NumFacture]=" & Numéro)
    Je ne sais pas si faut utiliser DLookup ? Que me rend cette fonction si elle ne trouve rien ? Chaine vide "" ? Boolen "False" ?
    Existe t'il une autre fonction qui teste l'existence ?

    Merci de votre aide !

  4. #4
    Expert éminent

    Avatar de Maxence HUBICHE
    Homme Profil pro
    Développeur SQLServer/Access
    Inscrit en
    Juin 2002
    Messages
    3 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur SQLServer/Access

    Informations forums :
    Inscription : Juin 2002
    Messages : 3 842
    Points : 9 197
    Points
    9 197
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MsgBox DLookup("[NumFacture]", "T_Factures Clients", "[NumFacture]='" & Numéro &"'")
    C'est du texte, donc entre apostrophe, ou entre guillemets

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 78
    Points : 41
    Points
    41
    Par défaut Pour le passage des parametres comment dois je m'y prendre?
    Ok ca marche, il me rend null si il n'existe pas
    sinon il me renvoie la valeur recherché.

    Pour le passage des parametres comment dois je m'y prendre ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    'Recherche si le numéro existe déja
    Numéro = FormaterPiece("F", "05", "12", "001")
    existe = DLookup("[NumFacture]", "T_Factures Clients", "[NumFacture]='" & Numéro & "'")
     
    MsgBox existe
    ' si le numéro n'existe pas on le formate en fonction des élément entrées
    If IsNull(existe) Then
    Me.NumFacture = FormaterPiece("F", "05", "12", "001")
     
    Else: MsgBox "Le Numéro existe déja essayer un autre numéro"
    je pensais ajouter un bouton "modifier" pres du NumFacture
    qui m'affiche (Sur le meme formulaire FactureClient ?) trois champs à remplir "an'' , "mois", "Num" et deux boutons :

    "modifier" qui lancerait ma procédure "Btn modifier" et
    "annuler" qui effacerai les trois champs à remplir

    comment passer les parametres "an'' , "mois", "Num"

    Merci de votre aide !

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 78
    Points : 41
    Points
    41
    Par défaut Personne n'a une idée comment passer des parametres !
    Personne n'a une idée comment passer des parametres !

  7. #7
    Membre éprouvé
    Avatar de keita
    Homme Profil pro
    Inscrit en
    Novembre 2002
    Messages
    881
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations forums :
    Inscription : Novembre 2002
    Messages : 881
    Points : 1 121
    Points
    1 121
    Par défaut
    slaut
    Pour recuperer les 2 derniers chiffres de l'annee et le mois:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Me!An=Right(Year(Date),2)
    Me!Mois=Month(date)
    J'espere avoir compris ton pb
    @+

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 78
    Points : 41
    Points
    41
    Par défaut
    en fait je veux récupérer des parametre que j'ai tapé dans un formulaire ouvert,soit trois champs:
    je tape le mois , l'année et le num

    Et je récupére un numéro formaté dans un autres champs de ce formulaire numFacture

    Dois je les mettre comme parametre de ma fonction ?

    voila ce que j'ai pour l'instant, mais j'ai un pb d'incohérence de type, pourquoi ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    Dim Type_de_pièce As String
    Dim mois As String
    Dim an As String
    Dim num As String
     
    an = Me.an
    mois = Me.mois
    num = Me.num
     
     
    'Recherche si le numéro existe déja
    'Numéro = FormaterPiece("F", an, mois, num)
    'Existe = RechDom("[NumFacture]", "T_Factures Clients", "[NumFacture]='" & Numéro)
     
    'Recherche si le numéro existe déja
    'Numéro = FormaterPiece("F", "05", "12", "001")
    Numéro = FormaterPiece("F", an, mois, num)
    existe = DLookup("[NumFacture]", "T_Factures Clients", "[NumFacture]='" & Numéro & "'")
     
    MsgBox existe
     
    ' si le numéro n'existe pas on le formate en fonction des élément entrées
     
    If IsNull(existe) Then
    Me.NumFacture = FormaterPiece("F", "05", "12", "001")
     
    Else: MsgBox "Le Numéro existe déja essayer un autre numéro"
     
    End If
    Help me

  9. #9
    Membre éprouvé
    Avatar de keita
    Homme Profil pro
    Inscrit en
    Novembre 2002
    Messages
    881
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations forums :
    Inscription : Novembre 2002
    Messages : 881
    Points : 1 121
    Points
    1 121
    Par défaut
    Oui d'accord mais qu'est ce qu'on doit voir dans Me.NumFacture
    apres ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.NumFacture = FormaterPiece("F", "05", "12", "001")
    quelque chose comme ça:
    F-05-12-001
    ou:
    F/05/12/001
    @+[/code]

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 78
    Points : 41
    Points
    41
    Par défaut
    Fnummoisannée

    F0011205

    sans tirets

    mais pas de pb sur formater piece il marche quand je fais
    FormaterPiece("F", "05", "12", "001")

  11. #11
    Membre éprouvé
    Avatar de keita
    Homme Profil pro
    Inscrit en
    Novembre 2002
    Messages
    881
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations forums :
    Inscription : Novembre 2002
    Messages : 881
    Points : 1 121
    Points
    1 121
    Par défaut
    Fredri a ecrit:
    voila ce que j'ai pour l'instant, mais j'ai un pb d'incohérence de type, pourquoi ?
    Et le debogueur marque quelle ligne de ton code alors?
    A+

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 78
    Points : 41
    Points
    41
    Par défaut
    J'ai résolu mon pb d'incohérence type, je voudrais savoir si c'est possible d'afficher des nouveaux champs dans un formulaire ouvert en cliquant sur un bouton , mais pas activé / désactivé (il apparaisent en gris ) peut etre visible et invisible ?

  13. #13
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 78
    Points : 41
    Points
    41
    Par défaut
    Je voudrais utiliser un bouton bascule qui affiche ces trois champs si appui sinon les rends invisible . Dans mon code evenement
    Quelle doit etre ma condition ??? du genre

    if "Me.etat appuyée" then "visible" else "pas visible"

    Je n'arrive pas a trouver !

  14. #14
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    710
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 710
    Points : 847
    Points
    847
    Par défaut
    Salut,

    Tu peux essayer qqchose comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Bascule1_AfterUpdate()
    Me.Étiquette0.Visible = Not (Me.Bascule1)
    End Sub
    Mais ton pb n'as plus rien a voir avec ton sujet initial : ça facilitera pas les recherches ultérieures

    Il vaut mieux créer un autre post dans ce cas.

    A+

  15. #15
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 78
    Points : 41
    Points
    41
    Par défaut
    ok mais j'avais peur du multipost

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [VB6]Comment savoir si un répertoire existe
    Par pendragon dans le forum VB 6 et antérieur
    Réponses: 13
    Dernier message: 30/09/2016, 06h42
  2. Réponses: 0
    Dernier message: 07/04/2014, 16h44
  3. Réponses: 1
    Dernier message: 31/05/2009, 09h11
  4. [Delphi7 interbase] Rechercher si une table existe
    Par Ricardeau dans le forum Bases de données
    Réponses: 6
    Dernier message: 15/03/2004, 10h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo