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 :

rechercher existance d'un enregistrement


Sujet :

Access

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 45
    Points : 28
    Points
    28
    Par défaut rechercher existance d'un enregistrement
    Bonjour,

    Voila, j'ai un fomulaire comprenant un sous formuilaire en mode feuille de donnée.

    I l y a dans ce sous frm, un champ "AA". Je souhaiterais qu'a la qu'a la mise à jour de ce champs, VB vérifie si dans une table lièe le nom de cette personne existe deja dans cette base.

    Voici le premier code que j'ai essayé :
    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
    Private Sub nomouv_AfterUpdate()
     
    'Declaration des variables
    Dim cnn As ADODB.Connection
    Dim Rst As ADODB.Recordset
    Dim strSQL As String
    Dim ctrl As String
     
    Set cnn = New ADODB.Connection
    cnn.Open "Provider=Microsoft Jet 4.0 OLE DB Provider;" & _
          "Data Source=H:\Appli\XXX\Dorsale\XXX_princip.mdb"
     
    ' Ouvrir la table saisieheure
     
    Set Rst = New ADODB.Recordset
    strSQL = "SELECT * FROM saisieheure WHERE codouv= chr(34) & nomouv.Value & chr(34);"
     
    Rst.Open strSQL, cnn, adOpenDynamic, adLockOptimistic, adCmdText
    While Not Rst.EOF
        MsgBox Rst("codouv") & _
            vbCrLf & Rst("AnneeSemaine")
        Rst.MoveNext
    Wend
     
    ' Libérer les objets
    Rst.Close
    Set Rst = Nothing
    cnn.Close
    Set cnn = Nothing
     
    End Sub
    et j'ai essayé celui aussi :


    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
    Private Sub nomouv_AfterUpdate()
     
    'Declaration des variables
    Dim cnn As ADODB.Connection
    Dim Rst As ADODB.Recordset
    Dim strSQL As String
    Dim ctrl As String
     
    Set cnn = New ADODB.Connection
    cnn.Open "Provider=Microsoft Jet 4.0 OLE DB Provider;" & _
          "Data Source=H:\AppliESI\Pointeuse 1.0\Dorsale\Appli_pointeuse_princip.mdb"
     
    ' Ouvrir la table saisieheure
     
    Set Rst = New ADODB.Recordset
    strSQL = "SELECT * FROM saisieheure WHERE codouv= [Forms]![Frm_saisie_BT]![Saisie_heure_BT sous-formulaire].Form![nomouv];"
     
    Rst.Open strSQL, cnn, adOpenDynamic, adLockOptimistic, adCmdText
    While Not Rst.EOF
        MsgBox Rst("codouv") & _
            vbCrLf & Rst("AnneeSemaine")
        Rst.MoveNext
    Wend
     
    ' Libérer les objets
    Rst.Close
    Set Rst = Nothing
    cnn.Close
    Set cnn = Nothing
     
    End Sub
    Dans les deux cas j'ai la même erreur : Erreur d'exécution '-2147217904 (80040e10)' :
    aucune valeur donnée pour un ou plusieurs des parametres requis


    Je pense que mon soucis, est de faire référence au controle du formulaire car si je met
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    strSQL = "SELECT * FROM saisieheure WHERE (codouv = "xy")
    ça fonctionne.


    : quelqu'un pourrait-il medire ou je me suis trompé?
    Merci d'avance.

  2. #2
    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
    if cptedom("monchamp","matable","monchamp= '" & me.aa & "')=0" then
    Elle est pas belle la vie ?

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 45
    Points : 28
    Points
    28
    Par défaut
    Apres un petit congès je vais m'y remettre.

    Merci je vais essayer cela.

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 45
    Points : 28
    Points
    28
    Par défaut
    Ok j'arrive bien a savoir si la valeur du champ aa et bien present dans ma.
    En revanche est il possible de demander une reponse sur l'existence d'un enregistrement en fonction de deux champs decet enregistrement.

    Je m'explique :

    Je saisie un enregistrement avec le champ deux champ sont presents "nom" et "n° semaine".
    il faudrait verifier dans la table en question s'il existe un enregistrement pour cette personne la semaine saisie.

    merci

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 09/08/2007, 17h38
  2. [Débutant]Vérifier existance d'un enregistrement dans une table
    Par fabiolous dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 25/04/2007, 12h01
  3. Vérif existence d un enregistrement
    Par jubru dans le forum Access
    Réponses: 1
    Dernier message: 10/12/2006, 14h03
  4. Recherche Valeur d'un enregistrement
    Par Daniel MOREAU dans le forum Access
    Réponses: 7
    Dernier message: 11/04/2006, 13h39
  5. tester l'existance d'un enregistrement
    Par LoLoSS dans le forum Langage SQL
    Réponses: 5
    Dernier message: 07/05/2004, 14h58

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