Comparer valeur champ d'édition avec champ table [VBA/Access 2000] - VB/VBA/VBS - Programmation
Marsh Posté le 10-06-2004 à 09:25:27
Avec une requête, j'essaie...Merci !!!
Marsh Posté le 10-06-2004 à 10:43:24
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....
++
Marsh Posté le 10-06-2004 à 10:58:15
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...
Marsh Posté le 10-06-2004 à 11:25:06
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!!!
Marsh Posté le 10-06-2004 à 11:28:06
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!!!
Marsh Posté le 10-06-2004 à 11:40:51
Code :
|
A coller dans l'évènement du bouton.
Marsh Posté le 10-06-2004 à 13:54:06
JihemAir a écrit :
|
Merci bien, je vais essayer tout de suite, t un crack toi!!!
Marsh Posté le 10-06-2004 à 14:19:15
JihemAir a écrit :
|
Euh, ça marche pas (p'tet parce ke je suis nul!!!)
G mis :
Code :
|
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!!!
Marsh Posté le 10-06-2004 à 14:25:00
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!
Marsh Posté le 10-06-2004 à 14:30:07
Il faut tester si la textbox contient qq chose:
If Me![Client] = "" then Exit Sub
avant de balancer la requete.
Marsh Posté le 10-06-2004 à 14:48:06
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!!!!!
Marsh Posté le 10-06-2004 à 14:55:19
Je sais pas pourkoi, mais If Me![Client] = "" marche pas,
mais If [Client] <> "" marche, c louche!!
Merci, pour l'aide, c super trop cool!!!
Marsh Posté le 10-06-2004 à 14:58:58
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.
Marsh Posté le 10-06-2004 à 15:05:48
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ù?
Marsh Posté le 10-06-2004 à 15:20:58
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)...
Marsh Posté le 10-06-2004 à 15:21:50
Ca devrait aller alors, merci pour le coup de pouce, t super cool!!!
Marsh Posté le 10-06-2004 à 15:22:02
Marsh Posté le 09-06-2004 à 15:34:39
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.
++++
---------------
Est-ce de l'info que tu respires ? Arrête d'essayer de programmer, fais-le !