Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > VBA Access
VBA Access Le forum pour les questions relatives au code VBA sous Access, et à son environnement de développement VBE.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 20/12/2010, 20h42   #1
Invité de passage
 
Inscription : décembre 2010
Messages : 8
Détails du profil
Informations personnelles :
Âge : 20

Informations forums :
Inscription : décembre 2010
Messages : 8
Points : 2
Points : 2
Par défaut Requète select * from where?

Bonjour à tous,
donc voilà simplement j'aimerais ouvrir ma table avec 2 contraintes:
Code :
TRA.Open "select * from TRAVAILLER where matricule=mat And idaffaire=id", CurrentProject.Connection, adOpenKeyset, adLockOptimistic
seulement le 'And' n'est pas pris en compte, quel est la modification nécessaire pour que ça marche?

Merci d'avance
Cordialement
Léo_Vinci est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/12/2010, 22h17   #2
Modérateur
 
Homme René MAROT
Inscription : octobre 2005
Messages : 5 458
Détails du profil
Informations personnelles :
Nom : Homme René MAROT
Localisation : Canada

Informations forums :
Inscription : octobre 2005
Messages : 5 458
Points : 7 531
Points : 7 531
Code :
TRA.Open "select * from TRAVAILLER where matricule=" & mat & " And idaffaire=" & id, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
Le & est le symbole de concaténation en Access.

J'imagine que Mat et Id sont des variables ou des champs de saisie qui contiennent le matricule et le IdAffaire recherchés.

Ce que tu avais écrit cherchait les enregistrements dont le matricule valais 'mat' et le idAffaire valait 'id'. Access n'interprête rien de ce qui est dans une chaîne de caractères. Par exemple "2+2" va rester 2+2 et ne deviendra jamais 4 automatiquement.

Note que si Matricule et idAffaire sont des champs textes alors il convient d'écrire :

Code :
TRA.Open "select * from TRAVAILLER where matricule=""" & mat & """ And idaffaire=""" & id & """"
, CurrentProject.Connection, adOpenKeyset, adLockOptimistic

ou encore

Code :
TRA.Open "select * from TRAVAILLER where matricule='" & mat & "' And idaffaire='" & id & "'"
, CurrentProject.Connection, adOpenKeyset, adLockOptimistic

Si ce sont des dates (peu probable :-).

Code :
TRA.Open "select * from TRAVAILLER where matricule=#" & mat & "# And idaffaire=#" & id & "#"
, CurrentProject.Connection, adOpenKeyset, adLockOptimistic

A+
__________________
Vous voulez une réponse rapide et efficace à vos questions téchniques ? Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
marot_r est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/12/2010, 11h01   #3
Invité de passage
 
Inscription : décembre 2010
Messages : 8
Détails du profil
Informations personnelles :
Âge : 20

Informations forums :
Inscription : décembre 2010
Messages : 8
Points : 2
Points : 2
ça marche parfaitement
Merci beaucoup
Léo_Vinci est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h11.


 
 
 
 
Partenaires

Hébergement Web