Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access
Access Forum d'entraide sur Microsoft Access. Avant de poster -> La F.A.Q Access
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 11/08/2011, 12h12   #1
Invité de passage
 
Inscription : juillet 2005
Messages : 15
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 15
Points : 4
Points : 4
Par défaut Suppression enregistrement via recordset

Bonjour

Je souhaite supprimer des enregistrements via une requête comprenant 3 critéres : une date (me.DateJour), un poste (Me.LPoste) et un numéro de machine (me.Numeroligne) mais je bute sur la syntaxe.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Dim LaTableCodSap As DAO.Database
Dim RstCodSap As DAO.Recordset
Set LaTableCodSap = CurrentDb

Set RstCodSap = LaTableCodSap.OpenRecordset("SELECT * FROM TSaArretCodSap WHERE DateSaisie=me.DateJour and NumLigne= me.NumeroLigne and Poste = me.Lposte")

' Evidemment cette syntaxe ne fonctionne pas !!

While Not RstCodSap.EOF
      RstCodSap.Delete
      RstCodSap.MoveNext
Wend
        
RstCodSap.Close
LaTableCodSap.Close
Set RstCodSap = Nothing
Set LaTableCodSap = Nothing
J'ai cherché dans les tutoriels, forums, livre, etc... mais je n'ai pas trouvé la solution

J'ai essayé avec des "morceaux de codes" comme par exemple :

Code :
Set RstCodSap = LaTableCodSap.OpenRecordset("SELECT * FROM TSaArretCodSap WHERE DateSaisie=#08/11/2011#")
Cela fonctionne en mettant le format américain pour la date, les enregistrements du 11/08/2011 sont bien supprimés.

Si quelqu'un peut m'orienter vers la solution.......

Merci à tous pour votre aide
TeoSitran est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/08/2011, 12h40   #2
Rédacteur
 
Avatar de LedZeppII
 
Homme
Maintenance données produits
Inscription : décembre 2005
Messages : 3 939
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Maintenance données produits
Secteur : Distribution

Informations forums :
Inscription : décembre 2005
Messages : 3 939
Points : 6 278
Points : 6 278
Bonjour,

ajoutes la déclaration de cette variable :
Puis, pour ouvrir le recordset :
Code :
1
2
3
4
5
sSQL = "SELECT * FROM TSaArretCodSap " & _
       "WHERE DateSaisie=#" & Format(me.DateJour, "mm/dd/yyyy") "# " & _
         "And NumLigne=" &  me.NumeroLigne & " " & _
         "And Poste = '" & me.Lposte & "'"
Set RstCodSap = LaTableCodSap.OpenRecordset(sSQL)
en supposant ...
DateSaisie de type Date/Heure
NumLigne de type Entier Long
Poste de type Texte.

A+
LedZeppII est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/08/2011, 14h27   #3
Invité de passage
 
Inscription : juillet 2005
Messages : 15
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 15
Points : 4
Points : 4
Bonjour

Avant tout merci pour ton aide

J'ai essayé le code mais il se plante à

"mm/dd/yyyy") "# "

le message est : Erreur de compilation
Attendu fin d'instruction


Pour info tes suppositions sont justes

Par avance merci
TeoSitran est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/08/2011, 15h43   #4
Invité de passage
 
Inscription : juillet 2005
Messages : 15
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 15
Points : 4
Points : 4
Bonjour

Cela fonctionne !!

Il manquait un &

cela donne :
Code :
sSQL = "SELECT * FROM TSaArretCodSap " & " WHERE DateSaisie=#" & Format(Me.DateJour, "mm/dd/yyyy") & "#  " & "And NumLigne=" & Me.NumeroLigne & " " & "And Poste = '" & Me.LPoste & "' "
Encore une fois un grand merci
TeoSitran est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h57.


 
 
 
 
Partenaires

Hébergement Web