Requete sous access

aaliyan Messages postés 104 Date d'inscription samedi 12 mars 2005 Statut Membre Dernière intervention 30 avril 2007 - 13 avril 2007 à 15:28
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 - 13 avril 2007 à 17:57
Voilà, je voudrais executer une requete sous access, mais cela ne fonctionne pas sur le update, voila le code :

  Fichier = "'" & Fichier & "'"
 
 
  sql = "select trig from utilisateur where nom=" & Var
  Set rs = db.OpenRecordset(sql)
  Var = rs.Fields("trig")
  Var = "'" & Var & "'"  sql "update fiche set trig_dem " & Var & " where titre = " & Fichier
  db.Execute sql
  db.Close

Merci d'avance.

27 réponses

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
13 avril 2007 à 15:34
"Ca ne fonctionne pas" : càd ??? Message d'erreur ? Qu'est-ce que ca te fait au juste ?

Le champ trig_dem ne serait-il pas de type texte ou date par zazard ?
0
aaliyan Messages postés 104 Date d'inscription samedi 12 mars 2005 Statut Membre Dernière intervention 30 avril 2007
13 avril 2007 à 15:37
Si c'est un type text. Le message est d'erreur est : erreur d'execution '424' Objet requis.
0
aaliyan Messages postés 104 Date d'inscription samedi 12 mars 2005 Statut Membre Dernière intervention 30 avril 2007
13 avril 2007 à 15:39
Lorsque je fais le dubuggueur pas à pas, dans ma variable sql, il y a :
"update fiche set trig_dem = 'Var' where titre = 'Fichier'"
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
13 avril 2007 à 16:08
Hum, ca peut venir du type de Var : s'il s'agit du type variant, il devrait planté ici : Var = "'" & Var & "'" puisque Var prend le type "Field" et non le type "String" !

C'est le seul truc qui peut clocher je pense puisque ta requête d'update me paraît correcte.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
aaliyan Messages postés 104 Date d'inscription samedi 12 mars 2005 Statut Membre Dernière intervention 30 avril 2007
13 avril 2007 à 16:14
Non, avec le debuggueur, il plante bien lors de db.execute.
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
13 avril 2007 à 16:29
Salut,
db non déclaré et non référencé
0
aaliyan Messages postés 104 Date d'inscription samedi 12 mars 2005 Statut Membre Dernière intervention 30 avril 2007
13 avril 2007 à 16:34
Je suis quand même pas idiot à ce point :

Dim db As Database
Dim sql As String
Dim rs As Recordset
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
13 avril 2007 à 16:38
et ou est le Set db=....?
nous on ne le voit pas
0
aaliyan Messages postés 104 Date d'inscription samedi 12 mars 2005 Statut Membre Dernière intervention 30 avril 2007
13 avril 2007 à 16:42
Set db = CurrentDb
il y est ne t'en fais pas pour ca.
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
13 avril 2007 à 16:44
alors c' est moi qui est idiot parce que je n' ai pa deviné...
0
aaliyan Messages postés 104 Date d'inscription samedi 12 mars 2005 Statut Membre Dernière intervention 30 avril 2007
13 avril 2007 à 16:47
Non c'est pas contre toi mais je m'enerve car je ne trouve pas de solution.
Cette erreur objet requis m'énerve.
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
13 avril 2007 à 16:48
cause probale


Var mot résérvé
et profites en pour déclarer ton recordset Dynamique
Set rs = db.OpenRecordset(sql,dbOpenDynamique)
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
13 avril 2007 à 16:50
Ah oui, Var peut-être un mot de la syntaxe de VB !

Sinon, après renommage, vérifie quand même bien si c'est bien un type String !
0
aaliyan Messages postés 104 Date d'inscription samedi 12 mars 2005 Statut Membre Dernière intervention 30 avril 2007
13 avril 2007 à 16:53
Toujours le même resultat, si je rajoute call devant db, cela me fait une erreur de compilation.
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
13 avril 2007 à 16:58
je pense à
DBEngine.Workspaces(0).BeginTrans
db.Execute sql


DBEngine.Workspaces(0).CommitTrans
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
13 avril 2007 à 17:01
sinon, changes de stratégie


recherches ton enregistrement puis avec ton rs fait un
update directement
0
aaliyan Messages postés 104 Date d'inscription samedi 12 mars 2005 Statut Membre Dernière intervention 30 avril 2007
13 avril 2007 à 17:03
Ca marche toujours pas
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
13 avril 2007 à 17:06
Mets nous ton code qui te fait le update au complet stp, ce sera plus simple :o)
0
aaliyan Messages postés 104 Date d'inscription samedi 12 mars 2005 Statut Membre Dernière intervention 30 avril 2007
13 avril 2007 à 17:12
Voila mon code depuis le début

Dim db As Database
Dim sql As String
Dim rs As Recordset
Dim ccat As Integer
Dim Wd As Object
Dim Chemin As String
Dim Fichier As String
Dim Var1 As String




On Error GoTo erreur:
 
  Set db = CurrentDb
  Fichier = "Formatage 2.1"
 
  Chemin = "C:" & Fichier & ".doc"
 
  Set Wd = CreateObject("Word.Application")
  With Wd
      .Visible = True
      .Documents.Open Chemin
      .Activate
  End With
 
  'remplissage nom
  If Wd.ActiveDocument.Bookmarks.Exists("Nom") = True Then
    Wd.ActiveDocument.Bookmarks("Nom").Select
  End If
  Call Wd.Selection.MoveDown(wdLine, 1, wdExtend)
  Call Wd.Selection.MoveLeft(wdCharacter, 2, wdExtend)
  Selection.Copy
  Var1 = Selection
  Var1 = "'" & Var1 & "'"
  Fichier = "'" & Fichier & "'"


 
  sql = "select trig from utilisateur where nom=" & Var1
  Set rs = db.OpenRecordset(sql)
  Var1 = rs.Fields("trig")
  Var1 = "'" & Var1 & "'"  sql "update fiche set trig_dem " & Var1 & " where titre = " & Fichier
  db.Execute sql
  db.Close
0
aaliyan Messages postés 104 Date d'inscription samedi 12 mars 2005 Statut Membre Dernière intervention 30 avril 2007
13 avril 2007 à 17:16
Petite modif:

Dim db As Database
Dim sql As String
Dim rs As Recordset
Dim ccat As Integer
Dim Wd As Object
Dim Chemin As String
Dim Fichier As String
Dim Var1 As String




On Error GoTo erreur:
 
  Set db = CurrentDb
  Fichier = "Formatage 2.1"
 
  Chemin = "C:" & Fichier & ".doc"
 
  Set Wd = CreateObject("Word.Application")
  With Wd
      .Visible = True
      .Documents.Open Chemin
      .Activate
  End With
 
  'remplissage nom
  If Wd.ActiveDocument.Bookmarks.Exists("Nom") = True Then
    Wd.ActiveDocument.Bookmarks("Nom").Select
  End If
  Call Wd.Selection.MoveDown(wdLine, 1, wdExtend)
  Call Wd.Selection.MoveLeft(wdCharacter, 2, wdExtend)
  Selection.Copy
  Var1 = Selection
  Var1 = "'" & Var1 & "'"
  Fichier = "'" & Fichier & "'"




  sql = "select trig from utilisateur where nom=" & Var1
  Set rs = db.OpenRecordset(sql)
  Var1 = rs.Fields("trig")

  <strike>Var1 = "'" & Var1 & "'"
</strike>  sql "update fiche set trig_dem " & Var1 & " where titre = " & Fichier
  db.Execute sql
  db.Close
0
Rejoignez-nous