Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2953 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [VBA/Access 2000] Comparer valeur champ d'édition avec champ table

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[VBA/Access 2000] Comparer valeur champ d'édition avec champ table

n°758019
Neo Morphe​us
Je suis l'Elu...
Posté le 09-06-2004 à 15:34:39  profilanswer
 

Salut, j'aimerai savoir si quelqu'un peut m'aider.
Je voudrai savoir si on peut comparer le texte saisi dans une zone d'édition sous VBA Access 2000 avec les valeurs contenues dans un champ d'une table spécifique?Si oui, comment faire? Je souhaite tester la présence d'un client lorsque l'on me demande son nom dans un formulaire, si il est absent, le formulaire de coordonnées de ce client ne s'ouvre pas (jusqu'à maintenant, lorsqu'il ne trouvait pas le client , il s'ouvrait vierge de toutes informations).
 
J'aimerai également savoir comment empêcher l'ouverture simultanée d'un même formulaire par plusieurs personnes travaillant en réseau?
 
Merci d'avance.
++++ [:alucard]  [:tieumlar]


---------------
Est-ce de l'info que tu respires ? Arrête d'essayer de programmer, fais-le !
mood
Publicité
Posté le 09-06-2004 à 15:34:39  profilanswer
 

n°758704
JihemAir
Je sais pas
Posté le 10-06-2004 à 07:40:08  profilanswer
 

Envoie une requete et vois si le client existe.

n°758756
Neo Morphe​us
Je suis l'Elu...
Posté le 10-06-2004 à 09:25:27  profilanswer
 

Avec une requête, j'essaie...Merci !!!


---------------
Est-ce de l'info que tu respires ? Arrête d'essayer de programmer, fais-le !
n°758905
Neo Morphe​us
Je suis l'Elu...
Posté le 10-06-2004 à 10:43:24  profilanswer
 

Il m'affiche la table, moi je veux juste qu'il me dise si le client saisi dans le formulaire existe ou non...
merci qd même....
++


---------------
Est-ce de l'info que tu respires ? Arrête d'essayer de programmer, fais-le !
n°758923
JihemAir
Je sais pas
Posté le 10-06-2004 à 10:58:15  profilanswer
 

Il te faut une requete liée au bouton du formulaire qui teste le présence du client.
Tu crée une requete VBA, tu récupère le résultat dans un recordset, et si ton recordset n'est pas vide, c'est que le client existe. Tu peux ouvrir le formulaire coordonnées.
Si tu veux le code, fais moi signe...
 

n°758983
Neo Morphe​us
Je suis l'Elu...
Posté le 10-06-2004 à 11:25:06  profilanswer
 

Ouais, je veux bien si ça te dérange po...
J'ai dû passer 12hrs de cours sur access au bahut, et les recordset 1h alors pas top mon niveau...
Merci bcp!!!


---------------
Est-ce de l'info que tu respires ? Arrête d'essayer de programmer, fais-le !
n°758991
Neo Morphe​us
Je suis l'Elu...
Posté le 10-06-2004 à 11:28:06  profilanswer
 

Par hasard, tu saurais pas comment on fait pour envoyer des mails ou des fax via access?
Pour les mails, g trouvé http://www.info-3000.com/vbvba/envoiemailoutlook.php, mais le prog ne marche pas : il me dit "impossible d'ouvrir Email.Impossible d'ouvrir le fichier spécifié"????
Merci bien, tu m'aides vachement, c sympa!!!


---------------
Est-ce de l'info que tu respires ? Arrête d'essayer de programmer, fais-le !
n°759029
JihemAir
Je sais pas
Posté le 10-06-2004 à 11:40:51  profilanswer
 

Code :
  1. Dim strNom As String
  2. Dim rs As Recordset
  3. Dim qdReq As QueryDef
  4.     ' Nom du client
  5.     strNom = Texte1.Text
  6.     ' Création de la requete
  7.     Set qdReq = CurrentDb.CreateQueryDef("", "SELECT * FROM MaTable WHERE MaTable.Client LIKE '" & strNom & "';" )
  8.     Set rs = qdReq.OpenRecordset
  9.     ' Le client existe ?
  10.     If rs.BOF And rs.EOF Then
  11.         Exit Sub
  12.     End If
  13.    
  14.     ' J'ouvre le formulaire coordonnées.


A coller dans l'évènement du bouton.

n°759183
Neo Morphe​us
Je suis l'Elu...
Posté le 10-06-2004 à 13:54:06  profilanswer
 

JihemAir a écrit :

Code :
  1. Dim strNom As String
  2. Dim rs As Recordset
  3. Dim qdReq As QueryDef
  4.     ' Nom du client
  5.     strNom = Texte1.Text
  6.     ' Création de la requete
  7.     Set qdReq = CurrentDb.CreateQueryDef("", "SELECT * FROM MaTable WHERE MaTable.Client LIKE '" & strNom & "';" )
  8.     Set rs = qdReq.OpenRecordset
  9.     ' Le client existe ?
  10.     If rs.BOF And rs.EOF Then
  11.         Exit Sub
  12.     End If
  13.    
  14.     ' J'ouvre le formulaire coordonnées.


A coller dans l'évènement du bouton.


 
Merci bien, je vais essayer tout de suite, t un crack toi!!!
[:acherpy]


---------------
Est-ce de l'info que tu respires ? Arrête d'essayer de programmer, fais-le !
n°759215
Neo Morphe​us
Je suis l'Elu...
Posté le 10-06-2004 à 14:19:15  profilanswer
 

JihemAir a écrit :

Code :
  1. Dim strNom As String
  2. Dim rs As Recordset
  3. Dim qdReq As QueryDef
  4.     ' Nom du client
  5.     strNom = Texte1.Text
  6.     ' Création de la requete
  7.     Set qdReq = CurrentDb.CreateQueryDef("", "SELECT * FROM MaTable WHERE MaTable.Client LIKE '" & strNom & "';" )
  8.     Set rs = qdReq.OpenRecordset
  9.     ' Le client existe ?
  10.     If rs.BOF And rs.EOF Then
  11.         Exit Sub
  12.     End If
  13.    
  14.     ' J'ouvre le formulaire coordonnées.


A coller dans l'évènement du bouton.


 
Euh, ça marche pas (p'tet parce ke je suis nul!!!)
G mis :

Code :
  1. Private Sub Afficher_les_coordonnées_Click()
  2. On Error GoTo Err_Afficher_les_coordonnées_Click
  3.     Dim stDocName As String
  4.     Dim stLinkCriteria As String
  5.    
  6.     Dim strNom As String
  7.     Dim rs As Recordset
  8.     Dim qdReq As QueryDef
  9.    
  10.     stDocName = "Clients"
  11.    
  12.     stLinkCriteria = "[Client]=" & "'" & Me![Client] & "'"
  13.  
  14.         ' Nom du client
  15.         strNom = Texte1.Text
  16.         ' Création de la requete
  17.         Set qdReq = CurrentDb.CreateQueryDef("", "SELECT * FROM Clients WHERE Clients.Client LIKE '" & strNom & "';" )
  18.         Set rs = qdReq.OpenRecordset
  19.         ' Le client existe ?
  20.         If rs.BOF And rs.EOF Then
  21.               Exit Sub
  22.         End If
  23.      
  24.       ' J'ouvre le formulaire coordonnées.
  25.         DoCmd.OpenForm stDocName, , , stLinkCriteria
  26.         Call MsgBox("Aucun client saisi. Veuillez saisir un client.", vbOKOnly + vbCritical, "Vérification du client" )
  27.    
  28. Exit_Afficher_les_coordonnées_Click:
  29.     Exit Sub
  30. Err_Afficher_les_coordonnées_Click:
  31.     MsgBox Err.Description
  32.     Resume Exit_Afficher_les_coordonnées_Click
  33.    
  34. End Sub


 
Mais je comprends pas par quoi remplacer " strNom = Texte1.Text"?
C koi "Texte1.Text"?
 
Le message d'erreur est :
"Objet requis"
 
Dsl de t'embêter avec et merci!!! :jap:


---------------
Est-ce de l'info que tu respires ? Arrête d'essayer de programmer, fais-le !
mood
Publicité
Posté le 10-06-2004 à 14:19:15  profilanswer
 

n°759220
Neo Morphe​us
Je suis l'Elu...
Posté le 10-06-2004 à 14:25:00  profilanswer
 

Désolé g répondu trop vite!!
Ca marche avec "Me![Client]" à la place de "Texte1.Text", c trop cool, merci!!!!!!!!!!!  ;)   (Client est le nom de la zone d'édition)
Par contre, si on met rien, il me dit "Utilisation incorrecte de Null", t'as une idée?
Merci, merci, merci!


---------------
Est-ce de l'info que tu respires ? Arrête d'essayer de programmer, fais-le !
n°759232
JihemAir
Je sais pas
Posté le 10-06-2004 à 14:30:07  profilanswer
 

Il faut tester si la textbox contient qq chose:
If Me![Client] = "" then Exit Sub
avant de balancer la requete.

n°759268
Neo Morphe​us
Je suis l'Elu...
Posté le 10-06-2004 à 14:48:06  profilanswer
 

Vi t'as raison ,je l'avis mis avant, c'était le seul truc qui marchait d'ailleurs! :lol
Merci bien!!!
 
T'aurais pas une astuce pour l'histoire des mails ou des faxs?
 
Je voudrai pas abuser, mais si tu me trouve trop envahissant, te gène pas dis-le moi, je comprendrai...
 
Tu saurais pas par hasard comment on peut empêcher deux utilisateurs d'ouvrir le même formulaire en même temps sur un réseau?
 
Merci!!!!! ;)


---------------
Est-ce de l'info que tu respires ? Arrête d'essayer de programmer, fais-le !
n°759282
Neo Morphe​us
Je suis l'Elu...
Posté le 10-06-2004 à 14:55:19  profilanswer
 

Je sais pas pourkoi, mais  If Me![Client] = ""  marche pas,  
mais If [Client] <> ""  marche, c louche!!
Merci, pour l'aide, c super trop cool!!!:D


---------------
Est-ce de l'info que tu respires ? Arrête d'essayer de programmer, fais-le !
n°759292
JihemAir
Je sais pas
Posté le 10-06-2004 à 14:58:58  profilanswer
 

Pour les mails, je ne sais pas. Pour le formulaire, c'est fait pour ça: que plusieurs utilisateurs l'utilisent en même temps.  
Si tu ne veux pas,tu peux mettre la base en mode exclusif.

n°759302
Neo Morphe​us
Je suis l'Elu...
Posté le 10-06-2004 à 15:05:48  profilanswer
 

Tiens, je t'envois le code, c ton oeuvre tout de même et qui marche nickel!!!!
Private Sub Afficher_les_coordonnées_Click()
On Error GoTo Err_Afficher_les_coordonnées_Click
 
    Dim stDocName As String
    Dim stLinkCriteria As String
     
    Dim strNom As String
    Dim rs As Recordset
    Dim qdReq As QueryDef
     
    stDocName = "Clients"
     
    stLinkCriteria = "[Client]=" & "'" & Me![Client] & "'"
   
        ' Vérification si le champ n'est pas rempli
        If Me![Client] <> "" Then
            ' Nom du client
            strNom = Me![Client]
            ' Création de la requete
            Set qdReq = CurrentDb.CreateQueryDef("", "SELECT * FROM Clients WHERE Clients.Client LIKE '" & strNom & "';" )
            Set rs = qdReq.OpenRecordset
            ' Le client existe ?
            If rs.BOF And rs.EOF Then
                Call MsgBox("Client inconnu de ICS.", vbOKOnly + vbExclamation, "Erreur saisie du client" )
                Exit Sub
            End If
        'Si le champ est vide
        Else
            Call MsgBox("Aucun client saisi. Veuillez saisir un client.", vbOKOnly + vbExclamation, "Vérification du client" )
            Exit Sub
        End If
       
      ' J'ouvre le formulaire coordonnées.
        DoCmd.OpenForm stDocName, , , stLinkCriteria
 
     
Exit_Afficher_les_coordonnées_Click:
    Exit Sub
 
Err_Afficher_les_coordonnées_Click:
    MsgBox Err.Description
    Resume Exit_Afficher_les_coordonnées_Click
     
End Sub
 
Je suis en stage et moi g plus appris le C/C++, mais bon, mon boss m'a demandé si je pouvais empêcher qu'une personne vienne écrire sur un formulaire pendant qu'une deuxième le lit ou écrit dessus.
Pour le mode exclusif , c où?


---------------
Est-ce de l'info que tu respires ? Arrête d'essayer de programmer, fais-le !
n°759336
JihemAir
Je sais pas
Posté le 10-06-2004 à 15:20:58  profilanswer
 

C'est dans les options de la base. Un seul utilisateur peut l'ouvrir à un moment donné.  
Mais tu peux expliquer à ton boss que Access gère le multi-utilisateurs et même qu'il est fait pour ça. Que plusieurs personnes pointent sur la base ne le gêne pas. (Dans certaines limites, je crois qu'à partir de 20 personnes, les performances se dégradent)...

n°759340
Neo Morphe​us
Je suis l'Elu...
Posté le 10-06-2004 à 15:21:50  profilanswer
 

Ca devrait aller alors, merci pour le coup de pouce, t super cool!!!


---------------
Est-ce de l'info que tu respires ? Arrête d'essayer de programmer, fais-le !
n°759341
Neo Morphe​us
Je suis l'Elu...
Posté le 10-06-2004 à 15:22:02  profilanswer
 

;)


---------------
Est-ce de l'info que tu respires ? Arrête d'essayer de programmer, fais-le !

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [VBA/Access 2000] Comparer valeur champ d'édition avec champ table

 

Sujets relatifs
Défragmenter une table OracleAccess, critère de date Urgent !!
Règle sur le choix d'une clé primaire dans une tableEcrire la valeur d'une variable dans une cellule
afficher états access depuis vbConvertir des données en VBA vers Excel
Probleme de formulaire sous accessASP et Base de données Access avec Front Page
[access] probleme de requete avec plusieurs parametres .....[VBA] afficher mes données excel dans une listbox
Plus de sujets relatifs à : [VBA/Access 2000] Comparer valeur champ d'édition avec champ table


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR