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 :

Commande VB à executer dans access , comment faire ?


Sujet :

Access

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 45
    Points : 18
    Points
    18
    Par défaut Commande VB à executer dans access , comment faire ?
    Bonjour

    J'aimerai faire une requete avec une condition mais je ne sais pas si cela est possible...

    J'aimerai comparer deux champs dans deux tables si ces deux champs sont identique alors je metterai a jour toutes les valeurs de client_new vers client_complet si ce n'est pas le cas j'ajouterai les valeurs de client_new a la fin de client_complet

    if Client_complet.num_SAP=client_new.num_SAP AND
    Client_complet.Nom_Prenom=Client_new.Nom_Prenom
    Then UPDATE client_complet SET ???
    else INSERT INTO client_complet(mes colonnes) VALUES client_new(mes colonnes)

  2. #2
    Membre à l'essai
    Inscrit en
    Août 2006
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 42
    Points : 19
    Points
    19
    Par défaut
    Plutot un truc du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    IF Client_complet.num_SAP=client_new.num_SAP 
    AND Client_complet.Nom_Prenom=Client_new.Nom_Prenom
    THEN 
    UPDATE client_complet.num_SAP, client_complet.Nom_Prenom
    ELSE INSERT client_new.num_SAP, Client_new.Nom_Prenom, 
    INTO Client_complet(colonne), Client_complet(colonne)

  3. #3
    Expert confirmé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 419
    Points : 4 297
    Points
    4 297
    Par défaut
    il faut procéder en deux temps mise à jour et ajout en jouant sur la jointure
    et sur isnull

  4. #4
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 45
    Points : 18
    Points
    18
    Par défaut
    il faudrait faire deux requetes alors ?

    Ne serait ce pas plus simple de faire cela en Vb ?

  5. #5
    Expert confirmé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 419
    Points : 4 297
    Points
    4 297
    Par défaut
    non

  6. #6
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 45
    Points : 18
    Points
    18
    Par défaut
    Citation Envoyé par Moyaku
    Plutot un truc du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    IF Client_complet.num_SAP=client_new.num_SAP 
    AND Client_complet.Nom_Prenom=Client_new.Nom_Prenom
    THEN 
    UPDATE client_complet.num_SAP, client_complet.Nom_Prenom
    ELSE INSERT client_new.num_SAP, Client_new.Nom_Prenom, 
    INTO Client_complet(colonne), Client_complet(colonne)
    Ok , merci bcp

    Comment puis je inserer cela dans une requete sql ?

    Merci

  7. #7
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 45
    Points : 18
    Points
    18
    Par défaut
    En fait le mieux serait que je puisse incorporer cette fonction dans access
    Si bien sur il n'y a pas de faute


    Program Fiche Client

    Var i=1

    Begin

    numero=0;
    repeat
    numero=numero + i;

    Case Client_new.modification OF

    Modification : IF Client_complet.num_SAP=client_new.num_SAP AND Client_complet.Nom_Prenom=Client_new.Nom_Prenom
    THEN UPDATE client_complet.num_SAP, client_complet.Nom_Prenom;

    Supression : IF Client_complet.num_SAP=client_new.num_SAP AND Client_complet.Nom_Prenom=Client_new.Nom_Prenom
    THEN DELETE la ligne concernée ? ;

    Ajout : INSERT Client_new(Numéro,Num_SAP,Nom_Prenom,Societe,Service,Code_postal,Ville,Adresse1,Adresse2,Tel,Fax,Code_TCF,Categorie_client,Mail,Champ14,Champ15)
    INTO Client_complet(Numéro,Num_SAP,Nom_Prenom,Societe,Service,Code_postal,Ville,Adresse1,Adresse2,Tel,Fax,Code_TCF,Categorie_client,Mail,Champ14,Champ15);


    i=i+1;
    until numero=5000;

    End.

  8. #8
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 45
    Points : 18
    Points
    18
    Par défaut VB commande a executer
    Bonjour

    Suite a mon autre poste (cf http://www.developpez.net/forums/sho...d.php?t=202899 )
    Je pense avoir trouvé une solution face a ce probleme qui est de faire un commande en VB , seulement j'ai un soucis

    Comment la faire executer par access ? par un macro ?

    Voici ma commande

    Var i = 1

    Begin
    numero = 0
    Do
    numero = numero + i

    Select Case Client_new.Modification
    Case Modification
    If Client_complet.num_SAP = Client_new.num_SAP And Client_complet.Nom_Prenom = Client_new.Nom_Prenom Then
    Update Client_complet.num_SAP, Client_complet.Nom_Prenom
    End If
    Case Supression
    If Client_complet.num_SAP = Client_new.num_SAP And Client_complet.Nom_Prenom = Client_new.Nom_Prenom Then
    Delete Client_complet.num_SAP, Client_complet.Nom_Prenom, Client_complet.Societe, Client_complet.Service, Client_complet.Code_postal, Client_complet.Ville, Client_complet.Adresse1, Client_complet.Adresse2, Client_complet.Tel, Client_complet.Fax, Client_complet.Code_TCF, Client_complet.Categorie_client, Client_complet.Mail, Client_complet.Champ14, Client_complet.Champ15
    End If
    Case Ajout
    INSERT Client_new(Numéro, num_SAP, Nom_Prenom, Societe, Service, Code_postal, Ville, Adresse1, Adresse2, Tel, Fax, Code_TCF, Categorie_client, Mail, Champ14, Champ15)
    INTO Client_complet(Numéro, num_SAP, Nom_Prenom, Societe, Service, Code_postal, Ville, Adresse1, Adresse2, Tel, Fax, Code_TCF, Categorie_client, Mail, Champ14, Champ15)



    i = i + 1
    Loop Until numero = 5000

    End

Discussions similaires

  1. Commande DoCmd.OpenForm dans access
    Par pontoise dans le forum Access
    Réponses: 6
    Dernier message: 14/05/2013, 01h13
  2. [Access] Comment faire un moyenne pondérée dans une requete ?
    Par megapacman dans le forum Langage SQL
    Réponses: 3
    Dernier message: 27/01/2007, 09h23
  3. [Connexion][Access] Comment faire ?
    Par amazircool dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 12/06/2006, 07h17
  4. centrer un DIV dans IE. Comment faire?
    Par samsso2005 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 31/03/2006, 14h49
  5. [JDBC][Access] comment faire un lien avec la BD
    Par pmartin8 dans le forum JDBC
    Réponses: 4
    Dernier message: 19/10/2005, 14h35

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