Problème de docmd.runsql sous VB Access
GuestCam
Messages postés
56
Date d'inscription
Statut
Membre
Dernière intervention
-
Marchello -
Marchello -
Salut et Bonne année 2007 à tous les développeurs.
En j'ai écrit un code pour tester la requête du code suivant:
Private Sub cmdExecuteQuery_Click()
Dim db As DAO.Database, rst As DAO.Recordset
Dim sqlString As String
' Ouverture de la base de données
Set db = DBEngine(0)(0)
nom = "Jean"
prenom = "Dupond"
'sSQL = " SELECT * FROM TEST " _
'& "Where Name =" & Chr(34) & logg & Chr(34)
sqlString = " SELECT Name FROM TEST " _
& "Where Name = " & Chr(34) & nom & Chr(34) & " AND SurName= " & Chr(34) & prenom & Chr(34)
Set rst = CurrentDb.OpenRecordset(sqlString)
If rst.RecordCount <> 0 Then
DoCmd.RunSQL (sqlString)
MsgBox "Je veux afficher la requête"
DoCmd.OpenQuery "sqlString", acNormal, acEdit
End If
End Sub
mais l'exécution s'arrête sur DoCmd.RunSQL(sqlString) avec pour messade d'erreur :"A RunSQL action requires an argument consisting of an SQL statement". merçi d'avance pour votre aide.
En j'ai écrit un code pour tester la requête du code suivant:
Private Sub cmdExecuteQuery_Click()
Dim db As DAO.Database, rst As DAO.Recordset
Dim sqlString As String
' Ouverture de la base de données
Set db = DBEngine(0)(0)
nom = "Jean"
prenom = "Dupond"
'sSQL = " SELECT * FROM TEST " _
'& "Where Name =" & Chr(34) & logg & Chr(34)
sqlString = " SELECT Name FROM TEST " _
& "Where Name = " & Chr(34) & nom & Chr(34) & " AND SurName= " & Chr(34) & prenom & Chr(34)
Set rst = CurrentDb.OpenRecordset(sqlString)
If rst.RecordCount <> 0 Then
DoCmd.RunSQL (sqlString)
MsgBox "Je veux afficher la requête"
DoCmd.OpenQuery "sqlString", acNormal, acEdit
End If
End Sub
mais l'exécution s'arrête sur DoCmd.RunSQL(sqlString) avec pour messade d'erreur :"A RunSQL action requires an argument consisting of an SQL statement". merçi d'avance pour votre aide.
A voir également:
- Problème de docmd.runsql sous VB Access
- Vb - Télécharger - Langages
- Vb cable - Télécharger - Audio & Musique
- Acer quick access - Forum Logiciels
- Access appdata - Guide
- Exemple base de données access à télécharger gratuit ✓ - Forum Logiciels
3 réponses
Salut,
la commande runsql n'exécute que des requêtes action (delete, update, insert...), car ACCESS ne sait pas où afficher les résultats d'une requête selection.
Si tu veux tester, il faut créer un formulaire avec une zone de liste, puis affecter à cette zone de liste la source de ta requête (nom_zone.rowsource=sqlstring), ensuite, à l'appui sur le bouton, tes données s'afficheront...
la commande runsql n'exécute que des requêtes action (delete, update, insert...), car ACCESS ne sait pas où afficher les résultats d'une requête selection.
Si tu veux tester, il faut créer un formulaire avec une zone de liste, puis affecter à cette zone de liste la source de ta requête (nom_zone.rowsource=sqlstring), ensuite, à l'appui sur le bouton, tes données s'afficheront...
Merçi Blux. Mais en cliquant sur le bouton la zone de liste reste vide pourtant le résultat de la requête n'est pas vide. J'utilise la ComboBox pour prendre la résultat; je ne sais pas s'il y a une propriété à modifier. Merçi encore.
Ben au lieu de lancer un runsql, tu mets la ligne suivante :
nom_zone.rowsource=sqlstring
en ayant bien sûr paramétré la zone de liste (et non liste déroulante), pour afficher au moins une colonne...
nom_zone.rowsource=sqlstring
en ayant bien sûr paramétré la zone de liste (et non liste déroulante), pour afficher au moins une colonne...
Merci Blux....Ça marche !!!
Private Sub Rechercher_Click()
Dim sSQL As String
Dim str1 As String
Dim str2 As String
str1 = Table.Value
str2 = Champ.Value
sSQL = "select Map.Table,Map.Champ,Map.ChampNo from Map Where Map.Table = '" & str1 & "' and Map.Champ = '" & str2 & "'"
Liste14.RowSource = sSQL
Liste14.SetFocus
End Sub
Private Sub Rechercher_Click()
Dim sSQL As String
Dim str1 As String
Dim str2 As String
str1 = Table.Value
str2 = Champ.Value
sSQL = "select Map.Table,Map.Champ,Map.ChampNo from Map Where Map.Table = '" & str1 & "' and Map.Champ = '" & str2 & "'"
Liste14.RowSource = sSQL
Liste14.SetFocus
End Sub