Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

aide pour sql

3 réponses
Avatar
gérard
bonjour
debutant j'ai un peu de mal
ca ne marche pas

SQL = "SELECT *From EMPLOYES WHERE (((EMPLOYeS.NOM)='& varnom & ') AND
((EMPLOYeS.PRENOM)='& varprenom &'));"
RC.OpenRecordset SQL

merci de votre aide
gerard

3 réponses

Avatar
Jean-marc
gérard wrote:
bonjour
debutant j'ai un peu de mal
ca ne marche pas

SQL = "SELECT *From EMPLOYES WHERE (((EMPLOYeS.NOM)='& varnom & ') AND
((EMPLOYeS.PRENOM)='& varprenom &'));"
RC.OpenRecordset SQL

merci de votre aide
gerard



Hello,

voici la bonne syntaxe, le tout est de bien positionner les
quillemets et les quotes:

SQLQuery = "SELECT * FROM Employes "
SQLQuery = SQLQuery & "WHERE nom = '" & varNom & "' AND "
SQLQuery = SQLQuery & " prenom = '" & varPrenom & "'"


Et voici un exemple complet, testé et fonctionnel :

Dim db As Database
Dim rs As Recordset
Dim SQLQuery As String
Dim varNom As String
Dim varPrenom As String
Dim i As Long

varNom = Text1.Text
varPrenom = Text2.Text

Set db = OpenDatabase("c:employes.mdb")

SQLQuery = "SELECT * FROM Employes "
SQLQuery = SQLQuery & "WHERE nom = '" & varNom & "' AND "
SQLQuery = SQLQuery & " prenom = '" & varPrenom & "'"

Set rs = db.OpenRecordset(SQLQuery)
If (rs.EOF) And (rs.BOF) Then
Debug.Print "pas de records"
Else
rs.MoveFirst
While Not rs.EOF
For i = 0 To rs.Fields.Count - 1
Debug.Print rs.Fields(i) & " ";
Next i
Debug.Print
rs.MoveNext
Wend
End If


Bon SQL :-)


--
Jean-marc Noury (jean_marc_n2)
Microsoft MVP - Visual Basic
mailto: remove '_no_spam_' ;
FAQ VB: http://faq.vb.free.fr/
Avatar
Jacques93
Bonjour gérard,
gérard a écrit :
bonjour
debutant j'ai un peu de mal
ca ne marche pas

SQL = "SELECT *From EMPLOYES WHERE (((EMPLOYeS.NOM)='& varnom & ') AND
((EMPLOYeS.PRENOM)='& varprenom &'));"
RC.OpenRecordset SQL

merci de votre aide
gerard



En complément de la réponse de Jean-Marc, une variante utilisant ADO
(ce qui ne change rien à syntaxe de la requête SQL ;-) ) :

Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim stSql As String, Data_Source As String
Dim varNom As String, varPrenom As String

varNom = Text1.Text
varPrenom = Text2.Text
Data_Source = App.Path & "Bd1.mdb"

Set cn = New ADODB.Connection
cn.Provider = "Microsoft.Jet.OLEDB.4.0;"
cn.ConnectionString = "Data Source=" & Data_Source & _
";User Id=;Password=;"
cn.Open
stSql = "SELECT * FROM Employes WHERE Nom ='" & varNom & _
"' AND Prenom = '" & varPrenom & "'"
Set rs = New ADODB.Recordset
rs.Open stSql, cn, adOpenDynamic
If Not rs.EOF And Not rs.BOF Then
With rs
.MoveFirst
While Not .EOF
Debug.Print .Fields("Nom") & " " & .Fields("Prenom")
.MoveNext
Wend
End With
End If
rs.Close
cn.Close


--
Cordialement,

Jacques.
Avatar
gérard
Merci
jean-marc, jacques93

c'etait comme vous l'avez vu surtout un probleme de cote '
merci

"gérard" a écrit dans le message de news:
464f0bfa$0$27381$
bonjour
debutant j'ai un peu de mal
ca ne marche pas

SQL = "SELECT *From EMPLOYES WHERE (((EMPLOYeS.NOM)='& varnom & ') AND
((EMPLOYeS.PRENOM)='& varprenom &'));"
RC.OpenRecordset SQL

merci de votre aide
gerard