C'est quoi la faute dans mon code SQL?
thedavix
Messages postés
466
Statut
Membre
-
thedavix Messages postés 466 Statut Membre -
thedavix Messages postés 466 Statut Membre -
Voila j'ai fait un bouton dans un formulaire access,
qui est sencé prendre tout les formulaires qui sont répertorié dans MsysObects et copiers les noms dans une table, alors j'ai écrit ce code
---------
Dim SQLTxt As String
Dim SQLSelect As String
SQLSelect = "SELECT MSysObjects.Name FROM MSysObjects WHERE ((MSysObjects.Type)=-32768) ORDER BY MSysObjects.Name; "
SQLTxt = "INSERT INTO tTest(tables) VALUES (SQLSelect) "
Mais ca marche pas.. il ne se passe rien...
qqun peut m'expliquer?
" Le vrai savant n'est pas celui qui apprend,
mais celui qui comprend... " =;o)
qui est sencé prendre tout les formulaires qui sont répertorié dans MsysObects et copiers les noms dans une table, alors j'ai écrit ce code
---------
Dim SQLTxt As String
Dim SQLSelect As String
SQLSelect = "SELECT MSysObjects.Name FROM MSysObjects WHERE ((MSysObjects.Type)=-32768) ORDER BY MSysObjects.Name; "
SQLTxt = "INSERT INTO tTest(tables) VALUES (SQLSelect) "
Mais ca marche pas.. il ne se passe rien...
qqun peut m'expliquer?
" Le vrai savant n'est pas celui qui apprend,
mais celui qui comprend... " =;o)
A voir également:
- C'est quoi la faute dans mon code SQL?
- Code ascii - Guide
- Code puk bloqué - Guide
- Comment déverrouiller un téléphone quand on a oublié le code - Guide
- Code activation windows 10 - Guide
- Scanner qr code pc - Guide
4 réponses
SQLSelect c'est juste un chaîne.
faut que tu crées un objet QueryDef, même temporaire, à partir de ça, et seulement ensuite tu insères, sinon, tout simplement:
insert into tTest(tables)
select Name FROM MSysObjects
WHERE Type=-32768
ORDER BY Name;
kinder.surprise,
le maton du matou
faut que tu crées un objet QueryDef, même temporaire, à partir de ça, et seulement ensuite tu insères, sinon, tout simplement:
insert into tTest(tables)
select Name FROM MSysObjects
WHERE Type=-32768
ORDER BY Name;
kinder.surprise,
le maton du matou
je n'ai plus trop le temps là mais c'était juste pour te montrer, dans la deuxième partie, qu'en une seule requête tu fais tout, pas la peine de sélectionner d'abord puis insérer, et par ailleurs, QueryDef il faut que tu jètes un oeil dans la hiérarchie d'objets DAO.
Sinon, jette aussi un oeil sur Execute, des bricoles comme ça.
Tu a une requête action devant toi, donc typiquement, tu n'as pas besoin qu'elle te renvoie d'autre résultat que "OK ça a marché" en gros, donc, l'objet recordset n'est pas le plus aproprié.
Désolé, le forum en vrac toute la journée ne m'a pas fait gagner de temps, mais avec ces pistes là tu peux sans problème régler tout ça assez rapidement
kinder.surprise,
le maton du matou
Sinon, jette aussi un oeil sur Execute, des bricoles comme ça.
Tu a une requête action devant toi, donc typiquement, tu n'as pas besoin qu'elle te renvoie d'autre résultat que "OK ça a marché" en gros, donc, l'objet recordset n'est pas le plus aproprié.
Désolé, le forum en vrac toute la journée ne m'a pas fait gagner de temps, mais avec ces pistes là tu peux sans problème régler tout ça assez rapidement
kinder.surprise,
le maton du matou
voila mon code c'est quoi que je dois rajouter et ou?
-------------
Private Sub Command12_Click()
Dim SQLTxt As String
Dim SQLSelect As String
Dim bds As Database
Dim rst As Recordset
SQLSelect = "SELECT MSysObjects.Name FROM MSysObjects WHERE ((MSysObjects.Type)=-32768) ORDER BY MSysObjects.Name; "
Set bds = CurrentDb
SQLTxt = "INSERT INTO tTest(tables) VALUES (SQLSelect) "
Set rst = bds.OpenRecordset(SQLTxt)
End Sub
---------
je te remercie vraiment si tu as le temps de m'aider.. sinon tampis..
" Le vrai savant n'est pas celui qui apprend,
mais celui qui comprend... " =;o)