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

Macros et VBA Excel Discussion :

probléme de dtpicker


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Avril 2009
    Messages
    126
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 126
    Par défaut probléme de dtpicker
    salut
    je travail sur un base de données acces.
    le table contient deux champs de dates , un se fait par une simple insert into ( ca marche bien ) l'autre se fait par un update.
    ce dernière ne marche pas.
    une condition ( la valeur de la cobox 5 oui or non ) :
    si oui je test s'il ya un enregstrmant avant ou non et je fais l'update
    si non donc un simple insert into ( marche tres bien )
    voila en gros
    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
    30
    31
    32
    33
    34
    Dim con As New ADODB.Connection
    Dim rs As New ADODB.Recordset
    Dim sql As String
    Dim sql2 As String
     
     
    nom = ComboBox1.Value
    prenom = ComboBox2.Value
    sal = ComboBox3.Value
    gar = ComboBox4.Value
    .....
     
    'conection  a la bse de données 
    If ComboBox5.Value = "Oui" Then
     
    'Vérif si enregistrement existant
    Set rs.ActiveConnection = con
    rs.Open " Select * from acteurcorr where  Nom ='" & nom & "' and  Prenom ='" & prenom & "'and datebut = '" & date1 & "'" ' c'est dtpicker
     
    'Traitement
    If rs.EOF Then '(si pas d'enregistrements)
     
    'insertion
    sql = " insert into acteurcorr (Nom,Prenom,Salaire,grade,datedebut,datefinale)  Values ('" & nom & "' ,'" & prenom & "','" & sal & "', '" & gar & "','" & datede & "','" & azer & "' )"
    con.Execute sql
     
    Else '(au moins un enregistrement)
     
    sql2 = " update  acteurcorr set   datefinale  =  '" & datede & "', grade = '" & gar & "'  where Nom ='" & nom & "' and  Prenom ='" & prenom & "' and  datefinale Is Null  "
     
    con.Execute sql2
    rs.Close
    Set rs = Nothing
    End If
    message erreur est :

    type de type de données incompatible dans l'expression du critère
    merci d'avance

  2. #2
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    Bonjour

    Quel est la valeur de sql2 quand ca plante.

  3. #3
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    Bonsoir,

    ce test :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ...and  datefinale Is Null
    est censé retourner quoi ?

  4. #4
    Membre confirmé
    Inscrit en
    Avril 2009
    Messages
    126
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 126
    Par défaut
    salut
    merci a tous

    mon but a faire :
    exemple :
    j'ai ces données a mettre dans le base de données ( a travers l'userform)
    nom :Simon
    prenom : Rosalie
    salaire :100
    date de début : 05/07.2011
    apres je récupéré l’enregistrement pour le terminer ( c'est à dire select fromwhere et upate)

    si j'ai saisie Simon et Rosalie et Le date début 05/07/2011 alors automatique le programme sache c'est un enregistrement ancien donc update
    et je contienu a saise les autres champs de réquette upate ..

    le problème ici select form where date de début = date saisie !!!!!

  5. #5
    Membre confirmé
    Inscrit en
    Avril 2009
    Messages
    126
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 126
    Par défaut
    j'ai essaye de trouve une solution, j'ai autre problème dans un autre ligne
    voila le code :
    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
    30
    31
    32
    33
    34
    35
    36
    Dim con As New ADODB.Connection
    Dim rs As New ADODB.Recordset
    Dim sql As String
    Dim sql2 As String
     
     
    nom = ComboBox1.Value
    prenom = ComboBox2.Value
    sal = ComboBox3.Value
    gar = ComboBox4.Value
    .....
     
    'conection  a la bse de données 
    If ComboBox5.Value = "Oui" Then
     
    'Vérif si enregistrement existant
    Set rs.ActiveConnection = con
    rs.Open " Select * from acteurcorr where  Nom ='" & nom & "' and  Prenom ='" & prenom & "'and datebut = # " & date1 & "# " ' c'est dtpicker c'est bon cette linge marche bien
    ' mais if ne marche plus la 1ére instruction s' exécute  je met le bloc instrion 'en commentaire l'update marche si j’enlève le commentaire l'insert marche et 'l'update non 
     
    'Traitement
    If rs.EOF Then '(si pas d'enregistrements)
     
    'insertion
    sql = " insert into acteurcorr (Nom,Prenom,Salaire,grade,datedebut,datefinale)  Values ('" & nom & "' ,'" & prenom & "','" & sal & "', '" & gar & "','" & datede & "','" & azer & "' )"
    con.Execute sql
     
    Else '(au moins un enregistrement)
     
    sql2 = " update  acteurcorr set   datefinale  =  '" & datede & "', grade = '" & gar & "'  where Nom ='" & nom & "' and  Prenom ='" & prenom & "' and  datefinale Is Null  "
     
    con.Execute sql2
    rs.Close
    Set rs = Nothing
    End If

  6. #6
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    j'ai essaye de trouve une solution, j'ai autre problème dans un autre ligne
    c'est quoi le problème ?

Discussions similaires

  1. [XL-2010] Problème de dtpicker avec windows8
    Par grisan29 dans le forum Macros et VBA Excel
    Réponses: 39
    Dernier message: 30/06/2014, 16h54
  2. [XL-2010] problème validation dtpicker
    Par vsobo dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 19/10/2011, 11h02
  3. [XL-2007] Problème Contôle DTPicker présent dans une frame sur feuille Excel
    Par Cyberseb87 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 31/08/2010, 16h59
  4. [AC-2003] problème avec dtpicker
    Par aldama dans le forum IHM
    Réponses: 2
    Dernier message: 15/06/2009, 18h59
  5. Problème avec DTPicker
    Par wolf491 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 05/06/2007, 17h55

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