Prob de supprimer des info dans une base

Résolu
Signaler
Messages postés
40
Date d'inscription
mardi 10 mai 2005
Statut
Membre
Dernière intervention
15 avril 2006
-
Messages postés
40
Date d'inscription
mardi 10 mai 2005
Statut
Membre
Dernière intervention
15 avril 2006
-
salut merci encore

jai un petit probleme



au niveau de se code



' connection a la base donne

Data4.DatabaseName = "C:\carte_fidelite.mdb"

Data4.RecordSource = "DELETE
* From communication WHERE communication.code_client like ' &
cdclient & '"



il veut supprimer les info de ma base de donnée access

je comprend pas

16 réponses

Messages postés
40
Date d'inscription
mardi 10 mai 2005
Statut
Membre
Dernière intervention
15 avril 2006

jai copier exactement ton code mais il ne marche pas je comprend pas c'est bizarre


c'est bien sa


Private Sub command_click()


Dim Data1 As Database


'Connexion à la base de données
Set Data1 = DBEngine.OpenDatabase("C:\carte_fidelite.mdb")


'Suppression de l'enregistrement
Data1.Execute "DELETE * From communication "


Data1.Close
Set Data1 = Nothing


End Sub
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 109 internautes nous ont dit merci ce mois-ci

Messages postés
40
Date d'inscription
mardi 10 mai 2005
Statut
Membre
Dernière intervention
15 avril 2006

il veut pas supprimer les info de ma base de donnée access



excusez moi
Messages postés
550
Date d'inscription
vendredi 5 janvier 2001
Statut
Membre
Dernière intervention
23 septembre 2006

Slu



s'il n'y a pas d'erreur c'est donc que la requete est bonne, hors, si
elle est bonne et que rien n'est supprimé, c'est que la clause WHERE
est trop restrictive

(supposant la conexion a la BD bien établie)


A+



<hr size="2" width="100%">Utilisateurs du forum : Merci de lire http://www.vbfrance.com/forum.v2.aspx?ID=445871

<hr size="2" width="100%">
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
47
DELETE est une instruction unique.
tu veux effacer une occurence.
ton occurence doit être parfaitement identifiée. donc un "=", pas un "like".
maintenant, rien ne dit que le problène ne vienne que de là. essai d'ajouter un champs pour voir déjà si tes appels base sont corrects. tu peux ensuite voir au niveau de ta syntaxe actuelle. personnellement, je créé une variable
dim sql as string
et cette variable, pour toi, n'aurait pas eu la même syntaxe au niveau des côtes :
sql = "DELETE * FROM communication WHERE communication.code_client like '"
& cdclient & "'"

PCPT
Messages postés
6063
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
37
Salut



"DELETE * From communication WHERE communication.code_client like ' & cdclient & '"



Dans la source on ne mets pas que des ordres SELECT ???

De plus le DELETE * FROM n'existe pas en SQL

C'est DELETE FROM

A moins qu'access accepte ?



Esperant avoir poussé plusloin le smilblick?
Messages postés
205
Date d'inscription
samedi 22 janvier 2005
Statut
Membre
Dernière intervention
28 novembre 2005
2
Oui access accepte le *

Deplus j'appuye
Messages postés
809
Date d'inscription
mercredi 11 octobre 2000
Statut
Membre
Dernière intervention
29 septembre 2010
9
salut,











' connection a la base donne

Data4.DatabaseName = "C:\carte_fidelite.mdb"

Data4.RecordSource "DELETE * From communication WHERE communication.code_client" & cdclient



La clause like n'est pas adaptée dans ce cas...



=> SELECT * FROM Adresses where nom LIKE 'DU%'


- Le caractère % remplace un ou plusieurs caractères


- Le mot réservé LIKE (en Français COMME) remplace l'égalité quand la comparaison
n'est pas fixe (en effet on ne connait pas au départ tous les noms commençant par DU
alors que dans le cas précédent dans le cas précédent c'était DUPONT)



Or ici c'est pas un "comme" que tu veux mais bien un "égal"



Nb: je suis d'accord avec PtitGrumo, * est accepté par Access



++



Zlub
Messages postés
40
Date d'inscription
mardi 10 mai 2005
Statut
Membre
Dernière intervention
15 avril 2006

salut a tous merci pour tous les reponses mai sa ne marche toujours pas
donc jai essayer de faire une feuille a part avec un controle data et un boutton de commande voici ce que jai mis dedans

Private Sub Command1_Click()



Data1.DatabaseName = "C:\carte_fidelite.mdb"Data1.RecordSource "DELETE * From communication WHERE communication.code_client 2"




End Sub

il fait rien
Messages postés
6063
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
37
salut



dans la datasource on peut mettre des delete ?



pourquoi

tu ne passe pas par un recordeset pour ta suppression?
Messages postés
40
Date d'inscription
mardi 10 mai 2005
Statut
Membre
Dernière intervention
15 avril 2006

mais je fais comment explique moi stp
Messages postés
6063
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
37
PUBLIC connADO As New adodb.Connection

PUBLIC rsADO As New adodb.Recordset

PUBLIC cmdADO As New adodb.Command

PUBLIC strsql As String



Public Sub Main()

connADO.ConnectionString =
"Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data
Source=" & App.path & "\bdd.mdb"

frmSplash.Show



end sub



public sub .......................

connADO.Open

cmdADO.ActiveConnection = connADO



strsql = "delete from ......................."



cmdADO.CommandText = strsql

cmdADO.Execute

connADO.Close



end sub



Moi je met les 4 dim en public dans un module

et la chaine de connection dans l'initiation le sub main.



Comme ca j'ai qu'un endroit a changer



Je n'utilises jamais les controle adodc
Messages postés
40
Date d'inscription
mardi 10 mai 2005
Statut
Membre
Dernière intervention
15 avril 2006

merci

serieu je comprend a ton code un de detaille pour un débutant

Private Sub command_click()


Data1.DatabaseName = "C:\carte_fidelite.mdb"
Data1.RecordSource = "delete* From communication "

DBGrid1.Columns(1).Width = 4000



End Sub
Messages postés
40
Date d'inscription
mardi 10 mai 2005
Statut
Membre
Dernière intervention
15 avril 2006

je comprend pas excuse moi
Messages postés
79
Date d'inscription
mardi 4 juin 2002
Statut
Membre
Dernière intervention
29 juillet 2005

Bonjour,



Au lieu d'utiliser un control "Data", essaies cette syntaxe :



Dim Data1 as Database



Connexion à la base de données

Set Data1 = DBEngine.OpenDatabase("C:\carte_fidelite.mdb")



Suppression de l'enregistrement

Data1.Execute "DELETE * From communication WHERE communication.code_client = 2"


Data1.Close

Set Data1 = Nothing


Ricks27
Messages postés
79
Date d'inscription
mardi 4 juin 2002
Statut
Membre
Dernière intervention
29 juillet 2005

Oui ca semble correcte.



As tu un message d'erreur?

Que se passe t'il exactement?

Qu'entend tu par "Ca ne marche pas"?

Ricks27
Messages postés
40
Date d'inscription
mardi 10 mai 2005
Statut
Membre
Dernière intervention
15 avril 2006

excuse moi sa marche
merci a tous et bon developpement