Effacer des données par rapport au moi

Résolu
petiflamand Messages postés 675 Date d'inscription samedi 31 mai 2003 Statut Membre Dernière intervention 26 mai 2013 - 8 avril 2007 à 07:52
petiflamand Messages postés 675 Date d'inscription samedi 31 mai 2003 Statut Membre Dernière intervention 26 mai 2013 - 8 avril 2007 à 11:21
Bonjour , j' ai une base de donnée acces , dans cette base de données j'ai une table avec plusieur champs.
donc j'ai dans ma table TICKET les champs suivant
numero,prix,date,payer,nom,ect

chaque fin de moi je voudrais effacer les ticket du moi precedent donc on est le par exemple

30/04/2007 je fais ma cloture et a ce moment la je veux effacer tout les tickets qui ce trouve dans la base de données pour le mois de mars.Donc je voudrais savoir comment je peu faire.
car les données de date sont dans le format "30/04/2007"
je voulais faire comme ceci




eff = Format(rs!Date, "mm")
effe = Format(rs!Date, "mm") -1
db.Execute "DELETE FROM ticket WHERE date ='" & effe "' "
mais comme vous devez vous douter sa ne marche pas.
Pouvez vous me dire comment je doit faire.
Merci

9 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
8 avril 2007 à 11:11
Oups, pas vu que tu voulais supprimer tout les enregistrements de mars !

Donc là c'est plus simple :

"DELETE FROM ticket WHERE MONTH(date) = 3"
3
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
8 avril 2007 à 08:32
Bonjour,

Une date n'est pas une chaine de caractères (à moins que le champ correspondant de ta table n'ait été défini en chaîne de caractères et pas en date).

Je te suggère donc :de faire un msgbox de "DELETE FROM ticket WHERE date ='" & effe "' "
et de corriger la syntaxe de cette requête en conséquence

je te suggère également de faire, directement depuis ta table, une requête manuelle jusqu'à trouver la donne syntaxe. (c'est un réflexe qu'il faut toujours avoir)

Regarde ce que donne ce msgbox :

Private Sub Command2_Click()
  effe = "01/01/2000"
  MsgBox "DELETE FROM ticket WHERE date = " & effe
End Sub
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
8 avril 2007 à 08:44
9a y est ?

Maintenant regarde ceci :

Private Sub Command2_Click()
  effe = "01/01/2000"
  MsgBox "DELETE FROM ticket WHERE date = '" & effe & "'"
End Sub


 
0
petiflamand Messages postés 675 Date d'inscription samedi 31 mai 2003 Statut Membre Dernière intervention 26 mai 2013 1
8 avril 2007 à 09:21
Merci pour la réponse , mais sa ne fonctionne pas , voici ce que je fait
Private Sub Command12_Click()
 Dim g As String
 effe = "02/01/2007"
 
  'MsgBox "DELETE FROM ticket WHERE date = '" & effe & "'"
 'MsgBox "DELETE FROM ticket WHERE date = " & effe
Set db = OpenDatabase(App.Path & "\manager.mdb")
Set rs = db.OpenRecordset("ticket")
If rs.RecordCount > 0 Then
rs.MoveFirst
Do Until rs.EOF = True
For i = 1 To 31
 MsgBox CDate(rs!Date)
If i < 10 Then
qdg = "0" & i
Else
qdg = i
End If
 g = Format(Date, "mm")
 f = g - 1
 If f < 10 Then f = "0" & f
 'MsgBox f


If Format(rs!Date, "mm") = f Then
eff = qdg & "/" & f & "/" & Format(rs!Date, "yyyy")
wxcvb = CDate(effe)
db.Execute "DELETE FROM ticket WHERE date =" & wxcvb
'rs.MoveFirst
End If
rs.MoveNext
Next i


Loop
End If
End Sub
0

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

Posez votre question
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
8 avril 2007 à 09:33
db.Execute "DELETE FROM ticket WHERE date = '" & wxcvb& "'"
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
8 avril 2007 à 09:34
pardon (un espace manquant) :
db.Execute "DELETE FROM ticket WHERE date = '" & wxcvb & "'"
0
petiflamand Messages postés 675 Date d'inscription samedi 31 mai 2003 Statut Membre Dernière intervention 26 mai 2013 1
8 avril 2007 à 09:37
Sa ne fonctionne pas non plus ,
Type de donnée incopatible
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
8 avril 2007 à 11:10
Si ton champs date est au format DateTime, tu n'y accède pas comme une chaîne de caractère : il faut utiliser le dièse, et le format américain :

wxcvb = format(Month(wxcvb), "00") & "/" & format(Day(wxcvb), "00") & "/" & format(Year(wxcvb), "0000")
db.Execute "DELETE FROM ticket WHERE date = #" & wxcvb & "#"
0
petiflamand Messages postés 675 Date d'inscription samedi 31 mai 2003 Statut Membre Dernière intervention 26 mai 2013 1
8 avril 2007 à 11:21
Merci beaucoup
0
Rejoignez-nous